namespace-uri

名前空間 URL (XML)

[43] XML名前空間における名前空間名 (namespace name) は、 名前空間を識別する文字列です。名前空間名絶対URL参照であることから、 名前空間URL (namespace URL) 名前空間URI (namespace URI) 名前空間IRI (namespace IRI) とも呼ばれます。

目次

  1. 仕様書
  2. 呼称
  3. 定義
    1. XML 名前空間 1.0 第1版世代における定義
    2. XML 名前空間 1.1 世代における定義
    3. XDM における定義
  4. 意味
    1. 名前空間 URL の割り当てと管理
    2. 名前空間 URL とスキーマ
    3. 名前空間 URL と版付け
    4. 展開名の一部としての名前空間URL
  5. 構文
    1. 空文字列
    2. 相対参照
    3. 素片識別子
  6. 比較
    1. 大文字と小文字
  7. 展開名
  8. XML 以外での名前空間 URL
  9. 名前空間としての URL
  10. namespaceURI (DOM Node 界面)
  11. 名前空間名 (XML 情報集合)
    1. 仕様書
    2. 特性値
  12. メモ

仕様書#

[47] XML名前空間 1.0 第1版から XML名前空間 1.1 第1版の間で仕様書の構成や定義の仕方が大きく変わっています。 XML名前空間 1.0 第2版は XML名前空間 1.1 ベースの仕様書となっています。

呼称#

[59] XML名前空間仕様では「名前空間名」と呼んでいますが、 それ以外のほとんどの仕様では「名前空間URI」などの URI であることを強調した名称を使っています。 DOM でも属性の名前が namespaceURI となっています。 URI の呼称のバリエーションにより、「名前空間IRI」や「名前空間URL」 とも呼ばれます。

定義#

XML 名前空間 1.0 第1版世代における定義#

[1]

[定義:] 名前空間属性引用者による追記属性正規化正誤表による追記は、 URI参照で、名前空間識別する名前空間名 (なまえくうかんめい) (namespace name) です。 名前空間名は、その目的の達成のため、固有性持続性を有するべきです。 スキーマ取出し (存在するとして。) に直接利用可能であることは目標とはしていません。 この目標を踏まえて設計された構文の例に統一資源名 RFC 2141 があります。しかし、普通の URL も同じ目標を達成するために使えることに注意して下さい。 XML名前空間 1.0 第1版

XML 名前空間 1.1 世代における定義#

[8]

[定義: IRI I識別される名前Nについて、 名前空間名 (なまえくうかんめい) (namespace name) Iです。 名前空間に属さない名前Nについて、 名前空間名 (なまえくうかんめい) (namespace name) 無値です。] XML名前空間 1.1 第1版

[42] XML名前空間 1.0 第2版では >>8 の「IRI」を「URI」 に置き換えた定義になっています。

XDM における定義#

[41]

This document uses the phrase "namespace URI" to identify the concept identified in [Namespaces in XML] as "namespace name", and the phrase "local name" to identify the concept identified in [Namespaces in XML] as "local part".

意味#

名前空間 URL の割り当てと管理#

[35] 名前空間URL の決め方や割り当てポリシーについての議論は、 XML名前空間の管理を参照してください。

名前空間 URL とスキーマ#

・・・

[23] カメレオン名前空間も参照。

名前空間 URL と版付け#

[69] 名前空間URL版付けのために用いられています。 そもそもXML名前空間の用途の1つが版付けでもあるようです。

・・・

[35] SMIL Namespace Documentation - Anne’s Weblog about Markup & Style http://annevankesteren.nl/2006/03/smil (名無しさん 2006-03-18 01:40:47 +00:00)

[22] SMIL も参照。

[38] In Adobe AIR documents, namespace URIs are used to identify the required (minimum) version of AIR runtime for the application.

展開名の一部としての名前空間URL#

[24] RDF/XML では、名前空間URL局所名を連結した展開URLを使っています。 名前空間URL自体には然程の意味はありません。

展開URL参照。

構文#

空文字列#

[10] 空文字列URI参照あるいはIRI参照としては合法ですが、 名前空間名として使うことはできません。 1.1 2.2

