[1] [DFN[[[XML]] 情報集合]] ([DFN[Information Set]] = [DFN[[[Infoset]]]]) は、 XML 文書の持っている情報の種類を抽象的に定義したものです。 [9] [[XML名前空間]]を採用している [[XML 1.0]] の[[整形式]]文書を対象としています。 (後に [[XML 1.1]] も扱えるように修正されました。) [10] XML 文書の情報集合は[DFN[[RUBYB[[[情報項目]]] [Information Item[WEAK[(s)]]]]]] で構成されます。 [11] 各情報項目には[DFN[[RUBYB[[[特性]]] [Property[WEAK[(ies)]]]]]]があります。 仕様書では特性は[SAMP(infoprop)[角括弧で括って]]示されています。 [[#comment]] * XML 情報集合仕様書の訂正 [12] ''W3C XML Information Set Errata'' この文書は、仕様書の [[FE]] と [[SE]] の両方の正誤表になっています。 E01〜E03 は FE に対する修正で、 FE と SE の (正確な) 差分でもあります。 = E01: 誤って「文書型定義情報項目」とされていた箇所がありますが、 正しくは「文書型宣言情報項目」です。 = E02: [[妥当]]でない XML 文書では、同じ名前の複数の[[要素型宣言]]とか[[記法宣言]]が存在することがあります。そのような類への対処の規定。 [WEAK[(妥当でない文書では完全な情報集合を構成できないことはもとから言及されていましたが、起こり得る全ての場合についての言及が各情報項目の説明中に補われました。)]] = E03: [[XML 1.1]] が [[PR]] になりました。 XML 情報項目は改訂せずにそのまま 1.1 にも適用するようで、そのための修正。 注目すべきは、名前空間宣言を取り消す [CODE(XML)[xmlns:[VAR[prefix]]=""]] に対応する名前空間情報項目が存在するという規定。 [WEAK[(以前から、接頭辞無しの [CODE(XML)[xmlns=""]] という ]] [[null名前空間]]宣言に対して名前空間情報項目が存在することとなっており、 その自然な拡張になっています。)]] [[#comment]] * XML 情報集合 [16] XML 情報集合 は XML 文書に関する基本的な情報項目と特性を定義しています。 - [RUBYB[[[文書]]] [[[Document]]]]情報項目 -- [CODE(infoprop)[[RUBYB[子供] [children]]]] -- [CODE(infoprop)[[RUBYB[[[文書要素]]] [document element]]]] -- [CODE(infoprop)[[RUBYB[[[記法]]] [notations]]]] -- [CODE(infoprop)[[RUBYB[[[非解析実体]]] [unparsed entities]]]] -- [CODE(infoprop)[[RUBYB[[[基底URI]]] [base URI]]]] -- [CODE(infoprop)[[RUBYB[[[文字符号化方式]]] [character encoding scheme]]]] -- [CODE(infoprop)[[RUBYB[[[非依存]]] [standalone]]]] -- [CODE(infoprop)[[RUBYB[[[版]]] [version]]]] -- [CODE(infoprop)[[RUBYB[全宣言処理済] [all declaration processed]]]] - [RUBYB[[[要素]]] [[[Element]]]]情報項目 -- [CODE(infoprop)[[RUBYB[[[名前空間名]]] [namespace name]]]] -- [CODE(infoprop)[[RUBYB[[[局所名]]] [local name]]]] -- [CODE(infoprop)[[RUBYB[[[接頭辞]]] [prefix]]]] -- [CODE(infoprop)[[RUBYB[[[子供]]] [children]]]] -- [CODE(infoprop)[[RUBYB[[[属性]]] [attributes]]]] -- [CODE(infoprop)[[RUBYB[[[名前空間属性]]] [namespace attributes]]]] -- [CODE(infoprop)[[RUBYB[[[適用範囲内名前空間]]] [in-scope namespaces]]]] -- [CODE(infoprop)[[RUBYB[基底 URI] [base URI]]]] -- [CODE(infoprop)[[RUBYB[[[親]]] [parent]]]] - [RUBYB[[[属性]]] [[[Attribute]]]]情報項目 -- [CODE(infoprop)[[RUBYB[[[名前空間名]]] [namespace name]]]] -- [CODE(infoprop)[[RUBYB[[[局所名]]] [local name]]]] -- [CODE(infoprop)[[RUBYB[[[接頭辞]]] [prefix]]]] -- [CODE(infoprop)[[RUBYB[[[正規化値]]] [normalized value]]]] -- [CODE(infoprop)[[RUBYB[[[指定]]] [specified]]]] -- [CODE(infoprop)[[RUBYB[[[属性型]]] [attribute type]]]] -- [CODE(infoprop)[[RUBYB[[[参照]]] [references]]]] -- [CODE(infoprop)[[RUBYB[[[所有者要素]]] [owner element]]]] - [RUBYB[[[処理指令]]] [[[Processing Instruction]]]]情報項目 -- [CODE(infoprop)[[RUBYB[[[対象名]]] [target name]]]] -- [CODE(infoprop)[[RUBYB[[[内容]]] [content]]]] -- [CODE(infoprop)[[RUBYB[基底 URI] [base URI]]]] -- [CODE(infoprop)[[RUBYB[記法] [notation]]]] -- [CODE(infoprop)[[RUBYB[[[親]]] [parent]]]] - [RUBYB[[[未展開実体参照]]] [Unexpanded Entity Reference]]情報項目 -- [CODE(infoprop)[[RUBYB[名前] [name]]]] -- [CODE(infoprop)[[RUBYB[[[システム識別子]]] [system identifier]]]] -- [CODE(infoprop)[[RUBYB[[[公開識別子]]] [public identifier]]]] -- [CODE(infoprop)[[RUBYB[[[宣言基底URI]]] [declaration base URI]]]] -- [CODE(infoprop)[[RUBYB[親] [parent]]]] - [RUBYB[[[文字]]] [[[Character]]]]情報項目 -- [CODE(infoprop)[[RUBYB[[[文字符号]]] [character code]]]] -- [CODE(infoprop)[[RUBYB[[[要素内容空白]]] [element content whitespace]]]] -- [CODE(infoprop)[[RUBYB[親] [parent]]]] - [RUBYB[[[注釈]]] [[[Comment]]]]情報項目 -- [CODE(infoprop)[[RUBYB[内容] [content]]]] -- [CODE(infoprop)[[RUBYB[親] [parent]]]] - [RUBYB[[[文書型宣言]]] [The Document Type Definition]]情報項目 -- [CODE(infoprop)[[RUBYB[システム識別子] [system identifier]]]] -- [CODE(infoprop)[[RUBYB[公開識別子] [public identifier]]]] -- [CODE(infoprop)[[RUBYB[子供] [children]]]] -- [CODE(infoprop)[[RUBYB[親] [parent]]]] - [RUBYB[[[非解析対象実体]]] [Unparsed entity]]情報項目 -- [CODE(infoprop)[[RUBYB[名前] [name]]]] -- [CODE(infoprop)[[RUBYB[システム識別子] [system identifier]]]] -- [CODE(infoprop)[[RUBYB[公開識別子] [public identifier]]]] -- [CODE(infoprop)[[RUBYB[宣言基底 URI] [declaration base URI]]]] -- [CODE(infoprop)[[RUBYB[記法名] [notation name]]]] -- [CODE(infoprop)[[RUBYB[記法] [notation]]]] - [RUBYB[[[記法]]] [[[Notation]]]情報項目]] -- [CODE(infoprop)[[RUBYB[名前] [name]]]] -- [CODE(infoprop)[[RUBYB[システム識別子] [system identifier]]]] -- [CODE(infoprop)[[RUBYB[公開識別子] [public identifier]]]] -- [CODE(infoprop)[[RUBYB[宣言基底 URI] [declaration base URI]]]] - [RUBYB[[[名前空間]]] [[[Namespace]]]]情報項目 -- [CODE(infoprop)[[RUBYB[[[接頭辞]]] [prefix]]]] -- [CODE(infoprop)[[RUBYB[[[名前]]] [name]]]] [CITE[An RDF Schema for the XML Information Set]] は XML 情報集合の情報項目や特性を [[RDF]] の語彙として定義しています。 [15] [[XInclude]] は拡張特性を定義しています。 - 要素情報項目 -- [CODE(infoprop)[[RUBYB[[[取込み履歴]]] [[[include history]]]]]]特性 -- [CODE(infoprop)[[RUBYB[[[言語]]] [[[language]]]]]]特性 - 文字情報項目 -- [CODE(infoprop)[[RUBYB[[[取込み履歴]]] [[[include history]]]]]]特性 - 注釈情報項目 -- [CODE(infoprop)[[RUBYB[[[取込み履歴]]] [[[include history]]]]]]特性 - 処理指令情報項目 -- [CODE(infoprop)[[RUBYB[[[取込み履歴]]] [[[include history]]]]]]特性 [17] [[XML Schema]] は [ABBR[[[PSVI]]] [スキーマ検証後情報集合]] を定義しています。 [CITE[A schema for serialized infosets]] は XML 情報集合と XML Schema [ABBR[PSVI] [Schema 検証後情報集合]]の XML 表現 (の XML Schema 定義) を用意しています。 [18] [CITE[XML Linking and Style]] は [[XLink]] に関する特性などを提案しています。 - [RUBYB[[[連結集合]]] [[[Link Set]]]] -- [RUBYB[[[連結]]] [[[Link]]]]情報項目 (is‐a 要素情報項目) -- [RUBYB[[[弧]]] [[[Arc]]]]情報項目 (is‐a 要素情報項目) -- [RUBYB[[[関係者]]] [[[Participant]]]]情報項目 (is‐a 要素情報項目) -- [RUBYB[[[開始関係者]]] [[[Start Participant]]]]情報項目 (is‐a 関係者情報項目) -- [RUBYB[[[終了関係者]]] [[[End Participant]]]]情報項目 (is‐a 関係者情報項目) - 文書情報項目 -- [CODE(infoprop)[[RUBYB[[[連結集合]]] [[[Link Set]]]]]]特性 - 要素情報項目 -- [CODE(infoprop)[[RUBYB[[[開始関係者弧]]] [[[Start Participant Arcs]]]]]]特性 -- [CODE(infoprop)[[RUBYB[[[終了関係者弧]]] [[[End Participant Arcs]]]]]]特性 - 文字情報項目 -- [CODE(infoprop)[[RUBYB[[[開始関係者弧]]] [[[Start Participant Arcs]]]]]]特性 -- [CODE(infoprop)[[RUBYB[[[終了関係者弧]]] [[[End Participant Arcs]]]]]]特性 - 注釈情報項目 -- [CODE(infoprop)[[RUBYB[[[開始関係者弧]]] [[[Start Participant Arcs]]]]]]特性 -- [CODE(infoprop)[[RUBYB[[[終了関係者弧]]] [[[End Participant Arcs]]]]]]特性 - 処理指令情報項目 -- [CODE(infoprop)[[RUBYB[[[開始関係者弧]]] [[[Start Participant Arcs]]]]]]特性 -- [CODE(infoprop)[[RUBYB[[[終了関係者弧]]] [[[End Participant Arcs]]]]]]特性 [19] [CITE[Using RDF to model XML structures (Abstract)]] [[Dan Connolly]] のメモ。 ([[名無しさん]]) [[#comment]] * メモ [2] 例えば [[XPath]] や [[DOM]] は XML 文書の構造を[[節]]の集合として扱ったりしますが、[[実体参照]]や[[マーク区間]]の扱いで微妙な差があったりします。そのような差異が決定的なものにならないようにどんな情報が存在しえるのかの指針とすべく作ったような感じの規格です。 - [3] とはいえ、特別にこれへの適合を求めているわけではありませんし、実際にどのように構造を扱うか、[[木]]・節モデルなのか[[事象]]モデルなのか[[問合せ]]駆動なのか、とかそういうことは全然制約していません。 - [4] 結局のところ存在意義はあんまりないような気がします。 [[W3C]] の[[勧告]]なのですが、 [[Note]] 程度でいいような気がしてます。 - [5] 少なくても、使用の細かいこととかに興味のない人とかには知らなくてもいい規格でしょう。 - [6] その割に一部で妙に盛り上がってたりするけど、また何か面白い商売のねたでも見つけてきたんだろうか? - [7] ''XML Information Set'' - [8] ''An RDF Schema for the XML Information Set'' [13] [WEAK[2003-12-11 23:57:57 +00:00]] ''[[名無しさん]]'': >>12 の修正を反映した [[SE]] が出るみたいです : ''XML Information Set, second edition'' [14] で、その [ABBR[SE]] が勧告になりました 。 [ABBR[FE]] との差分をとってみましたが、 >>12 の修正だけで、 他は一切変更がありませんでした。 (同時に勧告になった [[XML 1.1]] や [[XML名前空間 1.1]] のように変更点一覧にも載っていない修正がある規格とは大違いで、 素晴らしいことです。 [WEAK[(まあ、両規格と比べて抽象的なので大していじるところもないんですが。)]])