この文書はXML Infoset 勧告 2001年1024日版を翻訳したものです。

翻訳文はオリジナルの仕様を完全に翻訳したものではありません。語法レベルのみならず、内容理解としての誤りも存在しえます。また、正しい翻訳が意図されていても、読む人にとっては理解出来ないこともありえます。翻訳文に対するコメントは歓迎します。

翻訳文に対する二次的著作権、および同一性保持権は放棄します(注意: 著作権は、何者にも独占的譲渡はしません)。

著作権表記の引用は、完全に下記本文とかぶるので省略。
Translation Copyright (C)2001.10.28 Ginga, Almost All Rights Abondoned

W3C

XML 情報セット

W3C 勧告 24 October 2001

このバージョン:
http://www.w3.org/TR/2001/REC-xml-infoset-20011024
最新バージョン:
http://www.w3.org/TR/xml-infoset
以前のバージョン:
http://www.w3.org/TR/2001/PR-xml-infoset-20010810
編集者:
John Cowan, jcowan@reutershealth.com
Richard Tobin, richard@cogsci.ed.ac.uk

概要

この仕様は、これの他にXMLドキュメント中の情報を参照する必要のある仕様のための、一連の定義を提供する。

この文書の状態

このセクションでは、このドキュメントの公表時点での状態を説明する。他のドキュメントがこのドキュメントにとって代わるかもしれない。このドキュメントのシリーズの最新の状態は、W3Cによってメンテナンスされている。

これはXML情報セットに関する、W3Cの 勧告 である。

このドキュメントは、W3Cメンバーとその他の関係団体によってレビューされ、ディレクターによってW3C勧告として承認された。 これは安定したドキュメントであり、資料または規範的な参照として、他のドキュメントから参照に用いられうる。 W3Cの勧告を作成する役割は、仕様に関心をもたせて、それが広く使用されるよう促すことにある。それがWebの機能性と相互運用性を増強する。

このドキュメントはW3C XML Core ワーキンググループによって、W3CアーキテクチャドメインのXMLアクティビティの一環として、作成された。 この成果の背景については、 XML アクティビティの声明を参照。

XML情報セットに関連する特許の情報が開示されている; W3C ポリシー に準拠した XML Infoset 特許声明ページ で見ることができる。

このドキュメントの間違いは、 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で見ることができる。

目次


1. イントロダクション

この仕様は、XML 情報セット (Infoset) と呼ばれる、抽象的なデータセットを定義する。 この目的は、ウェルフォームドXMLドキュメント [XML] 中の情報を参照する必要がある、これの他の仕様で用いるための、一貫した定義のセットを提供することにある。

これは完全なものを目指しているわけではない; 情報項目やプロパティを包含する主要な基準は、将来の仕様における利便性を期待してのものである。また、XML処理系が返さなければならない最低限の情報のセットを強制するものでもない。

XMLドキュメントは、ウェルフォームドであり、かつ 以下で説明するネームスペースの制約を満たしているとき、情報セットをもつ。 情報セットをもつために、XMLドキュメントが有効(valid: 妥当)である、という必要は無い。

情報セットは、XMLドキュメントを解析する以外の方法(この仕様では説明しない)によって生成されても良い。 以下の総合的インフォセット を参照。

XMLドキュメントの情報セットは、一連の 情報項目からなる; いかなるXMLドキュメントの情報セットにも、 少なくとも1つの ドキュメント 情報項目が、そしてその他多くが含まれる。 情報項目は、XMLドキュメントのいくつかの部分の抽象表現である: それぞれの情報項目は、 プロパティと命名された関連物のセットからなる。 この仕様では、プロパティ名は角括弧で [このように] 示される。 情報項目の型は、 セクション 2で列挙されている。

XML情報セットは、特定のインターフェースやインターフェースのクラスを要求したり支持したりするものではない。 この仕様は、情報セットを、明確化と単純化のために修正されたツリーとして提示するが、XML情報セットがツリー構造を通じて利用可能でなければならないという要求はない; イベントベースやクエリベースのインターフェースなども含めて(また、これらに限らず)、この他の種類のインターフェースも、XML情報セットに準拠する情報を提供することが可能である。

