著作権 ©2000 W3C® (マサチューセッツ工科大学, フランス国立情報処理自動化研究所, 慶應義塾大学). すべての権利が留保されている。W3Cの免責(liability), 商標(trademark), 文書利用(document use), ソフトウェア使用許諾(software licensing)規則が適用される。
このワーキングドラフトは、Building XHTML Modules [BUILDING] で定義されているモジュールフレームワークと、Modularization of XHTML [XHTMLMOD] で定義されているモジュールとにのみ基づく、新しいXHTML文書型を定義する。この文書型の目的は、将来の拡張されたXHTML「ファミリー」文書型の基礎として機能すること、および、一貫性があり、先を見通しており、HTML4の廃止方向の遺物的な機能 文書型を用意するところにある。この文書型の目的は、将来的な拡張されたXHTML「ファミリー」文書型の基礎として機能すること、および、XHTML 1.0 [XHTML1] 文書型に持ち込まれた HTML 4 [HTML4] の廃止方向の遺物的な機能から明確に分離された、一貫性があって先の見通しのある文書型を用意するところにある。この文書の中の素材は、以前は Modularization of XHTML 文書の一部であったが、編集上の目的から分離されたものであるので注意してほしい。
このセクションは、この文書の公開時点における位置づけを記述するものである。他の文書がこの文書に取って代わることがある。この文書シリーズの最新の位置づけは、W3Cにおいて維持管理されている。
これは "XHTML 1.1" の "ラストコール ワーキングドラフト" である。ラストコール レビュー期間は、2000年2月1日の23時59分に終了する。レビューコメントは、レビュー期間が終了する前に、www-html-editor@w3.org へお送りいただきたい。
ワーキンググループは、ワーキンググループがラストコール レビューコメントを処理し、解決策をガイドラインに組み込んだ後、W3Cディレクターに対し、この文書を勧告案(Proposed Recommendation)へと進めるよう依頼する予定である。
この文書は W3C HTML Activity の一部として作成されているものである。HTML Working Group (会員専用) の目標は、HTMLワーキンググループ憲章 (会員専用) で論じられている。
これは、W3C会員およびその他の利害関係者によるレビューのためのW3Cワーキングドラフトである。この文書はドラフト文書であって、何時にても他の文書によって更新され、置換され、または廃止されることがある。W3Cワーキングドラフトを参照素材として利用したり、「進行中の作業」以外のものとして引用することは不適切である。これは進行中の作業であって、W3Cや、HTMLワーキンググループの参加者による保証や合意という意味合いを含むものではない。
現行のW3C勧告およびその他の技術文書の一覧は http://www.w3.org/TR で見ることができる。
このセクションは規範的である。
XHTMLファミリーのモジュールや文書型の導入により、W3Cは、インターネットコンテンツ開発コミュニティわ、不格好で非標準的なマークアップの時代から、整形式で妥当なXMLの世界へと移行させる手助けをしている。XHTML 1.0 では、この動きは、HTML 4.0 (またはそれ以前) ベースの既存のコンテンツを簡単にXHTMLやXMLへ移行させる用意を整えるという目的によって、和らげられた。Modularization of XHTML で定義されるXHTMLモジュールの出現により、W3Cは、廃止方向の要素や属性のサポートをXHTMLファミリーから除外している。これらの要素や属性は、大半は、スタイルシートやクライアント特有のデフォルト挙動を経由する方がうまくいく表現指向の機能であった。
前進するにつれて、XHTMLファミリー文書型は、この新しくてさらに構造的な機能上の集合物に基礎をおくことになる。この仕様書では、W3CのHTMLワーキンググループは、モジュールにのみ基づいた初期的な文書型を定義している。この文書型は、広い範囲のクライアントデバイスへ持ち運ぶことができ、大多数のインターネットコンテンツに適用できるよう設計されている。コンテンツをこの仕様書に表記されている機能に基づかせているコンテンツ開発者は、XHTMLファミリーに適合しているユーザエージェントにまたがって一貫性をもって持ち運びが可能であるだろうということに自信を持つことができる。
このセクションは規範的である。
このバージョンのXHTMLは、厳格に適合的であるXHTML文書の定義を用意するものであり、それは、XHTML 1.1 名前空間に由来する要素と属性とに制限される。
厳格適合的な XHTML 1.1 文書とは、この仕様書において義務的なものとして記述されている装備だけを必須とする文書である。そうした文書は、以下の判断基準のすべてに沿わなければならない。
付録 C で見られるDTDに従って妥当でなければならない。
文書のルート要素は <html> でなければならない。
文書のルート要素は、xmlns 属性 [XMLNAMES] を用いてXHTML名前空間を指し示さなければならない。XHTMLの名前空間指定子は "http://www.w3.org/1999/xhtml" である。
文書内にはルート要素に先立って DOCTYPE 宣言1個がなければならない。存在する場合、DOCTYPE 宣言に組み込まれる公開識別子は、付録 C で見られるDTDを、その公式公開識別子を用いて参照しなければならない。システム識別子は適宜修正してもかまわない。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
こちらは最小限の XHTML 1.1 文書の例である。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" >
<head>
<title>バーチャル図書館</title>
</head>
<body>
<p><a href="http://vlib.org/">vlib.org</a> へ移転しました。</p>
</body>
</html>
この例では、XML宣言が組み込まれていることに注意してほしい。上記のもののようなXML宣言は、すべてのXML文書に必須というわけではない。XHTML文書の制作者は、すべての文書でXML宣言を使うよう強く推奨される。そうした宣言は、文書のキャラクタエンコーディングがデフォルトのUTF-8かUTF-16以外であるときには必須である。
適合的なユーザエージェントは、[XHTMLMOD] で定義されているユーザエージェント適合性の必要条件のすべてに沿わなければならない。
このセクションは規範的である。
XHTML 1.1 文書型は、リッチな意味論を有する完全に機能的な文書型である。もっとも、XHTML 1.0 Transitional 文書型や Frameset 文書型と、機能においてはさほど変わらない。これらの文書型は、多数の表現的なコンポーネントを定義していたが、それらはスタイルシートやその他の類似のメカニズムを通じての方がうまく扱われるものである。それだけでなく、XHTML 1.1 文書型は、XHTML Modules で定義されている装備に、排他的に基礎を置いているから、XHTML 1.0 や HTML 4.0 の廃止方向の機能をひとつも含んでいない。これらの例外にもかかわらず、またおそらくはこれらの例外ゆえに、XHTML 1.1 文書型は、さまざまなユーザエージェント環境を標的とした将来の文書型のための、強固な基礎となるのである。
XHTML 1.1 文書型は、以下の抽象的モジュールからなる。[XHTMLMOD] で定義されている Structure, Basic Text, Hypertext, List, Applet, Presentation, Edit, BDO, Forms, Tables, Image, Image Map, Intrinsic Events, Metainformation, Scripting, Stylesheet, Link モジュール, および [RUBY] で定義されている Ruby Annotation モジュール. この文書型によって必須とされる追加的な定義はない。この文書型の XML DTD としての実装は、付録 C で定義される。
この付録は参考である。
この付録は、XHTML 1.1 と XHTML 1.0 との間の相違点を解説するものである。XHTML 1.1 は、HTML 1.0 と XHTML 1.0 との両方からの出発を表している。最も重大なのは、廃止方向であった機能の除去である。さらに、利用可能であった機能のいくつかが除去されている。一般的に、構造的な機能においてはリッチであるが、表現についてはスタイルシートに頼るというマークアップ言語を定義するところに戦略がある。
下記の表では、XHTML 1.0 に存在した要素がそれぞれ列挙されている。要素ごとに、表は、それがサポートされているかどうか、もしサポートされているならばその内容モデルが変わっているかどうかや利用可能な属性が変わっているかどうかを示している。
| 要素 | 変更点 |
|---|---|
| 全要素 | -lang |
| a | -accesskey, -name, -tabindex, -target |
| abbr | 変更なし |
| acronym | 変更なし |
| address | 変更なし |
| applet | 変更なし |
| area | -target |
| b | 変更なし |
| base | サポートされない |
| basefont | サポートされない |
| bdo | 変更なし |
| big | 変更なし |
| blockquote | 変更なし |
| body | -background, -bgcolor, -text, -link, -vlink, -alink |
| br | -clear |
| button | 変更なし |
| caption | -align |
| center | サポートされない |
| cite | 変更なし |
| code | 変更なし |
| col | 変更なし |
| colgroup | 変更なし |
| dd | 変更なし |
| del | 変更なし |
| dfn | 変更なし |
| dir | 変更なし |
| div | -align |
| dl | 変更なし |
| dt | 変更なし |
| em | 変更なし |
| fieldset | 変更なし |
| font | サポートされない |
| form | 変更なし |
| frame | サポートされない |
| frameset | サポートされない |
| h1 | -align |
| h2 | -align |
| h3 | -align |
| h4 | -align |
| h5 | -align |
| h6 | -align |
| head | 変更なし |
| hr | -align, -noshade, -size, -width |
| html | 変更なし |
| i | 変更なし |
| iframe | サポートされない |
| img | -align, -border, -hspace, -vspace |
| input | -align |
| ins | 変更なし |
| isindex | サポートされない |
| kbd | 変更なし |
| label | 変更なし |
| legend | -align |
| li | -type, -value |
| link | -target |
| map | -name |
| menu | サポートされない |
| meta | 変更なし |
| noframes | サポートされない |
| noscript | 変更なし |
| object | サポートされない |
| ol | -compact, -start, -type |
| optgroup | 変更なし |
| option | 変更なし |
| p | -align |
| param | 変更なし |
| pre | -width |
| q | 変更なし |
| s | サポートされない |
| samp | 変更なし |
| script | -language |
| select | 変更なし |
| small | 変更なし |
| span | 変更なし |
| strike | サポートされない |
| strong | 変更なし |
| style | 変更なし |
| sub | 変更なし |
| sup | 変更なし |
| table | -align, -bgcolor |
| tbody | 変更なし |
| td | -bgcolor, -height, -nowrap, -width |
| textarea | 変更なし |
| tfoot | 変更なし |
| th | -bgcolor, -height, -nowrap, -width |
| thead | 変更なし |
| title | 変更なし |
| tr | -bgcolor |
| tt | 変更なし |
| u | サポートされない |
| ul | -compact, -type |
| var | 変更なし |
この付録は規範的である。
この付録は規範的である。
このセクションは、XHTML 1.1 FPI のSGMLオープンカタログフォーマット定義を内容とする。
-- .......................................................................... --
-- ファイルカタログ ......................................................... --
-- XHTML 1.1 カタログデータファイル
Revision: @(#)xhtml11.cat 1.8 99/08/26 SMI
カタログデータの供給や利用に関する詳しい情報については、SGML Open Technical
Resolution 9401 の "Entity Management" を見ること。この文書は、OASISからつぎ
のURLから入手することができる。
<http://www.oasis-open.org/cover/tr9401.html>
--
-- .......................................................................... --
-- XHTMLと結びつけられたSGML宣言 ............................................ --
OVERRIDE YES
-- SGMLDECL "xml1.dcl" --
-- Unicode非互換のパーサで利用するために --
SGMLDECL "xml1n.dcl"
-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --
-- XHTML 1.1 DTD モジュラドライバファイル .................................. --
PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd"
-- XHTML 1.1 フレームワークモジュール ....................................... --
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod"
-- カタログデータの末尾 ..................................................... --
-- .......................................................................... --
このセクションは、XML DTD としての XHTML 1.1 文書型実装のためのドライバを内容とする。[XHTMLMOD] や [RUBY] で定義されているXHTMLモジュール実装を頼る。
<!-- ....................................................................... -->
<!-- XHTML 1.1 DTD ........................................................ -->
<!-- file: xhtml11.dtd
-->
<!-- XHTML 1.1 DTD
これは、XTHML 1.0 のモジュラ変種たる XHTML 1.1 である。
Copyright 1998-2000 World Wide Web Consortium
(マサチューセッツ工科大学, フランス国立情報処理自動化研究所,
慶應義塾大学).
すべての権利が留保されている。
目的を問わず無料で XHTML 1.1 DTD およびその付随文書を利用し、複製し、
修正し、配布することの許可は、上記の著作権表示とこの段落とがすべての
コピーに現れている限りにおいて、ここに永久に許与される。著作権保有者
は、いかなる目的についてもDTDの適合性について、何ら保証しない。
これは、明示黙示の保証なしに「あるがまま」で提供される。
著作者: Murray M. Altheim <altheim@eng.sun.com>
リビジョン: $Id: xhtml11.dtd,v 1.5 2000/01/04 19:50:19 ahby Exp $ SMI
-->
<!-- これは、XHTML DTD のバージョン 1.1 のためのドライバファイルである。
それを識別特定するためには、この公式の公開識別子をお使いいただきたい。
"-//W3C//DTD XHTML 1.1//EN"
-->
<!ENTITY % XHTML.version "-//W3C//DTD XHTML 1.1//EN" >
<!-- デフォルト名前空間を識別特定するには、このURIを使うこと。
"http://www.w3.org/1999/xhtml"
-->
<!ENTITY % XHTML.ns "http://www.w3.org/1999/xhtml" >
<!-- XLink名前空間で利用するために予約済み
-->
<!ENTITY % XLINK.ns "" >
<!ENTITY % XLinkns.attrib "" >
<!-- たとえば、直接に XHTML 1.1 を使っているならば、デフォル
ト名前空間を識別特定するため、文書要素上に xmlns 属性をつけ
て、DOCTYPE 宣言の中でFPIを使うこと。
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"xhtml11.dtd" >
<html xmlns="http://www.w3.org/TR/xhtml"
xmlns:xlink="http://www.w3.org/XML/XLink/0.9"
xml:lang="en" >
...
</html>
見直し
(なし)
-->
<!-- 将来的に文書プロファイルで利用するために予約済み -->
<!ENTITY % XHTML.profile "" >
<!-- 国際化機能
この機能テスト実体は、国際化サポートのために使われる要
素や属性を宣言するために使われる。
-->
<!ENTITY % XHTML.I18n "INCLUDE" >
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!ENTITY % xhtml-events.module "INCLUDE" >
<!-- 内容モデルの定義 -->
<!ENTITY % xhtml-model.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
SYSTEM "xhtml11-model-1.mod" >
<!-- フレームワーク前再宣言場所 .................................. -->
<!-- これは、フレームワーク宣言に先立って、マークアップ宣言
をDTDに挿入するべき場所として機能する。
-->
<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
<![%xhtml-prefw-redecl.module;[
%xhtml-prefw-redecl.mod;
<!-- xhtml-prefw-redecl.module の末尾 -->]]>
<!-- モジュラフレームワークモジュール ............................ -->
<!ENTITY % xhtml-framework.module "INCLUDE" >
<![%xhtml-framework.module;[
<!ENTITY % xhtml-framework.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN"
"xhtml11-framework-1.mod" >
%xhtml-framework.mod;]]>
<!-- フレームワーク後再宣言場所 .................................. -->
<!-- これは、フレームワーク宣言に続けて、マークアップ宣言を
DTDに挿入するための場所として機能する。
-->
<!ENTITY % xhtml-postfw-redecl.module "IGNORE" >
<![%xhtml-postfw-redecl.module;[
%xhtml-postfw-redecl.mod;
<!-- xhtml-postfw-redecl.module の末尾 -->]]>
<!-- 基本テキストモジュール (必須) ............................... -->
<!ENTITY % xhtml-text.module "INCLUDE" >
<![%xhtml-text.module;[
<!ENTITY % xhtml-text.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN"
"xhtml11-text-1.mod" >
%xhtml-text.mod;]]>
<!-- ハイパーテキストモジュール (必須) ............................ -->
<!ENTITY % xhtml-hypertext.module "INCLUDE" >
<![%xhtml-hypertext.module;[
<!ENTITY % xhtml-hypertext.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN"
"xhtml11-hypertext-1.mod" >
%xhtml-hypertext.mod;]]>
<!-- リストモジュール (必須) ..................................... -->
<!ENTITY % xhtml-list.module "INCLUDE" >
<![%xhtml-list.module;[
<!ENTITY % xhtml-list.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN"
"xhtml11-list-1.mod" >
%xhtml-list.mod;]]>
<!-- 文書構造モジュール (必須) ................................... -->
<!ENTITY % xhtml-struct.module "INCLUDE" >
<![%xhtml-struct.module;[
<!ENTITY % xhtml-struct.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN"
"xhtml11-struct-1.mod" >
%xhtml-struct.mod;]]>
<!-- 必須セクションの末尾 :::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- ルビモジュール ............................................... -->
<!ENTITY % Ruby.fallback "INCLUDE" >
<!ENTITY % Ruby.common.attlists "INCLUDE" >
<!ENTITY % Ruby.common.attrib "%Common.attrib;" >
<!ENTITY % xhtml-ruby.module "INCLUDE" >
<![%xhtml-ruby.module;[
<!ENTITY % xhtml-ruby.mod
PUBLIC "-//W3C//ELEMENTS Ruby 1.0//EN"
"ruby-1.mod" >
%xhtml-ruby.mod;]]>
<!-- 編集モジュール .............................................. -->
<!ENTITY % xhtml-edit.module "INCLUDE" >
<![%xhtml-edit.module;[
<!ENTITY % xhtml-edit.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Editing Elements 1.0//EN"
"xhtml11-edit-1.mod" >
%xhtml-edit.mod;]]>
<!-- 表現モジュール ............................................... -->
<!ENTITY % xhtml-pres.module "INCLUDE" >
<![%xhtml-pres.module;[
<!ENTITY % xhtml-pres.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Presentation 1.0//EN"
"xhtml11-pres-1.mod" >
%xhtml-pres.mod;]]>
<!-- Javaアプレット要素モジュール ................................ -->
<!ENTITY % xhtml-applet.module "INCLUDE" >
<![%xhtml-applet.module;[
<!ENTITY % xhtml-applet.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Java Applets 1.0//EN"
"xhtml11-applet-1.mod" >
%xhtml-applet.mod;]]>
<!-- パラメータ要素モジュール .................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Param Element 1.0//EN"
"xhtml11-param-1.mod" >
%xhtml-param.mod;]]>
<!-- 双方向筆記オーバーライドモジュール .......................... -->
<!ENTITY % xhtml-bdo.module "INCLUDE" >
<![%xhtml-bdo.module;[
<!ENTITY % xhtml-bdo.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 BIDI Override Element 1.0//EN"
"xhtml11-bdo-1.mod" >
%xhtml-bdo.mod;]]>
<!-- フォームモジュール .......................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Forms 1.0//EN"
"xhtml11-form-1.mod" >
%xhtml-form.mod;]]>
<!-- テーブルモジュール .......................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Tables 1.0//EN"
"xhtml11-table-1.mod" >
%xhtml-table.mod;]]>
<!-- 画像モジュール .............................................. -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN"
"xhtml11-image-1.mod" >
%xhtml-image.mod;]]>
<!-- クライアント側イメージマップモジュール ...................... -->
<!ENTITY % xhtml-csismap.module "INCLUDE" >
<![%xhtml-csismap.module;[
<!ENTITY % xhtml-csismap.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN"
"xhtml11-csismap-1.mod" >
%xhtml-csismap.mod;]]>
<!-- サーバ側イメージマップモジュール ............................ -->
<!ENTITY % xhtml-ssismap.module "INCLUDE" >
<![%xhtml-ssismap.module;[
<!ENTITY % xhtml-ssismap.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Server-side Image Maps 1.0//EN"
"xhtml11-ssismap-1.mod" >
%xhtml-ssismap.mod;]]>
<!-- 文書メタ情報モジュール ...................................... -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN"
"xhtml11-meta-1.mod" >
%xhtml-meta.mod;]]>
<!-- スクリプティングモジュール .................................. -->
<!ENTITY % xhtml-script.module "INCLUDE" >
<![%xhtml-script.module;[
<!ENTITY % xhtml-script.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Scripting 1.0//EN"
"xhtml11-script-1.mod" >
%xhtml-script.mod;]]>
<!-- スタイルシートモジュール .................................... -->
<!ENTITY % xhtml-style.module "INCLUDE" >
<![%xhtml-style.module;[
<!ENTITY % xhtml-style.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Stylesheets 1.0//EN"
"xhtml11-style-1.mod" >
%xhtml-style.mod;]]>
<!-- リンク要素モジュール ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN"
"xhtml11-link-1.mod" >
%xhtml-link.mod;]]>
<!-- ベース要素モジュール ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN"
"xhtml11-base-1.mod" >
%xhtml-base.mod;]]>
<!-- XHTML 1.1 DTD の末尾 .................................................. -->
<!-- ....................................................................... -->
XHTML 1.1 ファミリー文書型 (XHTML 1.1 といったようなもの) は、利用する内容モデルを定義しなければならない。これは、XHTMLモジュラフレームワークによってインスタンス化される別個の内容モデルモジュールを通じてなされる。内容モデルモジュールと XHTML 1.1 ドライバ (上記) とは、一緒に働いて、モジュール実装物をその文書型に特有の要求事項にカスタマイズする。XHTML 1.1 のための内容モデルモジュールは、下記に定義される。
<!-- ....................................................................... -->
<!-- XHTML 1.1 文書モデルモジュール ........................................ -->
<!-- file: xhtml11-model-1.mod
これは、XHTML 1.0 のモジュラ変種たる XHTML 1.1 である。
Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
リビジョン: $Id: xhtml11-model-1.mod,v 1.5 2000/01/05 13:26:27 ahby Exp $ SMI
このDTDモジュールは、PUBLIC および SYSTEM 識別子によって識別特定される。
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
SYSTEM "xhtml11-model-1.mod"
見直し:
(なし)
....................................................................... -->
<!-- 文書モデル
このモジュールは、XHTML要素のための共通の内容モデルをな
す要素をまとめたものを記述する。
XHTMLには、基本的な内容モデルが3つある。
%Inline.mix; キャラクタレベルの要素
%Block.mix; ブロック風の要素. 例えば段落やリスト
%Flow.mix; 任意のブロック要素またはインライン要素
このモジュールの中で宣言されるパラメータ実体はどれも、要
素内容モデルを作成するために利用してもかまわないが、上記
の3つは(その用語がここで適用される限りにおいて)「グローバ
ル」とみなされる。
'#PCDATA' という予約語 (テキスト文字列を示す) は、混合内
容として宣言されるそれぞれの要素宣言と一緒にここで組み込
まれる。XMLは、このトークンが内容モデル仕様書の最初に出現
することを要求しているからである。
-->
<!-- モデルの拡張
場合によっては、文書モデルに対する変更を取り込むためにこ
のモジュールを書き直す必要があるかもしれないが、小規模な
拡張は、以下のとおり、3つの *.extra のうちのどれかを再宣
言して拡張要素型を包含することにより実現されることもある。
%Misc.extra; 親はどのようなブロック要素またはイン
ライン要素であってもかまわない。
%Inline.extra; 親はどのようなインライン要素であって
もかまわない。
%Block.extra; 親はどのようなブロック要素であっても
かまわない。
使われる場合には、これらのパラメータ実体は、OR セパレータ
("|") で始まりORで区切られたリストでなければならない。
例. "| a | b | c"
*struct.class クラスの一部でないブロックおよびインライン
*.class パラメータ実体はすべて、混合からの排除を可能にす
るために "| " で始まる。
-->
<!-- .............. ヘッダ内の任意的要素 ......................... -->
<!ENTITY % Head-opts.mix "( script | style | meta | link )*" >
<!-- ................. その他の要素 ............................. -->
<!-- ins と del とは、編集の変更を示すために使われる。
-->
<!ENTITY % Edit.class "| ins | del" >
<!-- script と noscript とは、スクリプトや代替的コンテンツ
を内容にとるために使われる。
-->
<!ENTITY % Misc.extra "| script | noscript" >
<!-- これらの要素はブロックでもインラインでもなく、また、
本質的に、文書本文のどこで使うことも可能である。
-->
<!ENTITY % Misc.class
"%Edit.class;
%Misc.extra;"
>
<!-- .................... インライン要素 ......................... -->
<!ENTITY % Inlstruct.class "br | span" >
<!ENTITY % Inlphras.class
"| em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q" >
<!ENTITY % Inlpres.class
"| tt | i | b | big | small | sub | sup" >
<!ENTITY % I18n.class "| bdo" >
<!ENTITY % Anchor.class "| a" >
<!ENTITY % Inlspecial.class "| img | map | applet" >
<!ENTITY % Inline.extra
"| input | select | textarea | label | button" >
<!ENTITY % Ruby.class "| ruby" >
<!-- %Inline.class; はすべてのインライン要素を含んでおり、混
在パラメータ実体のコンポーネントとして使われる。
-->
<!ENTITY % Inline.class
"%Inlstruct.class;
%Inlphras.class;
%Inlpres.class;
%I18n.class;
%Anchor.class;
%Inlspecial.class;
%Ruby.class;
%Inline.extra;"
>
<!-- %Inline-noruby.class; は、ruby を除いてすべてのインライ
ン要素を含んでおり、混在パラメータ実体のコンポーネントとし
て使われる。
-->
<!ENTITY % Inline-noruby.class
"%Inlstruct.class;
%Inlphras.class;
%Inlpres.class;
%I18n.class;
%Anchor.class;
%Inlspecial.class;
%Inline.extra;"
>
<!-- %Noruby.content; は、ruby を除いてすべてのインライン要素
を含んでいる。
-->
<!ENTITY % Noruby.content
"( #PCDATA
| %Inline-noruby.class;
%Misc.class; )*"
>
<!-- %Inline-noa.class; は、すべての非アンカーのインライン要
素を含んでおり、混合内のコンポーネントとして使われる。
-->
<!ENTITY % Inline-noa.class
"%Inlstruct.class;
%Inlphras.class;
%Inlpres.class;
%I18n.class;
%Inlspecial.class;
%Ruby.class;
%Inline.extra;"
>
<!-- %Inline-noa.mix; は、すべての非アンカーのインライン要素
を含む。
-->
<!ENTITY % Inline-noa.mix
"%Inline-noa.class;
%Misc.class;"
>
<!-- %Inline.mix; は、%Misc.class; を含め、すべてのインライン
要素を含む。
-->
<!ENTITY % Inline.mix
"%Inline.class;
%Misc.class;"
>
<!-- ..................... ブロック要素 .......................... -->
<!-- HTML 4.0 DTD では、見出し要素とリスト要素とは % block
パラメータ実体の中に組み込まれていた。
ここでは % Heading.class パラメータ実体や % List.class
パラメータ実体は、必要な要素宣言で明示的に組み込まれな
ければならない
-->
<!ENTITY % Heading.class "h1 | h2 | h3 | h4 | h5 | h6" >
<!ENTITY % List.class "ul | ol | dl" >
<!ENTITY % Blkstruct.class "p | div" >
<!ENTITY % Blkphras.class "| pre | blockquote | address" >
<!ENTITY % Blkpres.class "| hr" >
<!ENTITY % Block.extra "| table | form | fieldset" >
<!-- %Block.class; は、すべてのブロック要素を含み、混在パラ
メータ実体のコンポーネントとして使われる
-->
<!ENTITY % Block.class
"%Blkstruct.class;
%Blkphras.class;
%Blkpres.class;
%Block.extra;"
>
<!-- %Block.mix; は、すべてのブロック要素と %Misc.class; と
を含む
-->
<!ENTITY % Block.mix
"%Heading.class;
| %List.class;
| %Block.class;
%Misc.class;"
>
<!-- ................ 全内容要素 ............................ -->
<!-- %Flow.mix; は、すべてのテキスト内容、ブロック、インライ
ンを含む
-->
<!ENTITY % Flow.mix
"%Heading.class;
| %List.class;
| %Block.class;
| %Inline.class;
%Misc.class;"
>
<!-- xhtml11-model-1.mod の末尾 -->