相対参照#

[11] 相対参照名前空間名で使用するのは非推奨です。 1.1 2.2

[58] W3C XML Plenary Ballot on URIs and Namespaces ( 版) http://www.w3.org/2000/09/xppa

[70] W3C XML Plenary Decision on relative URI References In namespace declarations, Dan Connolly, , , https://lists.w3.org/Archives/Public/xml-uri/2000Sep/0083.html

[74] 国立国会図書館OCR データ集合の XML データファイル形式が

<OCRDATASET xmlns="NDLOCRDATASET">

のような名前空間名を使っています。この文書型は本家の他に近代雑誌OCR学習用データセットも使っています。

素片識別子#

[73] XML名前空間としては素片識別子の使用を認めていました。 実際多くのXML名前空間名前空間URL素片識別子を使っていました。

[72] PIDF は、 名前空間URLRFC 2396 absolute-URI に制限していました。 素片識別子が認められません。 >>71

比較#

[12] 名前空間名は、(属性値として出現した場合) 参照展開して空白を処理した正規化値ですが、 これを文字列として比較して一致すれば、 名前空間名として一致したとみなします。 1.1 2.3

大文字と小文字#

[33]

Universal Feed Parser treats namespaces as case-insensitive to match the behavior of certain versions of iTunes.

これが誤方互換性ってやつかW

展開名#

[14] XML名前空間本体仕様ではそうは規定されていませんが、 幾つかの仕様では修飾名が1つの URI に展開できるとしています。

[15] RDF/XMLWebDAV では、 del:glider xmlns:del="http://www.del.jensen.org/"/foo:r xmlns:foo="http://www.del.jensen.org/glide"/ は同等です。

[16] WebDAV については RFC 2518 23.4.2 参照。

XML 以外での名前空間 URL#

[62] RDF では広く名前空間URLが使われていますが、 XML のように名前が所属する空間としてではなく、 >>14 の通り URL の略記法として使われています。

[18] RDF/XMLRDFa のような RDFXML で使われる場面では、 両者の名前空間の仕組みが複雑に組み合わさっています。

詳細はそれぞれの項を参照。
[19] そもそも現在の XML名前空間が複雑な仕組みになったのは、 RDF 関係者からの要望 (や TimBL からの圧力) によるものと言われています。

[17] CSS選択子にも名前空間がありますが、 XML文書名前空間CSS から参照するための仕組みとなっています。概念的には XML名前空間と同様のものですが、 実際にはやや広範囲を扱える仕組みになっています。

CSS名前空間を参照。

[21] ただし XML のために不必要に CSS を複雑化させた仕組みとみなされており、 比較的新しく導入された querySelector などでは名前空間への対応を意図的に除外しています。

[63] RFC 2774HTTPヘッダーの識別に名前空間URLを導入するものでしたが、支持を集められませんでした。

[65] CPIMヘッダーの識別に名前空間URLを使っています。 (>>63 の構文とは異なっています。) しかし CPIM 自体が使われていません。

[64] DOM水準3事象は当初イベント名の識別に名前空間URLを導入しようと試みていましたが、 支持を集められず撤回されました。

[20] Dublin Core schema.*<head profile>rel-profile を使って名前空間HTMLmeta 要素に持ち込むことが度々提案されていましたが、 ことごとく支持を集められずにいます。

名前空間としての URL#

[39] XML名前空間では URL名前空間識別に使っていますが、 その妥当性については議論があります。

[37] XML.com: XML Namespaces Don't Need URIs (Michael Day 著, 2007-05-19 17:33:00 +09:00 版) http://www.xml.com/pub/a/2005/04/13/namespace-uris.html

namespaceURI (DOM Node 界面)#

[44] DOM 2 読取専用属性 Node.namespaceURI は、その節の名前空間名 (URI) の値です。

[45] 節が要素節でも属性節でも無い場合、又は DOM 1 method で作成された節である場合には、 null になります。 また、名前空間に属さない場合にも null になります。

[46] DOM の object になった節の名前空間の情報はその節が持っていることに注意して下さい。 namespaceURIprefix の値は、その節またはその祖先節の xmlns 系属性 (に対応する節) を編集しても変化しません