「情報セット」と「情報項目」という用語は、コンピュータの世界で用いられる一般的な用語である「ツリー」と「ノード」に類似する意味をもつ。 しかし、前者(訳注: 「情報セット」と「情報項目」)は、この仕様の中では、他の特定のデータモデルとの混乱を避けるために用いられる。 情報項目は、DOMのノードやXPathデータモデルの「ツリー」あるいは「ノード」に一対一対応するものではない

この仕様において、「ねばならない」「べきである」「かもしれない」という言葉は、 それらの単語が大文字で表れない場合を除き(except that the words do not appear in uppercase)、 [RFC2119]で規定する意味をもつと推定される。

ネームスペース

[ネームスペース]に適合しない XML 1.0のドキュメントは、技術的にウェルフォームドであっても、意味のある情報セットをもつとは考えられない。これはすなわち、この仕様は、 [ネームスペース]によって事前定義される以外の方法でコロンを含むエレメント名や属性名をもつドキュメントについては、情報セットを定義しない。

さらに、この仕様ではネームスペース宣言において相対URI参照を用いるようなドキュメントについては、情報セットを定義しない。 これは[相対ネームスペースURI参照]で説明される、W3CのXML総会(W3C XML Plenary Interest Group)の決定に基づく。

[namespace name] プロパティの値は、該当するネームスペース属性の正規化された値である; 処理系によってこれに付加的なURIエスケープが適用されることはない。

実体(エンティティ)

情報セットは、そのXMLドキュメントを、実体参照を既に展開された形で、つまり、それらの置換テキストに該当する情報項目によって表現された形で、表す。 しかし、処理系がこの展開を実行しない環境も多く存在する。 実体は宣言されなかったり、扱えなかったりしてはならない。 非検証の処理系は全ての宣言を読み込む方法を採らなくても良く、採るとしても、全ての外部実体を展開しなくても良い。 このように展開されない実体参照の場合は、 情報項目は実体参照を表すものとして扱われる。

改行の扱い

インフォセットにおける全てのプロパティの値は、 [XML] 2.11 "改行の扱い" で説明される改行の正規化を考慮する。

基底(ベース)URI

多くの情報項目が、[base URI] あるいは [declaration base URI] のプロパティをもつ。 これらは [XML 基底]に基づいて計算される。 あるリソースの扱いは、解析系レベル(たとえば実体解決(エンティティリゾルバ)の内容)あるいはそれ以下で、リダイレクトを含むかもしれない; この場合、基底URIは、全てのリダイレクトの後でリソースを扱うために用いられる、最終的なURIである。

これらのプロパティの値は、リソースを扱うために要求されうるURIエスケープを、何ら反映するものではないが、ドキュメント中に指定されたり、あるいはリダイレクトの場合にサーバから返された場合には、エスケープされた文字を含んでも良い。

場合によっては(文字列あるいはパイプから読み込まれたドキュメントなど)、 [XML基底]におけるルールは、アプリケーション依存で、単一の基底URIになるかもしれない。 そのような場合には、この仕様は [base URI] や [declaration base URI] のプロパティの値を定義しない。

相対URIの解決時には、xml:base 属性の値よりも[base URI] プロパティが用いられるべきである; あれらは総合的インフォセットの場合に一貫しない。

``Unknown'' と ``No Value''

いくつかのプロパティでは、ときに unknown あるいは no valueという値をもつことがあり、それぞれ、プロパティ値は 未知、あるいは 値が無い と言われる。 これらの値はお互いに、そしてその他の値と、異なるものである。 特にこれらは、それぞれ単にメンバーをもたない、空文字列・空集合・空リストある場合に区別できる。 この仕様では、null という用語を用いない。 いくつかのコミュニティでこれは、上記で認識されたいずれにもマッチしないという特別な意味をもつ。

総合的インフォセット

この仕様では、XMLドキュメントを解析して得られた情報セットを説明する。 情報セットはその他の方法、たとえばDOMのようなAPIの利用や、既存の情報セットの変換などによって構築されても良い。

実存するドキュメントに該当する情報セットは、多くの方法で一貫していることが必要である; たとえばあるエレメントの[in-scope namespaces]プロパティは、そのエレメントおよびその祖先エレメントの[namespace attributes] プロパティに合致する。 これは、情報セットが他の方法によって構築されるとは限らない; そのような場合には、情報セットに該当するXMLドキュメントは存在しないかもしれず、 そしてこれをシリアライズするためには、(たとえばスコープ中のネームスペースに合致するネームスペース宣言を出力することによって)一貫性の欠落を解決する必要がある。

