ホスト言語

ホスト言語 (XML)

[2] 複数のマーク付け言語が混在する場合にあって、文書型を全体として規定することとなる基調となる言語、 あるいは文書型として規定された全体としての言語を、ホスト言語 (host language) といいます。

[3] 例えば XHTML 文書に、 SVG要素を直接埋め込んで文書の一部を構成する画像として使うことができるとします。 この時、「XHTML を基本とし、一部に SVG を埋め込んでも良い言語」を SVG から見てホスト言語といいます。

[4] この語は XHTML m12n によって導入されたと思われます。ここでいうマーク付け言語は、 XHTMLモジュールの粒度のものであっても構いません。

[5] 例えば XHTML Role Attribute Module から見て XHTML 1.2ホスト言語です。

現在

[6] XHTML m12n が失敗に終わり忘れ去られた現在では、ホスト言語という語を使うことも少なくなりました。 例えば HTML Standard に基づく HTML には SVGMathML を埋め込むことがよくありますが、 HTML を指してホスト言語ということは稀です。

[7] HTML のような固有名詞のかわりにホスト言語と間接的に呼ぶからには、 色々なホスト言語の存在が仮定されていました。例えば XHTML の他に DocBookRELAX NGGML や実装独自の言語など色々なマーク付け言語が (理論上は) 考えられますし、 XHTML だけでも XHTML 1.0XHTML BasicXHTML-MP など色々なプロファイルがありました。

[8] しかしそうした世界観は XMLXHTML m12n の失敗で崩壊しました。 どんな言語とどんな言語も (やりたければ) 自由に組み合わせられる (細部は使いたい人ががんばって決めるべし) との曖昧な説明だけの世界は成立せず、 HTMLSVG を組み合わせるなら著者はこう記述するべきで、 実装はこう処理するべきだ、と一々個別に詳細に規定して相互運用性の向上を目指す流れへと移、 ホスト言語のような曖昧な用語は不要となったのでしょう。

メモ

[1] Introduction – SVG Tiny 1.2 ( 版) <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/intro.html#TermHostLanguage>

host language
A host language is a syntax which incorporates one or more SVG document fragments by inclusion or by reference, and which defines the interactions between document fragments; an example of this is WICD Core 1.0, an XML framework which defines how XHTML, SVG, MathML, XForms, SMIL, and other syntaxes interact [WICD].