内容
本節は規範的。
抽象モジュールとは、 XHTML モジュールの散文的なテキストと、非定型的な約束を用いた定義である。 そのような定義は一般的に文書型の機械処理においては一般に使いやすいものではないのだが、人がモジュールに含まれるものを理解する手助けとしてはとても重要である。 本節は XHTML 抽象モジュールが定義される方法を定義している。 XHTML 適合モジュールは、抽象モジュール定義を提供することは 必須でない。しかしながら、 XHTML モジュールを開発する誰もが、そのモジュール利用の便宜のための概要を提供することが推奨される。
抽象モジュールは定型的な文法では定義されない。しかしながら、その定義は以下の構文上の約束を強く遵守する。これらの約束は XML DTDs のそれに似ており、 XML DTD 作者は慣れているはずである。それぞれの構文上の要素は、ここに定義された代数に適合する、より複雑な表現を作るために、他のものと結合され得る。
expr ?
expr
が出現してよい。expr +
expr
の出現が必須である。expr *
expr
が出現してよい。a , b
a
が必須であり、 表現 b
が後続する。a | b
a
又は b
が必須である。a - b
b
を除いた表現 a
が許される。&
) に後続する。*
) に後続する。|
) で分ける。
その属性が初期値を持つとき、その値はアステリスク (*
) に後続する。
その属性が固定値を持つとき、その属性名は等号 (=
) に後続し、固定値は引用符に括られる。抽象モジュール定義は、各々のモジュールに対する、最小の、中核的な内容モデルを定義する。 これらの最小内容モデルは、モジュール自身内の要素を参照する。 これらはまた、その抽象モジュールが依存する他のモジュール内の要素も参照する。 最終的には、多くの場合、内容モデルは、一つ以上の要素に対する内容としてテキストが許されることを要求する。 これらの場合、テキストのために使われるシンボルは PCDATA である。 これは、 XML 1.0 勧告で定義された用語であり、文字データを処理するように参照するものである。 内容タイプは、 EMPTY として定義されることもあり、要素がその最小内容モデルに全く内容を持たないと言うことを意味する。
幾つかの実例(インスタンス)では、属性に対する、属性値のタイプや許された値の明白なセットを定義することが必要である。 以下の属性タイプ( XML 1.0 勧告で定義されている)は、抽象モジュールの定義に使われる:
属性タイプ | 定義 |
---|---|
CDATA | 文字データ (Character data) |
ID | 文書内一意識別子 (A document-unique identifier) |
IDREF | 文書内一意識別子の参照 (A reference to a document-unique identifier) |
IDREFS | スペースで区切られた文書内一意識別子の参照のリスト (A space-separated list of references to document-unique identifiers) |
NAME | 上記の ID と同じ文字列に制限された名前 (A name with the same character constraints as ID above) |
NMTOKEN | XML 1.0 [XML] で定義された名前トークンだけで構成された名前 (A name composed of only name tokens as defined in XML 1.0 [XML]) |
NMTOKENS | 空白で区切った一つ以上の NMTOKEN 値 (One or more white space separated NMTOKEN values) |
PCDATA | 解析対象の文字データ (Processed character data) |
これらの定義済みデータ・タイプに加えて、 XHTML モジュール化では、以下のデータ・タイプとその(適当な)意味を定義する:
データ・タイプ | 記述 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Character | [ISO10646] 内の一つの文字 | ||||||||||||||||||||||||||||||||
Charset | [RFC2045] による文字符号化 | ||||||||||||||||||||||||||||||||
Charsets | スペースで区切った [RFC2045] による文字符号化のリスト | ||||||||||||||||||||||||||||||||
Color |
属性値タイプ "Color" は、 [SRGB] で指定されている色定義を参照する。 色値は16進数(ハッシュ記号を接頭文字とする)で指定しても、以下の16個の色名で指定しても良い。 色名は大文字・小文字を区別しない (case-insensitive)。
つまり、色値 "#800080" と "Purple" は両方とも紫色を参照する。 |
||||||||||||||||||||||||||||||||
ContentType | [RFC2045] によるメディア・タイプ | ||||||||||||||||||||||||||||||||
ContentTypes | コンマで区切られた [RFC2045] によるメディア・タイプのリスト | ||||||||||||||||||||||||||||||||
Coords | 定義した領域で用いる、コンマで分けられた座標リスト | ||||||||||||||||||||||||||||||||
Datetime | 日時情報 | ||||||||||||||||||||||||||||||||
FPI | SGML 公式公開識別子 (SGML Formal Public Identifier) を表す文字列 | ||||||||||||||||||||||||||||||||
FrameTarget | ある動作の結果の目的地として用いる、フレーム名 | ||||||||||||||||||||||||||||||||
LanguageCode | [RFC3066] による言語コード | ||||||||||||||||||||||||||||||||
Length | この値は、ピクセル、又は、利用可能な垂直方向もしくは水平方向のスペースに対するパーセントで指定して良い。つまり、 "50%" は利用可能なスペースの半分を意味する。 | ||||||||||||||||||||||||||||||||
LinkTypes |
作者は以下の認識済みリンク・タイプを利用してよく、ここに約束上の解釈と共にリストされている。 LinkTypes 値は、スペースで区切られたリンク・タイプのリストを参照する。 リンク・タイプ中の空白類文字は許されない。 これらのリンク・タイプは大文字・小文字を区別しない、すなわち、 "Alternate" は "alternate" と同じ意味である。 ユーザー・エージェント、サーチ・エンジンなどは、これらのリンクタイプを様々な方法で解釈して良い。例えば、ユーザー・エージェントは、ナビゲーション・バーでリンクされた文書へのアクセスを提供するかもしれない。
|
||||||||||||||||||||||||||||||||
MediaDesc |
MediaDesc 属性は、コンマで区切られたメディア記述子のリストである。以下が、認識されるメディア記述子のリストである:
XHTML の将来のバージョンでは、新しい値を導入したり、パラメタ形式の値も許されるかもしれない。 これらの拡張を容易にするために、適合ユーザー・エージェントは、 media 属性値を以下のように構文解析しなければならない:
注意。 スタイル・シートは、その内部でメディア依存のバリエーション(すなわち、 CSS @media 構造)を含むことがある。 この場合は、"media =all" とするのが適当だろう。 |
||||||||||||||||||||||||||||||||
MultiLength | この値は、 Length 又は相対長 (relative length) が許される。 相対長は "i*" と言う形式をもち、 "i" は整数である。 複数の要素が競合するスペースを割り当てるとき、ユーザー・エージェントは、最初にピクセル、パーセント長を割り当て、而して残りの利用可能なスペースを相対長に分割する各々の相対長は、 "*" に先行する整数比に従って利用可能なスペースの一部を受け取る。 値 "*" は "1*" に等価である。 従って、ユーザー・エージェントがピクセル及びパーセント・スペースを割り当てた後で、 60 ピクセルのスペースが利用可能であり、これを相対長 1*, 2*, 3* が競合する場合は、 1* は 10 ピクセル、 2 は 20 ピクセル、 3 は 30 ピクセルが割り当てられる。 | ||||||||||||||||||||||||||||||||
MultiLengths | コンマで区切られた MultiLength タイプのアイテムのリスト | ||||||||||||||||||||||||||||||||
Number | 一つ以上の数字 | ||||||||||||||||||||||||||||||||
Pixels | この値は、キャンバスのピクセル数を表す整数。 すなわち、値 "50" は 50 ピクセルを意味する。 ピクセルの定義に関する規範的情報については、 [CSS2] を参照されたい。 | ||||||||||||||||||||||||||||||||
Script |
スクリプト・データは、 "script" 要素の内容及び組み込みイベント属性の値であり得る。 ユーザー・エージェントは、スクリプト・データを、 HTML マークアップとして評価してはならず、そのデータをスクリプト・エンジンに渡さなければならない。 スクリプト・データの大文字と小文字の区別は、スクリプトの言語仕様に依存する。 要素内容のスクリプト・データは、文字参照を含んではならない、属性値のスクリプト・データは含んで良いと言うことに注意されたい。 |
||||||||||||||||||||||||||||||||
Shape | 領域の形 | ||||||||||||||||||||||||||||||||
Text | 任意のテキスト・データであり、人間が読んで分かるということとほぼ同意である。 | ||||||||||||||||||||||||||||||||
URI | [URI] による Uniform Resource Identifier。 | ||||||||||||||||||||||||||||||||
URIs | スペースで区切られた [URI] による Uniform Resource Identifiers。 |
本節は参考的。
本節は、上記の構文規則の利用方法の例として、抽象モジュールのサンプルを定義する。 このサンプルは、全ての構文的要素の定義を利用しようとするため、少々複雑である。 典型的なモジュール定義は、これより大分シンプルになるだろう。 結果として、このモジュールは、属性集合 Common を参照していることに注意されたい。 これは、 XHTML モジュール化仕様における、殆どの要素で必要となる全ての基礎的な属性を含んだ集合の定義である。
XHTML スキー・モジュールは、スキー・ロッジの様子を述べるときに使われるマークアップを定義している。 このモジュールで定義される要素と属性は以下の通りである:
要素 | 属性 | 最小内容モデル |
---|---|---|
resort | Common, href (CDATA) | description, Aspen+ |
lodge | Common | description, (Aspen - lift)+ |
lift | Common, href | description? |
chalet | Common, href | description? |
room | Common, href | description? |
lobby | Common, href | description? |
fireplace | Common, href | description? |
description | Common | PCDATA* |
このモジュールは、最小内容モデル lodge | lift | chalet | room | fireplace を持った内容セット Aspen も定義する。
この邦訳は、私 SUGAI, Manabu が私的な勉強のために作成したものです。訳文の正確さは保証できません。特に技術的な利用においては、 W3C の原典を参照してください。
last modified: 10th/Aug./2001; Translated by SUGAI, Manabu.