WWW'> W3C'> W3C'> Web'> HTML'> URI'> DOM'> XML'> XHTML'> SMIL'> RDF'> MathML'> CSS'> SVG'> XSL'> XSLT'> ORF'> CDF'> CDR'> CDI'> RWC'> WICD'> MWI'> GIF'> EGIX'> ]> HTML の呪縛を解き放て
slanted W3C logo
Cover page images (keys)

&HTML; の呪縛を解き放て

&W3C; フォーラム イン &ORF; 2005
— &W3C; 標準活用術 —

World Wide Web Consortium (&w3c;) 石川 雅康 <mimasa@w3.org>
http://www.w3.org/2005/Talks/1122-orf-cdf/

&W3C; の概要

初期の WWW = テキスト主体

初期の &Web; は Hypertext Markup Language (HTML) を用いたごく簡単な文書の発信が主; 当初は画像を埋め込むことすらできなかった

Tim Berners-Lee のブラウザ/エディタのスクリーンショット

テキストのみからマルチメディアへ

画像のインライン表示
1993年に発表された NCSA Mosaicimg 要素による &GIF; 画像のインライン表示をサポート、 &Web; が一気にポピュラーに; &HTML; 2.0 で正式サポート
Java アプレットの埋め込み
Java アプレットを埋め込むための applet 要素が登場、&HTML; 3.2 で正式サポート
汎用のオブジェクト埋め込み
&HTML; 4.0 で汎用のオブジェクト埋め込み要素 object を採用

Java アプレットの例: 日本時間

&HTML; の限界

何でもかんでも &HTML; に盛り込み続けたため、 様々な弊害も明らかになってきた

&XHTML;: 次世代 &HTML;

Extensible Hypertext Markup Language (XHTML): &XML; 準拠の &HTML;

&XHTML; の開発目標

&XHTML; 開発の三段階

第一段階: &HTML; の &XML; 化
&XHTML; 1.0
第二段階: モジュール化
&XHTML; のモジュール化 (&XHTML; 1.1, &XHTML; Basic, ...)
第三段階: 言語仕様の再設計
&XHTML; 2.0
  • モジュールごとに言語仕様を見直し、必要なら再設計を行う
  • 汎用性のある機能は独立した仕様として設計した上で、 再度 &XHTML; 2.0 に取り込んだり (例: &XML; Events, XForms) 組み合わせて利用する (例: XFrames)

&HTML; Web”から“&XML; Web”へ

初期の Web から明日の Web へ

&XML; 複合文書とは

複数の &XML; ボキャブラリ (&XHTML;, &MathML;, &SVG; など) が混在した文書

&W3C; では便宜上 Compound Document Format (CDF) と呼ぶ

※ ただし Compound Document Framework のことを CDF と呼ぶ場合もある

「&XML; 複合文書」を構成するボキャブラリ群

&XML; 複合文書の二形態

「参照」型複合文書 (Compound Document by Reference; CDR)
  • &XHTML; の object、 &SVG; の foreignObject、 &SMIL; のメディアオブジェクト要素群のように、 外部のリソースを &URI; で参照することで複数のボキャブラリを組み合わせる
  • 原則として各ボキャブラリは別個のリソースとして扱われる
  • 従来の &HTML; のやり方に近い; 比較的実現が容易
「埋め込み」型複合文書 (Compound Document by Inclusion; CDI)
  • &XML; 名前空間の仕組みを用いて複数のボキャブラリを直接混在させる
  • 混在させたボキャブラリは一個のリソースとして扱われる

両者は排他的なものではなく、 それぞれの仕組みを用いて同じようなことを実現することもできるし、 組み合わせて用いることもできる

&SVG; を参照した &XHTML; 文書の例 (&CDR;)

SVG を参照した XHTML 文書の例

ソース

&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>

&XHTML; と &MathML; を組み合わせた複合文書の例 (&CDI;)

XHTML と MathML を組み合わせた複合文書の例

ソース

<?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>

標準化動向

Compound Document by Reference Framework 1.0

特定のマークアップ言語に依存しない、 「参照」型複合文書 (&CDR;) のフレームワークを定める

&WICD;

&WICD; = Web Integration Compound Document

wicked [邪悪な、意地悪な; (俗)素晴らしい、優れた] と掛けている

&WICD; Core 1.0
&XHTML;、&CSS;、&SVG; を組み合わせた &XML; 複合文書の総合的なフレームワークを定義
ルート文書は &XHTML; とする
&WICD; Full 1.0
&XHTML; 1.1、&CSS; 2.1、&SVG; Tiny 1.2 を組み合わせた &XML; 複合文書のプロファイル
主にデスクトップ環境 (広い画面、ポインティングデバイスあり) を想定
&WICD; Mobile 1.0
&XHTML; Basic (1.1?)、&CSS; Mobile Profile、&SVG; Tiny 1.2 を組み合わせた &XML; 複合文書のプロファイル
主にモバイル環境 (狭い画面、限定されたナビゲーション手段) を想定

&WICD; と &XML; 複合文書フレームワークの関係

WICD と CDF の関係

&WICD; Mobile の実装例

WICD Mobile の実装例

今後の課題: 「埋め込み」型の複合文書 (&CDI;)

&XML; 名前空間はボキャブラリ間の名前の衝突を防ぐだけ; 名前空間を用いて混在させた複数のボキャブラリをどう処理するかは別途考える必要がある

例:

個々のボキャブラリの編集ツールはあっても、&XML; 複合文書の編集ツールはなかなかない — 優れた編集ツールが必要

例:

まとめ