World Wide Web Consortium
(W3C) 石川 雅康 <mimasa@w3.org>
http://www.w3.org/2005/Talks/1122-orf-cdf/
img
要素による GIF 画像のインライン表示をサポート、 Web
が一気にポピュラーに; HTML 2.0 で正式サポートapplet
要素が登場、HTML
3.2 で正式サポートobject
を採用Java アプレットの例:
何でもかんでも HTML に盛り込み続けたため、 様々な弊害も明らかになってきた
⇓
Extensible Hypertext Markup Language (XHTML): XML 準拠の HTML
複数の XML ボキャブラリ (XHTML, MathML, SVG など) が混在した文書
W3C では便宜上 Compound Document Format (CDF) と呼ぶ
※ ただし Compound Document Framework のことを CDF と呼ぶ場合もある
object
、 SVG の
foreignObject
、 SMIL のメディアオブジェクト要素群のように、
外部のリソースを URI で参照することで複数のボキャブラリを組み合わせる両者は排他的なものではなく、 それぞれの仕組みを用いて同じようなことを実現することもできるし、 組み合わせて用いることもできる
XHTML:
<?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>circles</title> </head> <body> <object height="350" width="600" type="image/svg+xml" data="circles.svg"/> </body> </html>
SVG:
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg"> <g fill-opacity="0.7" stroke="black" stroke-width="0.2cm"> <circle fill="red" cx="6cm" cy="2cm" transform="translate(0,50)" r="100"/> <circle fill="blue" cx="6cm" cy="2cm" transform="translate(70,150)" r="100"/> <circle fill="green" cx="6cm" cy="2cm" transform="translate(-70,150)" r="100"/> </g> </svg>
<?xml version="1.0" encoding="UTF-8"?> <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"> <!-- 1 --> <xhtml:head> <xhtml:title>A Compound document</xhtml:title> </xhtml:head> <xhtml:body> <xhtml:h1>A Compound document</xhtml:h1> <xhtml:p>A simple formula using MathML in XHTML.</xhtml:p> <mathml:math xmlns:mathml="http://www.w3.org/1998/Math/MathML"> <!-- 2 --> <mathml:mrow> <mathml:msqrt> <mathml:mn>49</mathml:mn> </mathml:msqrt> <mathml:mo>=</mathml:mo> <mathml:mn>7</mathml:mn> </mathml:mrow> </mathml:math> </xhtml:body> </xhtml:html>
特定のマークアップ言語に依存しない、 「参照」型複合文書 (CDR) のフレームワークを定める
ReferencedDocument
)、
親文書から子文書 (ReferencingElement
) への統一的な DOM インタフェイスを定義WICD = Web Integration Compound Document
wicked [邪悪な、意地悪な; (俗)素晴らしい、優れた] と掛けている
XML 名前空間はボキャブラリ間の名前の衝突を防ぐだけ; 名前空間を用いて混在させた複数のボキャブラリをどう処理するかは別途考える必要がある
例:
個々のボキャブラリの編集ツールはあっても、XML 複合文書の編集ツールはなかなかない — 優れた編集ツールが必要
例: