[1] > [定義:] [INS[[[名前空間属性]]の[SRC[引用者による追記]]]][[属性]]の[INS[正規化[SRC[正誤表による追記]]]][[値]]は、 [[URI参照]]で、[[名前空間]]を[[識別]]する[DFN[[RUBY[名前空間名] [なまえくうかんめい] @en[namespace name]]]]です。 名前空間名は、その目的の達成のため、[[固有性]]と[[持続性]]を有するべきです。 [[スキーマ]]の[[取出し]] (存在するとして。) に直接利用可能であることは目標とはしていません。 この目標を踏まえて設計された構文の例に[[統一資源名]] [SRC@en[[[RFC 2141]]]] があります。しかし、普通の [[URL]] も同じ目標を達成するために使えることに注意して下さい。 [SRC[[[XML名前空間 1.0]]]] [8] > [定義: [[IRI]] [VAR@en[I]]で[[識別]]される[[名前]][VAR@en[N]]について、 [DFN[[RUBY[[[名前空間名]]] [なまえくうかんめい] @en[namespace name]]]]は[VAR@en[I]]です。 [[名前空間]]に属さない[[名前]][VAR@en[N]]について、 [DFN[[RUBY[[[名前空間名]]] [なまえくうかんめい] @en[namespace name]]]]は[[無値]]です。] [SRC[[[XML名前空間 1.1]]]] [7] 仕様書: - [[XML名前空間]] -- -- [[XML名前空間 1.0]] 第1版正誤表 -- [CSECTION@en[2.2 Use of IRIs as Namespace Names]] -- [CSECTION@en[2.3 Comparing IRI References]] * 意味 ** 名前空間 URL の割り当てと管理 [35] [[名前空間URL]] の決め方や割り当てポリシーについての議論は、 [[XML名前空間の管理]]を参照してください。 ** 名前空間 URL とスキーマ @@ ・・・ ** 名前空間 URL と版付け @@ ・・・ [35] [CITE[SMIL Namespace Documentation - Anne’s Weblog about Markup & Style]] ([[名無しさん]] [WEAK[2006-03-18 01:40:47 +00:00]]) [38] In Adobe AIR documents, namespace URIs are used to identify the required (minimum) version of AIR runtime for the application. * 構文 ** 空文字列 [10] [[空文字列]]も[[URI参照]]あるいは[[IRI参照]]としては[[合法]]ですが、 [[名前空間名]]として使うことはできません。 [SRC[1.1 2.2]] ** 相対参照 [11] [[相対参照]]を[[名前空間名]]で使用するのは[[非推奨]]です。 [SRC[1.1 2.2]] * 比較 [12] [[名前空間名]]は、([[属性値]]として出現した場合) [[参照]]を[[展開]]して[[空白]]を処理した[[正規化値]]ですが、 これを[[文字列]]として[[比較]]して[[一致]]すれば、 [[名前空間名]]として[[一致]]したとみなします。 [SRC[1.1 2.3]] ** 大文字と小文字 [33] > [[Universal Feed Parser]] treats namespaces as case-insensitive to match the behavior of certain versions of [[iTunes]]. ;; [CITE[Namespace Handling [Universal Feed Parser]]] これが[[誤方互換性]]ってやつかW * 展開名 [14] [[XML名前空間]]本体仕様ではそうは規定されていませんが、 幾つかの仕様では[[修飾名]]が1つの [[URI]] に展開できるとしています。 [15] [[RDF/XML]] や [[WebDAV]] では、 [SAMP(XML)[]] と [SAMP(XML)[]] は同等です。 [16] WebDAV については [[RFC 2518]] 23.4.2 参照。 * 名前空間としての URL [39] [[XML名前空間]]では [[URL]] を[[名前空間]]の[[識別]]に使っていますが、 その妥当性については議論があります。 [37] [CITE[XML.com: XML Namespaces Don't Need URIs]] ([[Michael Day]] 著, [CODE[2007-05-19 17:33:00 +09:00]] 版) * メモ - [2] 仕様書には言及がありませんが、[[相対URI]]を名前空間名とすることは非推奨であると正誤表 は述べています。 - [3] 仕様書の[[同等]]の解説や [[XMLBase]] の仕様書の言及から推測すると、名前空間名が相対 URI である場合はその要素の[[基底URI]] ([[外部実体]]ならその URI, [[xml]]:[[base]] 属性があればそれも参照する。) を使って解決するのが良いみたいです。 (もちろん errata が述べているように、現時点では [[W3C]] はどうとも規定していませんし非推奨です。 XML Base も解釈例を述べているに過ぎません。) - [4] 特に、空文字列 (当該文書自身 (または基底) の [[URI]] を指す。) については errata で使用できないことが補記されています。空文字列は接頭辞無しに対して ([[xmlns]] 属性の値で) は[[既定名前空間]]であることを示します。接頭辞ありに対しては使用できません。 - [5] >>4 第1.1版では、接頭辞ありでも空に出来るようになりました ([SAMP(XML)[xmlns:foo=""]])。この場合、名前空間の宣言を取り消したことになります。(この例の場合、先祖要素で[[宣言]]した [SAMP(XML)[foo]] という接頭辞が、この要素以下では使えなくなります。) () - [6] ''W3C XML Plenary Ballot on URIs and Namespaces'' : 相対 URI 名前空間名の取り扱いについての議事。結局非推奨とし、 [[XML情報集合]]などでも未定義となっている。 [9] [[DOM 2]] では、 DOM 実装は名前空間名を単なる文字列として扱い、中身には介入しないから、空文字列さえ名前空間名として普通に扱うようなことが書いてありましたが、 errata で、空文字列は好きにしろ的に改められています。 ([[名無しさん]]) [13] [CITE[Re: Namespaces in XML 1.x test suite contribution from Richard Tobin on 2005-12-19 (xml-names-editor@w3.org from December 2005)]] [34] [[CC/PP]] では、 > All CC/PP attributes must be associated with a fully resolvable namespace identifier URI. (Relative URIs, or URIs whose interpretation may depend on the context in which they are used, should not be used.) ([Q[すべての CC/PP 属性は完全に解決可能な名前空間識別子 URI と関連付けられていなければなりません。 (相対 URI は解釈が使用された文脈に依存する URI は使用するべきではありません。)]]) とされています。ここでの[Q[完全に解決可能]]がどういう意味なのか (括弧内の意味なのか?) はよくわかりませんが・・・。 文脈依存するべきではないというのは [CODE(URI)[[[file]]:]] URI scheme や [[XPointer]] の [CODE(XPointerScheme)[[[xmlns-local]]]] scheme のようなもののことを言っているのでしょう。 [CITE[Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0]]