セッション5「混ぜるな危険? 複合文書から見たXHTML+CSSとスキーマ活用」

XHTML を複合文書として利用する際の注意点とCSSを正しく適用するコツを解説
スキーマに照らしてXHTMLの可能性を広げるスキーマ活用

Ruby Annotation

  • 仕様書に日本人が日本語で名前が載ったのが石川氏が最初
  • Rubyの国際標準にMicrosoftが提案
  • テーブルのようにすることで実装
  • rp要素を削除する要求があったが拒否
  • ルビは()表記するものではないと日本が主張

XHTML Media Types

  • 仕様における「should not」は「空気読めw」
  • XHTML で配信するなら application/xhtml+xml にしろ。text/html で配信したいなら html でやれ

An XHTML+MathML+SVG Profile

  • DTD を全部組み合わせた
  • 「これを本当にしたいのか」と行間を読むw



  • XHTML 2.0 のゴールは可能な限り XML の機能が使えること
  • モバイル上でも SVG の対応が進んでいる(NetFront
    • SVG の対応はモバイルの方が早かった(らしい)

XML 複合文書とは

複数の XML ボキャブラリが混在した文書

  • 「参照」型複合文書
    • 外部のリソースをURIで参照
  • 「埋めくみ」型複合文書

名前空間の役割

要素名及び属性名として使用される名前の集まり

  • 異なる xml ボキャブラリ間の要素名や属性名の衝突を防ぐ
  • ある xml ボキャブラリに属する要素や属性をグループ化して識別可能にする

xml 複合文書においては名前空間はきわめて重要
ただしどのレベルまで細かく混在できるかはボキャブラリによって異なる

複合文書へのスタイルシートの適用

CSS Module:Namespacesを活用して各ボキャブラ利用スタイルシート名前空間を指定

スキーマによる検証

スキーマの役割

後者は仕様策定者の仕事

主な xml スキーマ言語

スキーマ言語の対応度

どれも一長一短あり、完璧なスキーマ言語は無い
1つのスキーマ言語を全てやろうとせず、それぞれの良いところを組み合わせて使う

モジュール化されたXHTML DTDのカスタマイズ

ポイント
  • 拡張は考えない
  • 編集時にいらない機能を削る
方法
  • DTD中の以下のような記述を探す
    • <!ENTITY % xhtml-モジュール名.module "INCLUDE">
  • IGNOREでその機能を削除することができる

独自のvalidatorを作成できそう。(メモ:oXygen,onvdl)