Copyright ©1999, 2000, 2001 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3Cの免責,商標,文書使用及びソフトウェアライセンスの規則が適用される。
この規定は,XML文書の中の情報を参照する必要がある他の規定における使用のための,定義の集合を提供する。
この節は,この文書の公表時におけるこの文書の状況を記述する。他の文書が,この文書を置き換えるかもしれない。この文書の最新の状況は,W3Cにおいて保守される。
この文書は,XML情報集合(XML Information Set)の勧告である。
この文書は,W3Cメンバ及び関心のある団体によって審議され,W3Cの統括責任者によってW3C勧告として承認された。この文書は,安定した文書であり,参照文書として使用したり,他の文書から引用規定として引用したりしてよい。勧告作成におけるW3Cに役割は,規定への関心を集めること及び規定の広範囲の使用を促進することである。これによって,ウェブの機能性及び相互運用性が高められる。
この文書は,W3Cアーキテクチャ領域におけるXML活動の一部として,W3C XML Core作業グループによって生成された。この作業の背景については,XML活動声明を参照してほしい。
XML情報集合に関連する特許開示が存在する。これは,W3Cの方針に適合するXML情報集合についての特許声明のページにおいて見ることができる。
この文書における誤りは,www-xml-infoset-comments@w3.org(公開アーカイブ)に報告してほしい。
この規定における既知の誤りのリストは,http://www.w3.org/2001/10/02/xml-infoset-errata.htmlで入手可能である。
この規定の英語の版だけを規定的な版とする。この文書の翻訳についての情報は,http://www.w3.org/XML/#transで入手可能である。
現在のW3C勧告及び他の技術文書のリストは,http://www.w3.org/TRで見ることができる。
この規定は,XML情報集合(XML Information Set)と呼ばれる(以下ではInfosetということもある)抽象データ集合を定義する。その目的は,整形式XML文書[XML]の中の情報を参照する必要がある他の規定での使用のために,定義の矛盾のない集合を提供することにある。
この規定は,完全であることを意図していない。情報項目又は特性の取込みに対する基本的な基準は,将来の規定において期待される有用性に基づくものとした。XML処理系が返さなければならない情報の最小集合を構成するものでもない。
XML文書は,それが整形式であって,後に示す名前空間制約を満足する場合,情報集合をもつ。情報集合をもつためには,XML文書が妥当であるという要件は存在しない。
情報集合は,XML文書の構文解析ではなく(この規定では記述されない)方法によって生成されてもよい。合成的情報集合を参照すること。
XML文書の情報集合は,多くの情報項目(information item)から構成される。任意の整形式XML文書のための情報集合は,少なくとも一つの文書情報項目及び幾つかのその他のものを含む。情報項目は,XML文書のある部分の抽象的な記述とする。各々の情報項目は,関連する名前の付いた特性(property)の集合をもつ。この規定では,特性名は,[thus]のように,角括弧の中に示される。情報項目の型は,2.に一覧として示される。
情報集合は,特定のインタフェース又はインタフェースの特定のクラスを要求又は望ましいとすることはない。この規定は,明確さ及び簡単さのために,情報集合を修正された木として表すが,XML情報集合は木構造によって利用可能になるのがよいという要件は存在しない。イベントに基づくインタフェース及び問合せに基づくインタフェースを含む(ただしそれらに制限されない)インタフェースの他の型も,XML情報集合に適合する情報を提供可能とする。
用語"情報集合"及び"情報項目"は,一般的な用語"木"及び"ノード"と,それらが計算において使用される場合には,意味的に,類似している。しかし,前者の用語は,他の特定のデータモデルとの潜在的な混乱を軽減するために,この規定の中で使用される。情報項目は,DOMのノード又はXPathデータモデルの"木"及び"ノード"と1対1に対応付けられるわけではない。
この規定の中では,表現,"しなければならない","することが望ましい",及び"してもよい"は,[RFC2119]で規定された意味を仮定する。
[Namespaces]に適合しないXML 1.0文書は,技術的に整形式であっても,意味のある情報集合をもつとは考えない。すなわち,この規定は,[Namespaces]が規定するとおり以外の方法で使用されるコロンを含む要素名又は属性名をもつ文書に対して,情報集合を定義しない。
さらに,この規定は,名前空間宣言の中に相対URI参照を使用する文書に対して,情報集合を定義しない。これは,[Relative Namespace URI References]の中で記述されたW3C XML Plenary Interest Groupの決定に従っている。
[namespace name]特性の値は,対応する名前空間属性の正規化された値とする。付加的なURIエスケープ化は,処理系によって適用されない。
情報集合は,それの,既に展開された実体参照をもつXML文書を記述する。すなわち,その実体参照は,置換テキストに対応する情報項目によって表現されている。しかし,処理系がこの展開を実行しなくてもよい様々な状況が存在する。実体は,宣言されなくてもよいし,検索可能でなくてもよい。妥当性検証を行わない処理系は,すべての宣言を読み込まないことを選択してもよいし,読み込んだとしても,すべての外部実体を展開しなくてもよい。これらの場合には,非展開実体参照情報項目が,その実体参照を表現するために使用される。
Infosetの中のすべての特性の値は,[XML]の2.11 "行末の取扱い"で記述される行末正規化を考慮する。
幾つかの情報項目は,[base URI]特性又は[declaration base URI]特性をもつ。これらは,[XML Base]に従って計算される。資源の検索は,(例えば,実体解決器において,)構文解析又はそれより下のレベルで再指定先割当てを行ってもよい。この場合,基底URIは,すべての再指定先割当ての後で資源を検索するために使用される最終のURIとなる。
これらの特性の値は,資源の検索のために要求されてもよいURIエスケープ化を反映しない。しかし,その値は,エスケープされた文字を,それらが文書の中で指定された,又は再指定先割当てにおいてサーバによって返却された場合には,含んでもよい。
(文字列又はパイプから読み込まれた文書といった)幾つかの場合,[XML Base]における規則によって,基底URIが応用依存となってもよい。これらの場合,この基底は,[base URI]特性又は[declaration base URI]特性の値を定義しない。
相対URIを解決する場合,[base URI]が,xml:base属性の値に優先して使用されることが望ましい。それらは,合成的情報集合の場合,矛盾していてもよい。
特性の中には,値,未知(unknown)又は値なし(no value)をもつものがあってもよく,それぞれ,特性値は未知である,又は特性値は値をもたない,という。これらの値は,互いに及びすべての他の値と異なっている。特に,それらは,単にメンバをもたないという,空文字列,空集合及び空リストとは異なっている。この規定は,用語ヌル(null)を使用しない。これは,この用語が,この規定で意図するものとは一致しなくてもよい特定の言外の意味をもっていることによる。
この規定は,XML文書を構文解析することから生じる情報集合を記述する。情報集合は,他の方法によって,例えば,DOMのようなAPIの使用によって,又は既存の情報集合を変換することによって,構築されてもよい。
現実の文書に対応する情報集合は,必ず,様々な方法で無矛盾になっている。例えば,要素の[in-scope namespaces]特性は,その要素及びその先祖の[namespace attributes]と矛盾しない。これは,他の方法によって構築された情報集合では正しくなくてもよい。そのような場合,その情報集合に対応するXML文書は存在せず,それを直列化するためには,(例えば,有効範囲の中の名前空間に対応する名前空間宣言を出力することによって,)その矛盾を解決することが要求される。
情報集合は,以下に示すとおり,情報項目の11個の異なる型までを含むことができる。すべての情報項目は,特性をもつ。参照を容易にするために,各特性には,[thus]と示される名前が与えられる。XML 1.0勧告[XML]における定義及び/又は構文へのリンクが,各情報項目に対して与えられる。
XML定義 文書 (2. 文書)
XML構文 [1] document (2.1 整形式XML文書)
情報集合の中にはただ一つの文書情報項目(document information item)が存在し,すべての他の情報項目は,文書情報項目の特性から,他の情報項目の特性を通じて直接に又は間接にアクセス可能とする。
文書情報項目は,次の特性をもつ。
XML定義 要素 (3. 論理構造)
XML構文 [39] element (3. 論理構造)
XML文書の中に出現する各要素に対して要素情報項目(element information item)が存在する。要素情報項目の一つは,文書情報項目の[document element]特性の値であって,要素木のルートに対応する。他のすべての要素情報項目は,その[children]特性に再帰的に従うことによってアクセスできる。
要素情報項目は,次をもつ。
xmlns=""
の宣言は,名前空間宣言として数える。定義によって,([prefix]特性が値をもたないxmlns
で名前付けされたものを含む)すべての名前空間属性は,http://www.w3.org/2000/xmlns/
の名前空間URIをもつ。要素が名前空間宣言をもたない場合には,この集合はメンバをもたない。
http://www.w3.org/XML/1998/namespace
に暗黙的に結合された接頭辞xml
をもつ項目を含む。(名前空間を宣言するために使用される)接頭辞xmlns
をもつ項目は含まない。これは,応用がその接頭辞をもつ要素又は属性には決して出会うことができないことによる。集合は,名前空間を宣言しないでむしろデフォルト名前空間を非宣言化する形式xmlns=""
の宣言を表現するものを除いた,[namespace attributes]のメンバすべてに対応する名前空間項目を含む。修飾された名前の接頭辞を解決する場合,この特性が,[namespace attributes]特性に優先して使用されることが望ましい。合成的情報集合の場合,矛盾が生じるかもしれない。
XML定義 属性 (3.1 開始タグ,終了タグ及び空要素タグ)
XML構文 [41] Attribute (3.1 開始タグ,終了タグ及び空要素タグ)
名前空間宣言となるものを含む,文書の中の各要素の(指定された又はデフォルトとされた)各属性に対して,属性情報項目(attribute information item)が存在する。ただし,名前空間宣言となるものは,要素の[attributes]特性ではなく[namespace attributes]特性のメンバとして出現する。
DTDの中でデフォルト値なしで宣言され要素の開始タグの中で指定されていない属性は,属性情報項目によって表現されない。
属性情報項目は,次の特性をもつ。
XML定義 処理命令 (2.6 処理命令)
XML構文 [16] PI (2.6 処理命令)
文書の中の各処理命令ごとに処理命令情報項目(processing instruction information item)が存在する。外部解析対象実体のためのXML宣言及びテキスト宣言は,処理命令とは考えない。
処理命令情報項目は,次の特性をもつ。
xml:base
属性に対応するPIのための構文が存在しないことによる。
XML定義 4.4.3 含まれる条件の妥当性検証
非展開実体参照情報項目(unexpanded entity reference information item)は,XML処理系が外部解析対象実体を展開していないことを示すことができるプレースホルダとして役に立つ。要素の内容内の外部一般実体への各非展開参照に対しては,このような情報項目は存在しない。妥当性検証を行うXML処理系,又はすべての外部一般実体を読む妥当性検証を行わない処理系は,妥当な文書に対して,決して,非展開実体参照情報項目を生成しない。
非展開実体参照情報項目は,次の特性をもつ。
XML構文 [2] Char (2.2 文字)
文書の中に,文字どおりに,文字参照として,又はCDATAセクション内に,出現する各データ文字ごとに,文字情報項目(character information item)が存在する。
各文字は,論理的に別々の情報項目とするが,XML応用は,必要又は望むとおりに,文字の集まりをより大きなグループへの固まりとして自由に扱ってよい。
文字情報項目は,次の特性をもつ。
XML定義 注釈 (2.5 注釈)
XML構文 [15] Comment (2.5 注釈)
元の文書の中の各XML注釈ごとに注釈情報項目(comment information item)が存在する。ただし,DTDの中に出現する(表現されていない)ものは除く。
注釈情報項目は,次の特性をもつ。
XML定義 文書型宣言 (2.8, 前書き及び文書型宣言)
XML構文 [28] doctypedecl (2.8, 前書き及び文書型宣言)
XML文書が文書型宣言をもつ場合,情報集合は,一つの文書型宣言情報項目(document type declaration information item)を含む。実体及び記法は,文書情報項目の特性として提供されており,文書型宣言情報項目ではないことい注意すること。
文書型宣言情報項目は,次の特性をもつ。
XML定義 実体 (4. 物理構造)
XML構文 [71] GEDecl (4.2 実体)
DTDの中に宣言された各解析対象外一般実体ごとに解析対象外実体情報項目(unparsed entity information item)が存在する。
解析対象外実体情報項目は,次の特性をもつ。
XML定義 記法 (4.7 記法)
XML構文 [82] NotationDecl (4.7 記法)
DTDの中で宣言される各記法ごとに記法情報項目(notation information item)が存在する。
記法情報項目は,次の特性をもつ。
文書の中の各要素は,その要素のための有効範囲の中にある各名前空間ごとに名前空間情報項目(namespace information item)をもつ。
名前空間情報項目は,次の特性をもつ。
xmlns:
接頭辞に続く属性名の一部とする。属性名が単にxmlns
であって,その結果,宣言がデフォルト名前空間による場合,この特性は値をもたない。
情報集合の目的は定義の集合を提供することなので,適合性は,実装ではなく,それらの定義を使用する規定の特性とする。
情報集合を参照する規定は,次を行わなければならない。
規定が,合成的情報集合の下で先に示したとおりの矛盾をもつ情報集合の構築を許す場合,それらの矛盾をどのように解決するのがよいかを示してもよく,規定が情報集合の直列化を提供する場合には,それを行うことが望ましい。
http://www.w3.org/TR/REC-xml-names/
で入手可能。
http://www.ietf.org/rfc/rfc2119.txt
で入手可能。http://www.w3.org/TR/REC-xml
で入手可能。
http://www.w3.org/TR/xmlbase
で入手可能。
http://www.w3.org/TR/REC-DOM-Level-1/
で入手可能。
http://www.w3.org/TR/NOTE-xptr-infoset-liaison
で入手可能。http://www.w3.org/2000/09/xppa
で入手可能。
http://www.w3.org/TR/xml-infoset-rdfs
で入手可能。
XML 1.0勧告[XML]は,基本的にXML構文に関心があるが,XML処理系のための幾つかの特定の報告要件も含んでいる。
報告要件は,この規定の適用範囲外のエラー及び文書情報を含む。文書情報報告のためのXML 1.0要件のすべては,XML情報集合に統合された。(次において,)括弧の中の数字は,XML勧告の節を参照する。
次のXML文書の例を検討する。
<?xml version="1.0"?> <msg:message doc:date="19990421" xmlns:doc="http://doc.example.org/namespaces/doc" xmlns:msg="http://message.example.org/" >Phone home!</msg:message>
このXML文書に対する情報集合は,次の情報項目を含む。
http://message.example.org/
",局所部分が"message
",及び接頭辞が"msg
"である要素情報項目。
http://doc.example.org/namespaces/doc
",局所部分が"date
",接頭辞が"doc
",及び正規化値が"19990421
"である属性情報項目。
http://www.w3.org/XML/1998/namespace
,http://doc.example.org/namespaces/doc
及びhttp://message.example.org/
の名前空間に対する3個の名前空間情報項目。
次の情報は,XML情報集合の現在の版では表現されない。ただし,この一覧は,完全であることを意図してはいない。
<foo/>
と<foo></foo>
との間の差異。
情報集合の形式的な特徴づけについては,XML情報集合のためのRDFスキーマを参照すること。