2. 情報項目

情報セットには、以下のセクションで説明される、全部で11種別の情報項目を含めることができる。 どの情報項目もプロパティをもつ。 リファレンスの用に供するため、それぞれのプロパティには名前があり、 [このように]示される。 勧告 [XML] 中の定義あるいはシンタックスへのリンクが、それぞれの情報項目について提供される。

2.1. ドキュメント 情報項目

XML 定義: 文書 (セクション 2, 文書)

XML シンタックス: [1] 文書 (セクション 2.1, ウェルフォームドXML文書)

これは情報セットの中でただ1つのドキュメント情報項目であり、他の全ての情報項目はこのドキュメント情報項目のプロパティから、直接的にあるいはそれら他の情報項目のプロパティから間接的に、アクセス可能である。

文書情報項目は以下のプロパティをもつ:

  1. [children] ドキュメント順で順序付けられた、子となる情報項目のリスト。このリストにはただ1つの エレメント 情報項目が含まれる。このリストには、ドキュメントエレメントの外側にあるそれぞれの処理命令を表す、1つの処理命令情報項目も含まれ、またドキュメントエレメントの外側にあるそれぞれのコメントを表す、1つのコメント 情報項目も含まれる。 DTDの中にある処理命令およびコメントは除外される。 もし文書型宣言があれば、このリストには文書型宣言情報項目も含まれる。
  2. [document element] ドキュメントエレメントに該当する 要素情報項目。
  3. [notations] 1つ1つがDTDの中で宣言された記法を表す記法 情報項目の順序無しセット。
  4. [unparsed entities] 1つ1つがDTDの中で宣言された解析されない実体を表す解析されない実体情報項目の順序無しセット。
  5. [base URI] ドキュメント実体の基底URI。
  6. [character encoding scheme] ドキュメント実体が表現された場での文字エンコーディングスキームの名前。
  7. [standalone] ドキュメントのスタンドアロン状態をあらわすyesまたはnoの指示。このプロパティはドキュメント実体の最初におかれるXML宣言中のオプションであるスタンドアロン文書宣言から引用され、スタンドアロン文書宣言が無い場合は no の値をもつ。
  8. [version] ドキュメントのXMLのバージョンを表す文字列。このプロパティはオプションとしてドキュメント実体の最初におかれたXML宣言から引用され、XML宣言が無い場合は no の値をもつ。
  9. [all declarations processed] このプロパティは厳密にはドキュメントのインフォセットの一部を言及するものではない。 これは処理系が完全なDTDを読み込んだかどうかを表すものである。 これの値は論理値である。falseであれば、特定の(以下の説明で示される)プロパティは未知であり得る。trueであれば、プロパティが未知であることは絶対にない。

2.2. エレメント 情報項目

XML 定義: 要素 (セクション 3, 論理構造)

XML シンタックス: [39] 要素 (セクション 3, 論理構造)

XMLドキュメント中に出現するそれぞれのエレメントについて、エレメント情報項目 がある。 エレメント情報項目のひとつは、ドキュメント情報項目の [document element] プロパティの値であり、エレメントツリーのルートに該当し、その他の全てのエレメント情報項目はこれの [children] プロパティから再帰的に探すことでアクセス可能である。