(しかも、 DOM には名前空間情報を編集する方法がないので、一度生成された節の名前空間情報は二度と変わりません。)

名前空間名 (XML 情報集合)#

[48] XML情報集合では、要素情報項目属性情報項目名前空間情報項目特性名前空間名 (namespace name) が定義されています。

仕様書#

特性値#

[54] 要素情報項目属性情報項目では、この特性の値は、 その要素属性の属する名前空間があればその名前空間名、 なければ無値 (no value) です >>51, 52

[55] 名前空間情報項目では、この特性の値は、 その名前空間接頭辞束縛されている名前空間名です >>53

[56] これらは対応する名前空間属性正規化値そのものであり、 追加の百分率符号化などは行っていない元のままものです >>50

[57] これはつまり、構文的に URIIRI であろうがなかろうが関係ないということですね。 ただし、 >>50 によれば相対URLを使った名前空間名を持つ文書XML情報集合は定義されておらず、 仕様の対象外ということになります。

メモ#

[9] DOM 2 では、 DOM 実装は名前空間名を単なる文字列として扱い、中身には介入しないから、空文字列さえ名前空間名として普通に扱うようなことが書いてありましたが、 errata で、空文字列は好きにしろ的に改められています。 (名無しさん)

[13] Re: Namespaces in XML 1.x test suite contribution from Richard Tobin on 2005-12-19 (xml-names-editor@w3.org from December 2005) http://lists.w3.org/Archives/Public/xml-names-editor/2005Dec/0002.html

[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.)

(すべての CC/PP 属性は完全に解決可能な名前空間識別子 URI と関連付けられていなければなりません。 (相対 URI は解釈が使用された文脈に依存する URI は使用するべきではありません。))

とされています。ここでの完全に解決可能がどういう意味なのか (括弧内の意味なのか?) はよくわかりませんが・・・。 文脈依存するべきではないというのは file: URI scheme や XPointerxmlns-local scheme のようなもののことを言っているのでしょう。

Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0 http://www.w3.org/TR/2004/REC-CCPP-struct-vocab-20040115/#namespaces

[60] Re: Adding Web Intents to the Webapps WG deliverables ( (Tab Atkins Jr. 著, 版)) http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1590.html

[61] XEP-0054: vcard-temp ( 版) http://xmpp.org/extensions/xep-0054.html

[66] XQuery and XPath Data Model 3.0 ( ( 版)) http://www.w3.org/TR/xpath-datamodel-3/#dt-namespace-uri

[67] RDF 1.1 Concepts and Abstract Syntax ( ( 版)) https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#dfn-namespace-iri

[68] Bug 27388 – Use https://schema.org/ in examples if feasible ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=27388

[25] URIs for W3C Namespaces ( 版) http://www.w3.org/2005/07/13-nsuri

[26] Editorial: refactor to depend on the Infra Standard (domenic著, ) https://github.com/whatwg/html/commit/4ac633e08c2c9430853fc8322943bc2438ed36a3

[27] XQuery and XPath Data Model 3.1 () https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#dt-namespace-uri

[28] XQuery and XPath Data Model 3.1 () https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#dt-namespace-uri

In this and related specifications, the use of the type xs:anyURI to hold a namespace name does not imply any restrictions on the value space beyond those described in this section: implementations may reject character strings that are not valid URIs or IRIs, but they are not required to do so.

[29] News from the Trenches (Leigh Dodds著, ) http://www.xml.com/pub/a/2000/05/24/deviant/index.html

[30] Namespace names and URIs (Tim Bray著, ) https://lists.w3.org/Archives/Public/xml-uri/2000May/0016.html

[31] News from the Trenches (Leigh Dodds著, ) http://www.xml.com/pub/a/2000/05/24/deviant/index.html

[32] Database example; was: Why are relative NS identifiers used? (Tim Berners-Lee著, ) https://lists.w3.org/Archives/Public/xml-uri/2000May/0281.html

[36] [css-namespaces] Restore Terminology section by SimonSapin · Pull Request #1387 · w3c/csswg-drafts () https://github.com/w3c/csswg-drafts/pull/1387