application/x-hlink+xml

HLink (Web)

[26] HLink は、 XML文書においてリンクとして機能する要素属性を記述する XML 文書型として W3CHTML WG (後の XHTML2 WG) が提案していたものでした。 政治的問題に巻き込まれた末、完成しないまま破棄されました。

仕様書

名前空間 URL

[2] HLink名前空間URLhttp://www.w3.org/2002/06/hlink でした >>1 2.

XHTML モジュール

[27] XHTMLモジュールHLink モジュール (The HLink Module) 」が定義されていました >>1 3.。 このモジュールには、 hlinks 要素hlink 要素と、 そのすべての属性が含められていました。

要素

[4] 2つの要素が定義されていました >>1 3.

大域属性

[29] HLink名前空間に属する hlink:definition 属性が定義されていました。

スキーマ

[31] XHTML m12n のフレームワークに沿った形の XML DTDRELAX NGXML Schemaスキーマが仕様に含まれていました。

[32] それぞれと仕様書本文とで (スキーマ言語としての表現力の差異はやむを得ないとしても) 内容が一致しているか疑わしいなど品質に不安があるところは、 XHTML2 WG のプロダクトとしては一般的なレベルです。

[5] 文書の適合性は明確には規定されていませんが、 HLink DTD を使うための文書型宣言は、

<!DOCTYPE hlinks PUBLIC "-//W3C//DTD HLink 1.0//EN" "http://www.w3.org/2002/06/hlink.dtd">
となります。

[33] >>5DTD は、 HLinkモジュールのものです。 XHTML m12n のフレームワークに厳密に従うなら HLinkモジュールには本来データ型モジュールDTDドライバーに含まれていなければならないはずの部分まで含まれているので、 >>5 のように文書型宣言に直接指定できます。なお QNameモジュールだけはなぜか別の外部引数実体に分かれています。

[34] XHTML m12n のフレームワークは XHTML2 WG 自身が正しく運用できていなかったので、 驚くことはありません。

MIME 型

[30] 公式には MIME型は定義されていませんでした。

[3] 非公式には application/x-hlink+xml が使われることもありました。

歴史

[36] HLink は、 W3C HTML WG (後の XHTML2 WG) によって2002年に発表されました。

[37] HTML WGHTML に相当する機能を有する新たなマーク付け言語を各種 XML 技術をベースに構築することを目指していました。当初はハイパーリンクXLink を採用することを検討していたようで、 XHTML m12n (1999) の DTD にもその痕跡が見られます。

[10] 後に公開された当時の XHTML 2.0 DTD 案は実際に XLink を組み込んでいました。 XHTML m12n, XHTML 2.0

[38] ところが XLink では HTML WG の考える要件を満たせず、 XLinkWG がそれを改善する意思がないことから、 HTML WG が代替仕様を開発するに至りました >>25

[39] HLinkXLink を比較すると、 XLink名前空間によって修飾された単一の属性によってあらゆるリンクを識別するのに対し、 HLinkCSS のような外部から与えた指定によって任意の属性の情報をリンクにできます。 任意の名前を指定できるというだけでなく、1つの要素に複数のリンクを記述できるという点が HTML WG にとっては重要だったようです >>49, >>51XHTML2 では任意の要素において href 属性ハイパーリンクを、 src 属性画像等の埋め込みを、 同時に指定することを認めていました。

[40] HLink を提案した HTML WG に対し、 W3C TAGXLink を使うべきであると主張します >>17HTML WG は反論しますが、 CSS によって HLink と似たような外部的なリンクの指定を行う Clink (Opera により提案、実装されていたもの) も巻き込んで大きな議論となりました。

[41] 皮肉なことに、 XLinkHLinkClink のいずれも結局は大きな支持を集められず、 衰退していきます。
[47] XLink の初期の案や、その元となった HyTime は、 リンクとして機能する属性名を他の属性に指定する (そしてそれを DTD既定値として間接的に指定する) 形を採っていました。 XLink の関係者にとっては、 一度断念した手法を蒸し返されたような思いだったのかもしれません。
[50] ところで当時のほとんどの W3C WG は非公開でした。 一部の議論は公開メーリングリストで行われていて現在でも読むことができますが、 HLink WD が出版される前のやり取りなどは闇の中です。

[42] HTML WG はその後も HLink を作業項目に挙げ続け、 ED としては微修正を加えていますが、改訂版の WD を出すことはできずに放置しています。

[43] 政治的に作業を継続できない状況にあったのか、それとも他の HTML WG のプロダクト同様に作業が滞っていて放置されているように見えていただけなのかは不明です。

[44] 最終的に HTML WG から改組された XHTML2 WG も支持を集められずに解散し、 2010年には作業終結を示す WG Note >>23 が当時の ED を元に出版されました。ここに名実ともに HLink の歴史が幕を下ろしました。

[45] 2008年に Mike Smith は、当時既に XML 関連技術が Web の実態から乖離し始めていたことを示している点で重大な事件だった >>14 と振り返っています。

メモ

[8] なんか、 HLink ってある意味 HyTime だよなあ・・とふと思いました。

[9] とりあえず HLink と XLink は対立する技術だと思ってる香具師は出直して来いっていう感じですが。

[11] >>8ML での mimasa 氏の投稿によると、こりゃー体系的形式の縮小版じゃねーかよという声があって、それは確かにその通りであるというお話でした。

[12] 仮にもし状況が変わって HLink が標準化されることになるのであれば、別の名前にしてほしいものです。 Hlink って言葉は色々なものの略語で既に使われすぎてて検索したらうざい。

[52] HLink: First Call Comments ( (Ian Hickson 著, 版)) http://lists.w3.org/Archives/Public/www-html-editor/2002JulSep/0124.html

[7] HTMLハイパーリンク機能を explain しようとしていた、後の時代の Extensible Web の考え方の先駆け・・・なんですかね?

[15] HLink という独立した仕様にせずに XHTML 2.0 の1章としてしれっと出してればあれほどの騒ぎにならなかった、とかないかなあw

[16] Minutes of 16 Jan 2003 discussion on Linking in XML Documents, , https://www.w3.org/2003/01/16-tag-xlink