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 = テキスト主体

初期の WebHypertext 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 開発の三段階

第一段階: HTMLXML
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)
  • XHTMLobjectSVG foreignObjectSMILメディアオブジェクト要素群のように、 外部のリソースを 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>

XHTMLMathML を組み合わせた複合文書の例 (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
XHTMLCSSSVG を組み合わせた 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 複合文書のプロファイル
主にモバイル環境 (狭い画面、限定されたナビゲーション手段) を想定

WICDXML 複合文書フレームワークの関係

WICD と CDF の関係

WICD Mobile の実装例

WICD Mobile の実装例

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

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

例:

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

例:

まとめ