/[pub]/suikawiki/sw4data/ids/8/453.txt
Suika

Contents of /suikawiki/sw4data/ids/8/453.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Sun Nov 16 01:44:16 2008 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
CVS Tags: before-graph-20090923, suika-20100509, HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/687474703A.ns/7777772E77332E6F72672F323030302F786D6C6E732F.txt>

1 [1]
2 [[名前空間URI]] [DFN[<[CODE(URI)@en[http://www.w3.org/2000/xmlns/]]>]]
3 は、[[XML名前空間]]において[[名前空間接頭辞]]を[[宣言]]するための[[属性]]で使われる特別な[[名前空間接頭辞]]
4 [CODE(XML)@en[[[xmlns]]]] と関連付けられている[[名前空間名]]です。
5
6 [CODE(XMLa)@en[[[xmlns]]:]] で始まる名前の[[属性]]
7 [WEAK[([[名前空間接頭辞]]を宣言するもの)]] と、
8 [[修飾名]]全体が [CODE(XMLa)@en[[[xmlns]]]] である[[属性]]
9 [WEAK[([[既定名前空間]]を宣言するもの)]]
10 の[CODE(InfoProp)[[[名前空間名]]]] (だけ) が
11 [CODE(URI)@en[[[http://www.w3.org/2000/xmlns/]]]]
12 となると定義されています。
13
14 [6] 仕様書:
15 - [DOM2] <IW:DOM2:"Core/core.html#Namespaces-Considerations">
16 - [DOM3] <IW:DOM3:"Core/core.html#Namespaces-Considerations">
17
18 @@書きかけ
19
20 * XML 構文との関係
21
22 @@書きかけ
23
24 [3] [[名前空間接頭辞]]として [CODE(XML)@en[[[xmlns]]]] を使うときは、
25 この接頭辞と[[名前空間URI]] と関連付ける宣言
26 [CODE(XML bad example)[xmlns:xmlns="http://www.w3.org/2000/xmlns/"]]
27 を[[要素]]の[[属性]]として記述しては'''なりません'''。
28
29 [[#comment]]
30
31 * XML 情報集合との関係
32
33 @@書きかけ
34
35 [[#comment]]
36
37 * DOM との関係
38
39 [8]
40 [[DOM]] では、[[名前空間属性]]も通常の[[属性]]と同じように[[要素]]の
41 [CODE(DOMa)@en[[[attributes]]]] [CODE(DOMi)@en[[[NamedNodeMap]]]]
42 に含まれていて、 [CODE(DOMi)@en[[[Attr]]]] [[節点]]として表されます。
43 そして、その [CODE(DOMa)@en[[[namespaceURI]]]]
44 [[属性]]の値が [CODE(URI)@en[[[http://www.w3.org/2000/xmlns/]]]]
45 となります。[[既定名前空間]]のための[[修飾名]]が [CODE(XMLa)@en[[[xmlns]]]]
46 の[[属性]]についても、そうです。 [CODE(DOMm)@en[[[getAttributeNS]]]]
47 などの[[属性]]にアクセスする[[メソッド]]類や [CODE(DOMm)@en[[[createAttributeNS]]]]
48 のような[[属性節点]]を作成する[[メソッド]]も、
49 正しい[[名前空間属性]]の扱いに関して他の[[属性]]と区別はありません。
50
51 [9]
52 ただし、 [CODE(DOMm)@en[[[setAttributeNS]]]] や [CODE(DOMm)@en[[[createAttributeNS]]]]
53 のような[[属性]]を作成する[[メソッド]]では、[[名前空間URI]]
54 と[[修飾名]]をチェックして、不整合があると[[例外]] [CODE(DOM)@en[[[NAMESPACE_ERR]]]]
55 が発生することになっています。とはいえ、
56 そのチェックは全組合わせが仕様書 [SRC[DOM2, DOM3]]
57 で規定されているわけではなく、この[Q[漏れ]]が意図的なのか誤りなのかはよくわかりません。
58
59 仮に仕様書の漏れが誤りであるなら、あるいは誤りとみなして独自にチェックを行う実装では、
60 [[属性節点]]に関する処理で[[名前空間URI]] と[[修飾名]]が整合していることを暗黙の過程として処理できます。
61 例えば [CODE(DOMa)@en[[[prefix]]]]
62 [[属性]]を見るだけである[[属性]]が[[名前空間接頭辞]]を定義するための[[属性]]かどうかを判断できます。
63 [WEAK[([[既定名前空間]]のための[[属性]]の扱いには注意。)]]
64
65 仕様書の漏れが意図的なもので、[[名前空間URI]]
66 と[[修飾名]]が不整合な内部状態が可能だとすると、
67 [[名前空間]]に関する実装の内部処理が煩雑化する可能性もあります。
68
69 @@書きかけ
70
71 [[#comment]]
72
73 * XPath 1.0 データ・モデルとの関係
74
75 @@書きかけ
76
77 [[#comment]]
78
79 * XML 以外の名前空間機構における扱い
80
81 @@書きかけ
82
83 [[#comment]]
84
85 * 歴史
86
87 [5] この [[URI]] は、はじめ [[DOM水準2]]
88 で[[名前空間属性]]の [CODE(DOMa)@en[[[namespaceURI]]]]
89 [[属性]]の[[値]]として定義されました。
90
91 - [2] この名前空間名 [[URI]] は当初の仕様では規定されておらず、接頭辞 [CODE(XML)[xmlns]] は名前空間名には対応しない特殊なものとされていたが、 errata でこの URI と関連付けられた。
92
93 - [4] XML 名前空間 1.1 もこの名前空間名 URI を引き続き使用するようだ (<http://www.w3.org/TR/xml-names11/#xmlReserved>)。属性値 (名前空間名) が URI から [[IRI]] に変更されていたり細かい点で色々違いがあるはずなのだが、基本的には上位互換だから同じ名前空間でもよいということか。
94
95 [[#comment]]
96
97 * 関連
98
99 [7]
100 同様に特別な扱いがなされる[[名前空間URI]]
101 として [CODE(URI)@en[<[[http://www.w3.org/XML/1998/namespace]]>]]
102 ([[名前空間接頭辞]] [CODE(XML)@en[[[xml]]]]) があります。
103
104 [[#comment]]
105
106 * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24