#?SuikaWiki/0.9 [1] 【[[XPointer]]】 [[名前空間接頭辞]]への[[名前空間名]]の束縛を、[DFN[[RUBYB[名前空間束縛文脈] [namespace binding context]]]]といいます。 [2] [[scheme]] の名前や[[指示子部分]]に現れる接頭辞は、名前空間束縛文脈の中にありまして、その束縛により名前空間名 (URI) に展開されます。[WEAK[但し、 scheme データ内で名前空間束縛文脈を使用しないと規定することもできます。わざわざそうする (そして場合によっては別の方法を定義する) 価値がある場面がどれだけあるのかは謎ですが。]] - [3] また、指示子部分内で名前空間を新たに束縛できます。典型例が [CODE(XPointerScheme)[[[xmlns]]]] scheme です。指示子部分内での束縛は、その指示子部分以降で有効です。[WEAK[但し、その指示子部分以外にまで影響しないという scheme を定義することもできます。]] [4] 名前空間束縛文脈は、初期状態として [CODE(XML)[[[xml]]]] 接頭辞だけが束縛されています。 [CODE(XML)[[[xmlns]]]] 接頭辞は使いません。 [CODE(XML)[xml]] と [CODE(XML)[xmlns]] の名前空間名と名前空間接頭辞は、 既定の組み合わせ以外での使用が禁止されています。 最初の3文字が [CODE[xml]] である接頭辞は XML 関連仕様の定義するもの以外では使用する'''べきではない'''とされています。 [5] 普通は [CODE(XPointerScheme)[xmlns]] scheme があれば十分でしょうけど、例えば一気に沢山の名前空間が要る時、 例えば [SAMP(XPointer)[[CODE(XPointerScheme)[xmlns]]([VAR[foo]]=[CODE(URI)[http://xpointer.example/]]) [CODE(XPointerScheme)[[VAR[foo]]:rdfns]]() [CODE(XPointerScheme)[[[xpointer]]]]([CODE(XPath)[[CODE(step)[[VAR[rdf:]]RDF]]/[CODE(step)[[CODE(axis)[[[child]]]]::[VAR[rdf:]]Class]]/[CODE(step)[[CODE(axis)[child]]::[VAR[dc:]]date]]]])]] みたいな。 [WEAK[([[RDF/XML]] を[[節検査]]で扱うのはいかがとは思うけど、例だから気にしないでね。)]]