エレメント情報項目は以下のプロパティをもつ:

  1. [namespace name] もしあれば、そのエレメント型のネームスペース名。もしそのエレメントがネームスペースに帰属していなければ、このプロパティは値をもたない。
  2. [local name] そのエレメント型の名前のローカル部分。 これにはネームスペースプレフィックスやそれに続くコロンを含まない。
  3. [prefix] そのエレメント型の名前のネームスペースプレフィックス部分。この名前がプレフィックスをもたなければ、このプロパティは値をもたない。 ネームスペースを考慮したアプリケーションは、エレメントを識別するためには、プレフィックスではなくネームスペース名を用いるべきであることに注意。
  4. [children] ドキュメント順で順序付けられた、子となる情報項目のリスト。 このリストにはエレメント, 処理命令, 展開されない実体参照, 文字, コメント の情報項目が含まれ、それぞれ現在のエレメント中に直接出現する、エレメント、処理命令、処理されない外部実体への参照、データ文字、コメントを表す。 もしこのエレメントが空であれば、このリストはメンバーをもたない。
  5. [attributes] 属性 情報項目の順序無しセットで、それぞれがこのエレメントの属性(指定されたもの、あるいはDTDでデフォルトとされたもの)を表す。 ネームスペース宣言はこのセットの中には出現しない。 もしこのエレメントに属性が無ければ、このリストはメンバーをもたない。
  6. [namespace attributes] 属性 情報項目の順序無しセットで、それぞれがこのエレメントのネームスペース宣言(指定されたもの、あるいはDTDでデフォルトとされたもの)を表す。 xmlns=""の形式による、デフォルトネームスペースを取り消し宣言する宣言は、ネームスペース宣言として考えられる。 定義によれば、全てのネームスペース属性(xmlnsと命名され、[prefix] プロパティが値をもたないものも含む) は http://www.w3.org/2000/xmlns/ のネームスペースURIをもつ。 もしこの要素にネームスペース宣言が無ければ、このセットはメンバーをもたない。
  7. [in-scope namespaces] ネームスペース 情報項目の順序無しセットで、それぞれがこのエレメントで有効なネームスペースを表す。 このセットは常に、ネームスペース名http://www.w3.org/XML/1998/namespaceに暗黙のうちに従ったプレフィックスxml をもつ項目を含む。 これはプレフィックス xmlns (ネームスペースの宣言に用いられる)となる項目をもたない。アプリケーションはこのプレフィックスをもつエレメントあるいは属性に遭遇することは絶対にないからである。 このセットは、 ネームスペースの宣言ではなくデフォルトネームスペースの取消宣言を行うxmlns=""の形式の宣言を表すものを除いて、[namespace attributes]の全てのメンバーに該当するネームスペース項目を含みうる。 有修飾名のプレフィックスを解決する時は、[namespace attributes] プロパティよりもこのプロパティが用いられるべきである; あれらは総合的インフォセットの場合に一貫しない。
  8. [base URI] この要素の基底URI。
  9. [parent] この情報項目をその [children] プロパティとして含むようなドキュメント情報項目あるいはエレメント情報項目。

2.3. 属性 情報項目

XML 定義: 属性 (セクション 3.1, 開始タグ、終了タグ、空要素タグ)

XML シンタックス: [41] 属性 (セクション 3.1, 開始タグ、終了タグ、空要素タグ)

ドキュメント中のそれぞれのエレメントのそれぞれの属性(指定されたものあるいはデフォルトのもの)について、属性情報項目 がある。これにはネームスペース宣言も含まれる。 ただし後者はエレメントの [attributes] プロパティではなく [namespace attributes] プロパティのメンバーとして出現する。

DTDの中で定義された属性でデフォルト値が無く、その要素の開始タグで指定されていないものは、属性情報項目で表されることはない。

