[26] [DFN[[[HLink]]]] は、 [[XML文書]]において[[リンク]]として機能する[[要素]]や[[属性]]を記述する
[[XML]] [[文書型]]として [[W3C]] 旧 [[HTML WG]] (後の [[XHTML2 WG]]) が提案していたものでした。
政治的問題に巻き込まれた末、完成しないまま破棄されました。

* 仕様書

[REFS[
- [1] [CITE@en[HLink]] ([TIME[2010-12-16 20:58:08 +09:00]] 版) <http://www.w3.org/TR/hlink/#s_hlink_module>
]REFS]

* 名前空間 URL

[2] [[HLink]] の[[名前空間URL]] は [DFN[[CODE(URI)[[[http://www.w3.org/2002/06/hlink]]]]]] でした
[SRC[>>1 2.]]。

* XHTML モジュール

[27] [[XHTMLモジュール]]「[DFN[[RUBYB[HLink モジュール]@en[The HLink Module]]]]」が定義されていました [SRC[>>1 3.]]。
この[[モジュール]]には、 [CODE(XMLe)@en[[[hlinks]]]] [[要素]]と [CODE(XMLe)@en[[[hlink]]]] [[要素]]と、
そのすべての[[属性]]が含められていました。

* 要素

[4] 2つの[[要素]]が定義されていました [SRC[>>1 3.]]。

[FIG(short list)[
- [CODE(XMLe)@en[[[hlinks]]]]
- [CODE(XMLe)@en[[[hlink]]]]
]FIG]

* 大域属性

[29] [[HLink]] の[[名前空間]]に属する [CODE(XMLa)@en[[[hlink:definition]]]]
[[属性]]が定義されていました。

* スキーマ

[31] [[XHTML m12n]] のフレームワークに沿った形の [[XML DTD]]、
[[RELAX NG]]、[[XML Schema]] の[[スキーマ]]が仕様に含まれていました。

[32] それぞれと仕様書本文とで ([[スキーマ言語]]としての表現力の差異はやむを得ないとしても)
内容が一致しているか疑わしいなど品質に不安があるところは、
[[XHTML2 WG]] のプロダクトとしては一般的なレベルです。

[5] [[文書]]の適合性は明確には規定されていませんが、 HLink [[DTD]] 
を使うための[[文書型宣言]]は、
[PRE(XML code)[
<!DOCTYPE hlinks PUBLIC "-//W3C//DTD HLink 1.0//EN" "http://www.w3.org/2002/06/hlink.dtd">
]PRE]
となります。

[33] >>5 の [[DTD]] は、 [[HLinkモジュール]]のものです。
[[XHTML m12n]] のフレームワークに厳密に従うなら [[HLinkモジュール]]には本来[[データ型モジュール]]や
[[DTDドライバー]]に含まれていなければならないはずの部分まで含まれているので、
>>5 のように[[文書型宣言]]に直接指定できます。なお [[QNameモジュール]]だけはなぜか別の[[外部引数実体]]に分かれています。

;; [34] [[XHTML m12n]] のフレームワークは [[XHTML2 WG]] 自身が正しく運用できていなかったので、
驚くことはありません。

* MIME 型

[30] 公式には [[MIME型]]は定義されていませんでした。

[3] 非公式には [CODE(MIME)@en[[[application/x-hlink+xml]]]] 
が使われることもありました。

* 歴史

[36] [[HLink]] は、 [[W3C]] [[HTML WG]] (後の [[XHTML2 WG]])
によって2002年に発表されました。 

[37] [[HTML WG]] は [[HTML]] に相当する機能を有する新たな[[マーク付け言語]]を各種
[[XML]] 技術をベースに構築することを目指していました。当初は[[ハイパーリンク]]は [[XLink]]
を採用することを検討していたようで、 [[XHTML m12n]] (1999) の [[DTD]]
にもその痕跡が見られます。

[10] 
後に公開された[TIME[平成12(2000)年][2000]]当時の [[XHTML 2.0]]
[[DTD]] 案は実際に [[XLink]] を組み込んでいました。
[SEE[ [[XHTML m12n]], [[XHTML 2.0]] ]]


[38] ところが [[XLink]] では [[HTML WG]] の考える要件を満たせず、
[[XLink]] の [[WG]] がそれを改善する意思がないことから、 [[HTML WG]]
が代替仕様を開発するに至りました [SRC[>>25]]。

[39] [[HLink]] と [[XLink]] を比較すると、 [[XLink]]
は[[名前空間]]によって修飾された単一の[[属性]]によってあらゆる[[リンク]]を識別するのに対し、
[[HLink]] は [[CSS]] のような外部から与えた指定によって任意の[[属性]]の情報を[[リンク]]にできます。
任意の名前を指定できるというだけでなく、1つの[[要素]]に複数の[[リンク]]を記述できるという点が
[[HTML WG]] にとっては重要だったようです [SRC[>>49, >>51]]。 [[XHTML2]] では任意の[[要素]]において
[CODE(HTMLa)@en[[[href]]]] [[属性]]で[[ハイパーリンク]]を、
[CODE(HTMLa)@en[[[src]]]] [[属性]]で[[画像]]等の埋め込みを、
同時に指定することを認めていました。

[40] [[HLink]] を提案した [[HTML WG]] に対し、 [[W3C]] [[TAG]] は [[XLink]]
を使うべきであると主張します [SRC[>>17]]。 [[HTML WG]] は反論しますが、
[[CSS]] によって [[HLink]] と似たような外部的な[[リンク]]の指定を行う
[[Clink]] [WEAK[([[Opera]] により提案、実装されていたもの)]]
も巻き込んで大きな議論となりました。

;; [41] 皮肉なことに、 [[XLink]]、[[HLink]]、[[Clink]] のいずれも結局は大きな支持を集められず、
衰退していきます。

;; [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]] [SRC[>>23]] が当時の [[ED]]
を元に出版されました。ここに名実ともに [[HLink]] の歴史が幕を下ろしました。

[REFS[
- [35] [CITE@en[HLink: Link recognition for the XHTML Family]] ([TIME[2002-09-13 07:11:51 +09:00]] 版) <http://www.w3.org/TR/2002/WD-hlink-20020913/>
- [49] [CITE@en[Announcing HLink: rationale]] ([[Steven Pemberton]] 著, [TIME[2002-09-14 01:52:46 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-tag/2002Sep/0108.html>
- [51] [CITE@en[XLink: the architectural issue]] ([[Steven Pemberton]] 著, [TIME[2002-09-27 08:34:49 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-tag/2002Sep/0246.html>
- [48] [CITE@en[Re: Some questions on HLink]] ([[Masayasu Ishikawa]] 著, [TIME[2002-09-17 12:21:53 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-tag/2002Sep/0128.html>
- [6] ''HTML Working Group Voyager Issue Tracking System - HLink'' <http://hades.mn.aptest.com/cgi-bin/voyager-issues/HLink?user=guest>
- [17]
[CITE@en[TAG Comments on XHTML 2.0 and HLink]] ([[Norman Walsh]] 著, [CODE[2002-09-26 09:29:58 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-tag/2002Sep/0183.html>
- [18]
[CITE@en[Re: TAG Comments on XHTML 2.0 and HLink]] ([[Steven Pemberton]] 著, [TIME[2002-09-26 21:26:35 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-tag/2002Sep/0188.html>
- [25] [CITE@en[Re: TAG Comments on XHTML 2.0 and HLink]]
( ([[Shane McCarron]] 著, [TIME[2002-09-26 23:20:01 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-tag/2002Sep/0190.html>
- [13]
[CITE[HLink: Link recognition for the XHTML Family]] <http://hades.mn.aptest.com/htmlwg/hlink/>
-- 2003年8月1日版
- [46] [CITE@en[Sample XHTML 2.0 plus MathML 2.0 plus SVG 1.1 plus EGIX plus ContactXML plus HLink plus RDF plus XML Character Entities document]] ([[Masayasu Ishikawa]], [TIME[2005-10-13]])
<http://www.w3.org/People/mimasa/test/xhtml2/hybrid>
- [21] [CITE@en[XHTML™ 2.0 - Introduction]]
( ([TIME[2010-12-17 04:25:02 +09:00]] 版))
<http://www.w3.org/TR/2010/NOTE-xhtml2-20101216/introduction.html#s_intro_linking>
- [23] [CITE@en[HLink]] ([TIME[2010-12-17 05:58:08 +09:00]] 版) <http://www.w3.org/TR/2010/NOTE-hlink-20101216/>
- [14]
[CITE[HTML/HLink - ESW Wiki]] ([TIME[2008-01-18 23:27:25 +09:00]] 版) <http://esw.w3.org/topic/HTML/HLink>
- [19] [CITE[HLink - HTML WG Wiki]]
( ([TIME[2010-12-17 12:05:15 +09:00]] 版))
<http://www.w3.org/html/wg/wiki/HLink>
]REFS]

[45] 2008年に [[Mike Smith]] は、当時既に [[XML]] 関連技術が [[Web]] 
の実態から乖離し始めていたことを示している点で重大な事件だった [SRC[>>14]]
と振り返っています。

* メモ

[8] なんか、 HLink ってある意味 [[HyTime]] だよなあ・・とふと思いました。

[9] とりあえず HLink と [[XLink]] は対立する技術だと思ってる香具師は出直して来いっていう感じですが。

[11]
>>8 某 [[ML]] での [[mimasa]] 氏の投稿によると、こりゃー[[体系的形式]]の縮小版じゃねーかよという声があって、それは確かにその通りであるというお話でした。

[12]
仮にもし状況が変わって HLink が標準化されることになるのであれば、別の名前にしてほしいものです。
[Q[Hlink]] って言葉は色々なものの略語で既に使われすぎてて検索したらうざい。

[52] [CITE@en[HLink: First Call Comments]]
( ([[Ian Hickson]] 著, [TIME[2002-09-17 08:11:38 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-html-editor/2002JulSep/0124.html>

[7] [[HTML]] の[[ハイパーリンク]]機能を [[explain]] しようとしていた、後の時代の
[[Extensible Web]] の考え方の先駆け・・・なんですかね?


[15] 
[CITE[HLink]] という独立した仕様にせずに
[CITE[XHTML 2.0]]
の1章としてしれっと出してればあれほどの騒ぎにならなかった、とかないかなあw


[16] 
[CITE[Minutes of 16 Jan 2003 discussion on Linking in XML Documents]], [TIME[2003-01-22T16:05:59.000Z]], [TIME[2024-08-20T09:25:39.146Z]] <https://www.w3.org/2003/01/16-tag-xlink>

