XML情報セット

XML情報セットXML Infoset)は、XML文書の抽象データモデルを情報項目の集合として定義するW3C仕様です。[ 1 ] XML Infosetは、XML文書のコンポーネントを参照するための標準化された方法を提供し、XML関連の標準とツールの基盤として機能します。

XML情報セットは、文書、要素、属性、処理命令文字名前空間など、11種類の情報項目を識別します。各情報項目には、モデル化対象のXML文書の特定の側面を表す名前付きプロパティのセットがあります。例えば、要素情報項目には、要素の名前空間名、ローカル名属性などのプロパティがあります。

XML文書は、整形式であり、名前空間制約を満たしている場合、情報セットを持ちます。情報セットを持つために、 XML文書がDTDまたはXMLスキーマに従って妥当である必要はありません。

XMLは当初、その情報セットの正式な定義がないまま開発されました。この概念的基盤は、1999年以降の作業によって初めて公式化され、同年12月末にW3Cワーキングドラフトとして初めて公開されました。[ 2 ]情報セット勧告第2版は2004年2月4日に採択されました。 [ 3 ]

XML情報セット仕様はXML技術スタックの礎石となり、 XPathXSLTDOMXQueryといった高水準仕様において、具体的なXML構文ではなくXML情報セットを用いて機能を記述することを可能にしています。この抽象化により、これらの技術は、具体的なシリアル化形式に関わらず、XMLコンテンツ上で動作することが可能になります。XML標準のバージョン2.0が今後公開された場合、情報セット勧告は標準の不可欠な部分として取り込まれる可能性が高いでしょう。

情報項目

情報セットには、最大 11 種類の情報項目を含めることができます。

  1. 文書情報項目(常に存在)
  2. 要素情報項目
  3. 属性情報項目
  4. 処理命令情報項目
  5. 展開されていないエンティティ参照情報項目
  6. キャラクター情報項目
  7. コメント情報項目
  8. 文書型宣言情報項目
  9. 解析されないエンティティ情報項目
  10. 表記情報項目
  11. 名前空間情報項目

情報セットの拡張

情報セットの拡張または変更とは、スキーマ検証中に情報セットを変更するプロセスを指します。例えば、デフォルト属性を追加するなどです。拡張された情報セットは、スキーマ検証後情報セット、またはPSVIと呼ばれます。[ 4 ]

情報セットの拡張は、モジュール性に違反しており、検証が行われたかどうかに応じてアプリケーションが異なる情報を取得するため、相互運用性の問題を引き起こす傾向があるという主張があり、多少物議を醸しています。[ 5 ]

情報セットの拡張はXML スキーマではサポートされていますが、RELAX NGではサポートされていません。

シリアル化

通常、XML情報セットはXMLとしてシリアル化されます。[ 6 ]バイナリXMLCSV[ 7 ]JSONのシリアル化形式もあります。[ 8 ]

参照

XML 情報セットインスタンス:

参考文献