属性情報項目は次のプロパティをもつ:

  1. [namespace name] もしあれば、その属性のネームスペース名。無ければ、このプロパティは値をもたない。
  2. [local name] 属性名のローカル部分。これにはネームスペースプレフィックスやそれに続くコロンを含まない。
  3. [prefix] 属性名のネームスペースプレフィックス部分。もしこの名前がプレフィックスを含まなければ、このプロパティは値をもたない。 ネームスペースを考慮したアプリケーションは、属性を識別するためには、プレフィックスではなくネームスペース名を用いるべきであることに注意。
  4. [normalized value] 正規化された属性値(3.3.3 属性値の正規化 [XML]を参照)。
  5. [specified] この属性がこの要素の開始タグで実際に指定されたものか、DTDでデフォルトとされたものかを示すフラグ。
  6. [attribute type] DTDでこの属性のために宣言された型の指示。 有効な値は ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION, CDATA, ENUMERATION である。 この属性についての宣言がなければ、このプロパティは値をもたない。 もし宣言を読み込むことが出来ないが、ドキュメント情報項目の [all declarations processed] プロパティがfalseであれば、このプロパティの値は未知である。 アプリケーションは値をもたないこと(no value)と未知であること(unknown)を、値CDATAと等しいものと見なしてはならない。
  7. [references] もしこの属性の型が ID, NMTOKEN, NMTOKENS, CDATA, ENUMERATION であれば、 このプロパティは値をもたない。 もしこの属性の型が未知であれば、このプロパティは値をもたない。 それ以外(この属性の型が IDREF, IDREFS, ENTITY, ENTITIES, NOTATION)であれば、 このプロパティの値は、この属性から参照される エレメント, 解析されない実体, 記法の情報項目の、出現順での順序付きリストである。 この場合、もしこの属性値が文法的に無効であれば、このプロパティは値をもたない。 もしこの型が IDREF あるいは IDREFS であり、これらのIDのうち、そのドキュメント中でID属性の値としてこの値をもつものが出現しないものがあったら、 あるいは、もしこの型が ENTITY あるいは ENTITIES あるいは NOTATION であり、 それらの実体あるいは記法のうち宣言が読み込まれなかったものがあった場合は、このプロパティは値をもたないか、未知となる。これはそのドキュメント情報項目の [all declarations processed] プロパティが true であるか false であるかに依存する。 もしこの型が IDREF あるいは IDREFS であり、 それらのIDのうち、ドキュメント中で1つより多くそのID属性が出現した場合は、このプロパティは値をもたない。
  8. [owner element] その [attributes] プロパティとしてこの情報項目を含むようなエレメント情報項目。

2.4. 処理命令 情報項目

XML 定義: 処理命令 (セクション 2.6, 処理命令)

XML シンタックス: [16] PI (セクション 2.6, 処理命令)

ドキュメント中のそれぞれの処理命令について、処理命令情報項目 がある。 XML宣言および外部解析済み実体のためのテキスト修飾は、処理命令とは見なされない。

処理命令情報項目は以下のプロパティをもつ:

  1. [target] 処理命令の対象部分を表す文字列(XML名)。
  2. [content] 処理命令の内容を表す文字列で、対象とそれに続く空白を全て除外したもの。もしそのような内容が無い場合は、このプロパティの値は空文字列となる。
  3. [base URI] PIの基底URI。 もしインフォセットがXMLドキュメントとしてシリアライズされる場合、 エレメントのxml:base 属性に該当するPIのシンタックスは無いので、 もとは外部実体のトップレベルで出現していたPIの基底URIを保存しておくことは出来ないかもしれない。
  4. [notation] 対象によって命名された記法情報項目。 もしこの名前を伴う記法の宣言が無い場合、このプロパティは値をもたない。 もし宣言が読み込めなかったが、このドキュメント情報項目の [all declarations processed] プロパティが false であれば(すなわち読み込めなかった宣言があり得る)、 このプロパティの値は未知である。
  5. [parent] この情報項目を [children] プロパティに含んでいるドキュメント、エレメント、あるいは文書型宣言の情報項目。

2.5. 展開されない実体参照 情報項目

XML 定義: セクション 4.4.3, 検証時の取り込み

展開されない実体参照情報項目は、 XML処理系が 外部解析済み実体を展開されなかったことを示すことができるプレースホルダとして用いることができる。 エレメントの内容で、それぞれの外部一般実体への展開されなかった参照についての情報項目がある。 検証を行うXML処理系、あるいは全ての外部一般実体を読み込む非検証処理系は、有効な(妥当な)ドキュメントについて、展開されない実体参照情報項目を生成することはない。

展開されない実体参照情報項目は次のプロパティをもつ:

  1. [name] 参照される実体の名前。
  2. [system identifier] 実体の宣言中に出現したとおりで、処理系によって付加的なURIエスケープを適用されていない、実体のシステム識別子。 もしこの実体に宣言がない場合、このプロパティは値をもたない。 もし宣言が読み込まれなかったが、そのドキュメント情報項目の [all declarations processed] プロパティが false である場合(すなわち読み込まれなかった宣言がありうる場合)、このプロパティの値は未知である。
  3. [public identifier] 4.2.2 外部実体 [XML]で説明されるとおりに正規化された、実体の公開識別子。 もしこの実体に宣言がない場合、あるいはその宣言に公開識別子が含まれていなかった場合、このプロパティは値をもたない。 もし宣言が読み込まれなかったが、そのドキュメント情報項目の [all declarations processed] プロパティが false である場合(すなわち読み込まれなかった宣言がありうる場合)、このプロパティの値は未知である。
  4. [declaration base URI] そのシステム識別子が解決すべき相対基底URI(すなわち、この実体宣言が出現する位置の中にあるリソースの基底URI)。 [system identifier] プロパティと同様の条件で、これは未知となるか、あるいは値をもたない。
  5. [parent] この情報項目を [children] プロパティの中にもつエレメント情報項目。

