* DOM URI

[2] [SUP[ [DOM 3] ]] 
DOM では [CODE(DOM)[[[DOMString]]]] を資源識別子として使います。
ただし、
- 絶対識別子は絶対的に[[ウェブ]]の[[資源]]を識別します。
- 絶対資源識別子の[RUBYB[等価性][equality]]は単純な文字列等価性によります。
他の等価性は DOM 仕様書的には意味を持ちません。
- 相対識別子は簡単に判別でき、ある絶対識別子に対して絶対にできます。
- 必要に応じて資源の内容の[RUBYB[取出し][retrieval]]が行えます。

[1] 仕様書:
-[DOM 3] 1.3.2 DOM URIs
<IW:DOM3:"Core/core.html#domURIs">

[3] [SUP[ [DOM 3] ]] 
用語[DFN[[RUBYB[[[絶対URI]]][absolute URI]]]]は完全な資源識別子を、
用語[DFN[[RUBYB[[[相対URI]]][relative URI]]]]は不完全な資源識別子を指します。

DOM 仕様書ではこれらを [DFN[[[URI]]]] と呼んでいますが、
DOM 仕様書はこの URI を必ずしも [[RFC 2396]] に従って処理する必要はありません。

DOM URI は文脈によって [[URI参照]]だったり [[IRI参照]]だったりします。
それ以外のものかもしれません。通常は DOM 
実装はどの形式であるかは無視しなければなりません。

[4] [SUP[ [DOM 3] ]] 
DOM URI の実際の種類を完全に無視できない場合
(相対識別子を絶対にする場合または内容を取出す場合)
は、 DOM 実装は最低でも処理する内容に適した識別子型に対応しなければなりません。

例えば [[HTML 4]] や [[XML 1.0]] や [[XML名前空間 1.0]]
は RFC 2396 に拠っていますが、 [[XML名前空間 1.1]]
は他の識別子型に拠っていますから、そちらへの対応が必要になってきます。

[[#comment]]

* 名前空間名

[5] [SUP[ [DOM 2,3] ]] DOM 実装は URI の正規化の類は行いません。
常に妥当であるものと仮定され、字句的な検査は行いません。

絶対 URI 参照は文字列として扱われ、文字列として比較されます。
相対 URI 参照の扱いは未定義です。互換性のために絶対 URI 参照を使うべきです。


[6] 仕様書:
- [DOM 2] 1.1.8. XML Namespaces
<IW:DOM2:"Core/core.html#Namespaces-Considerations">
- [DOM 3] 1.3.3 XML Namespaces
<IW:DOM3:"Core/core.html#Namespaces-Considerations">

[7]
応用は名前空間なしにしたい時にはメソッドの [CODE(DOMp)[namespaceURI]]
引数に [CODE(DOM)[[[null]]]] を与えるべきです
(DOM 2 では[Q[与えなければなりません]])。 [SUP[ [DOM 2,3] ]]

空文字列と [CODE(DOM)[null]] を区別するプログラム言語では、
名前空間 URI としてのから文字列は [CODE(DOM)[null]] に変換されます。
(DOM は字句的検査はしないのに、です。) [SUP[ [DOM 3] ]]

[8]
すべての名前空間宣言属性は定義上名前空間 URI 
[CODE(URI)[http://www.w3.org/2000/xmlns/]] に束縛されます。
(コロンなしの [CODE(XMLa)[[[xmlns]]]] 属性も含まれるようです。) [SUP[ [DOM 2,3] ]]

[[#comment]]

* 基底 URI

[9] [CODE(DOM)[[CODE(DOMi)[[[Node]]]].[CODE(DOMa)[[[baseURI]]]]]] を参照。

* メモ