2.6. 文字 情報項目

XML シンタックス: [2] Char (セクション 2.2, 文字)

リテラルであるか、文字参照であるか、CDATAセクション中であるかを問わず、ドキュメント中に出現するそれぞれの文字について、文字情報項目 がある。

それぞれの文字は論理的に別個の情報項目であるが、XMLアプリケーションは必要または期待に応じて、文字をより大きな集合にまとめてもよい。

文字情報項目は以下のプロパティをもつ:

  1. [character code] その文字のISO 10646 の文字コード (0 から #x10FFFFの範囲であるが、全ての値がXML文字コードとして適正であるとは限らない)。
  2. [element content whitespace] その文字がエレメントの内容に出現した空白([XML], 2.10 "空白の扱い"を参照)であるかどうかを示す論理値。 検証を行うXML処理系は、XML 1.0 によって、この情報を提供することが必要である。 もし包含しているエレメントについて宣言が無い場合、空白文字については、このプロパティは値をもたない。 もし宣言が読み込まれなかったが、そのドキュメント情報項目の [all declarations processed] プロパティが false である場合(すなわち読み込まれなかった宣言がありうる場合)、空白文字については、このプロパティの値は未知である。 もし空白文字でなければ、その文字についてはこれは常に false となる。
  3. [parent] この情報項目を [children] プロパティの中にもつエレメント情報項目。

2.7. コメント情報項目

XML 定義: 注釈 (セクション 2.5, 注釈)

XML シンタックス: [15] 注釈 (セクション 2.5, 注釈)

オリジナルのドキュメント中にあるそれぞれのXMLコメントについて、DTD中に出現したものを除いて(それらは表されない)、 コメント情報項目 がある。

コメント情報項目は以下のプロパティをもつ:

  1. [content] コメントの内容を表す文字列。
  2. [parent] この情報項目を [children] プロパティの中にもつドキュメント情報項目あるいはエレメント情報項目。

2.8. 文書型宣言 情報項目

XML 定義: 文書型宣言 (セクション 2.8, 前書きおよび文書型宣言)

XML シンタックス: [28] doctypedecl (セクション 2.8, 前書きおよび文書型宣言)

もしXML文書が文書型宣言をもっていれば、その情報セットには1つの文書型宣言情報項目が含まれる。 実体と記法については、文書型宣言情報項目としてではなく、ドキュメント情報項目のプロパティとして提供されることに注意。

文書型宣言情報項目は、以下のプロパティをもつ:

  1. [system identifier] DOCTYPE宣言の中に出現する、処理系によって付加的なURIエスケープを適用されていない、外部サブセットのシステム識別子。 もしこの外部サブセットに宣言がない場合、このプロパティは値をもたない。
  2. [public identifier] 4.2.2 外部実体 [XML]で説明されるとおりに正規化された、外部サブセットの公開識別子。 もしこの外部サブセットに宣言がない場合、あるいは公開識別子が無い場合、このプロパティは値をもたない。
  3. [children] DTD中に出現した処理命令を表す処理命令 情報項目の、オリジナルのドキュメント順での順序付きリスト。 内部DTDサブセット中の項目は、外部サブセット中のそれらよりも先に出現する。
  4. [parent] これのドキュメント情報項目。

2.9. 解析されない実体 情報項目

XML 定義: 実体 (セクション 4, 物理的構造)

XML シンタックス: [71] GEDecl (セクション 4.2, 実体)

DTDで宣言された、解析されない一般実体それぞれについて、解析されない実体情報項目がある。

解析されない実体情報項目は、以下のプロパティをもつ:

  1. [name] 実体の名前。
  2. [system identifier] この実体の宣言中に出現する、処理系によって付加的なURIエスケープを適用されていない、実体のシステム識別子。
  3. [public identifier] 4.2.2 外部実体 [XML]で説明されるとおりに正規化された、実体の公開識別子。 もしこの実体に公開識別子が無い場合、このプロパティは値をもたない。
  4. [declaration base URI] そのシステム識別子が解決すべき相対基底URI(すなわち、この実体宣言が出現する位置の中にあるリソースの基底URI)。
  5. [notation name] 実体に関連付けられた記法の名前。
  6. [notation] 記法名によって名前付けされた notation 情報項目。 もしこの名前をもつ記法の宣言が無い場合、このプロパティは値をもたない。 もし宣言が読み込めなかったが、このドキュメントの [all declarations processed] プロパティが false である場合(つまり読み込まれなかった宣言があり得る場合)、このプロパティの値は未知である。

2.10. 記法 情報項目

XML 定義: 記法 (セクション 4.7, 記法)

XML シンタックス: [82] NotationDecl (セクション 4.7, 記法)

DTD中で宣言されたそれぞれの記法について、記法 情報項目 がある。

記法情報項目は、以下のプロパティをもつ:

  1. [name] その記法の名前。
  2. [system identifier] この記法の宣言中に出現する、処理系によって付加的なURIエスケープを適用されていない、記法のシステム識別子。 もしシステム識別子が指定されなければ、このプロパティは値をもたない。
  3. [public identifier] 4.2.2 外部実体 [XML]で説明されるとおりに正規化された、記法の公開識別子。 もしこの記法に公開識別子が無い場合、このプロパティは値をもたない。
  4. [declaration base URI] そのシステム識別子が解決すべき相対基底URI(すなわち、この記法宣言が出現する位置の中にあるリソースの基底URI)。

2.11. ネームスペース 情報項目

ドキュメント中のそれぞれのエレメントは、それらのスコープにあるそれぞれのネームスペースについて、ネームスペース情報項目 をもつ。

ネームスペース情報項目は、以下のプロパティをもつ:

  1. [prefix] この項目がそのバインディングについて記述するようなプレフィックス。 文法的には、これは xmlns: プレフィックスに続く属性名の部分である。 もし属性名が単に xmlnsであり、その宣言がデフォルトネームスペースのものであれば、このプロパティは値をもたない。
  2. [namespace name] そのプレフィックスにバインドされるネームスペース名。

3. 準拠性

情報セットの目的は定義の集合を提供することにあるので、準拠性とは、これらの定義を使用する仕様の特徴であって、実装の特徴ではない。

インフォセットを参照する仕様は:

もしある仕様が、 前述の総合的な情報セット の元で矛盾をかかえるような情報セットの構築を許容する場合、この矛盾がどのように解決されるかを説明し、インフォセットのシリアライゼーションが提供される場合はそれを実現すべきである。

Appendix A. 参考文献

規範的な参考文献

ISO/IEC 10646
ISO (International Organization for Standardization). ISO/IEC 10646-1993 (E). Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 1993 (plus amendments AM 1 through AM 7).
Namespaces
Namespaces in XML, W3C, eds. Tim Bray, Dave Hollander, Andrew Layman. 14 January 1999. Available at http://www.w3.org/TR/REC-xml-names/.
RFC2119
Key words for use in RFCs to Indicate Requirement Levels, ed. S. Bradner. March 1997. Available at http://www.ietf.org/rfc/rfc2119.txt.
XML
Extensible Markup Language (XML) 1.0 (Second Edition), W3C, eds. Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler. 6 October 2000. Available at http://www.w3.org/TR/REC-xml.
XML Base
XML Base, W3C, ed. Jonathan Marsh. February 2000. Available at http://www.w3.org/TR/xmlbase.

非規範的な参考文献

DOM
Document Object Model (DOM) Level 1 Specification, W3C, eds. Vidur Apparao, Steve Byrne, Mike Champion, et al. 1 October 1998. Available at http://www.w3.org/TR/REC-DOM-Level-1/.
XPointer-Liaison
XPointer-Information Set Liaison Statement, W3C, ed. Steven J. DeRose. 24 February 1999. Available at http://www.w3.org/TR/NOTE-xptr-infoset-liaison.
Relative Namespace URI References
Results of W3C XML Plenary Ballot on relative URI References in namespace declarations, 3-17 July 2000, W3C, eds. Dave Hollander, C. M. Sperberg-McQueen. 6 September 2000. Available at http://www.w3.org/2000/09/xppa.
RDF Schema for the XML Information Set
RDF Schema for the XML Information Set, W3C, ed. Richard Tobin. 6 April 2001. Available at http://www.w3.org/TR/xml-infoset-rdfs.

Appendix B: XML 1.0 報告処理の要求事項(非規範的)

XML 1.0 勧告 [XML] はXML文法を主としているが、これにはXML処理系の報告処理の要求事項をいくつか含まれている。

この報告処理の要求事項には、この仕様の適用範囲外であるエラーと、ドキュメント情報が含まれる。 XML 1.0 のドキュメント情報の報告処理に関する要求事項は全て、XML情報セットの中に統合されている; 丸括弧中の番号がこの XML 仕様のセクションを参照している:

  1. XML処理系は常に、そのドキュメント中で、マークアップではない部分である文字を、全てそのアプリケーションに提供しなければならない (2.10)。
  2. 検証を行うXML処理系は、ドキュメント中の文字のどれが、エレメントの内容として出現した空白であるかをアプリケーションに伝達しなければならない (2.10)。
  3. XML処理系は、アプリケーションに渡す前に、行末を LF に正規化しなければならない (2.11)。
  4. XML処理系は、アプリケーションに渡す前に、属性値を 3.3.3 節の規則に従って正規化しなければならない。
  5. XML処理系は、アプリケーションに、宣言された記法の名前および外部識別子(システム識別子、公開識別子、あるいはその両方)を渡さなければならない (4.7)。
  6. 解析されない実体の名前が明示的にあるいはデフォルトとして ENTITY あるいは ENTITIES 属性の値として出現した場合、XML処理系はその名前、システム識別子、そして(もしあれば)公開識別子を、実体と記法の両方について、アプリケーションに提供しなければならない (4.6, 4.7)。
  7. XML処理系は、アプリケーションに処理命令を渡さなければならない(2.6)。
  8. 実体参照の解析済み実体の置換テキストを含まないXML処理系(非検証系のものであることが必要)は、アプリケーションに、認識したが読み込まなかった実体について、通知しなければならない (4.4.3)。
  9. 検証を行うXML処理系は、実体参照を置換する実体のテキストを含まなければならない (5.2)。
  10. XML処理系は、エレメントの型で、DTDで宣言されたが、そのエレメントの開始タグでは出現しなかった、属性のデフォルト値を、提供しなければならない (3.3.2)。

Appendix C: 例 (非規範的)

以下の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ドキュメントの情報セットには、以下の情報項目が含まれる:

Appendix D: 情報セットでないもの

以下の情報は現在のバージョンのXML情報セットでは表されない(この一覧は網羅することを意図していない):

  1. DTD中のELEMENT宣言に由来する、エレメントの内容モデル。
  2. ATTLIST宣言における属性定義のグループ化および順序付け。
  3. 文書型の名前
  4. ドキュメントエレメントの外側にある空白。
  5. PIターゲット名のすぐ後ろに続く空白。
  6. 文字が文字参照によって表されたかどうか。
  7. 空エレメントの2つの形式の違い: <foo/> <foo></foo>.
  8. 開始タグと終了タグの中の空白(属性値の中の意味のある空白以外)。
  9. 行末のCR、CR-LF、LFの違い。
  10. 開始タグ中の属性の順番。
  11. DTD中の宣言の順番。
  12. DTC中の条件分岐のセクションの境目。
  13. DTD中のパラメータ実体の境目。
  14. DTD中のコメント。
  15. 宣言の位置(内部のサブセットか、外部のサブセットか、パラメータ実体か)。
  16. IGNORE条件セクション中にあるものと、 同様に、それ以前の宣言によって上書きされた実体や属性の宣言を含む、無視された宣言。
  17. 属性値を囲むために用いられたクォーテーションマークの種類(シングルまたはダブル)。
  18. 一般の解析済み実体の境目。
  19. CDATAマークされたセクションの境目。
  20. DTDで宣言された、属性のデフォルト値。

Appendix E: RDF スキーマ (非規範的)

インフォセットの形式的な特徴付け(characterization)については XML 情報セットのためのRDFスキーマ を参照。