/[suikacvs]/test/sw/ids/0/154.txt
Suika

Contents of /test/sw/ids/0/154.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Mon Nov 10 09:52:03 2008 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Error occurred while calculating annotation data.
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/584D4CCCBEC1B0B6F5B4D6.txt>

1
2
3 * XML名前空間 (仕様)
4
5 - [3] ''Namespaces in XML'' <http://www.w3.org/TR/REC-xml-names>
6
7 [8] [[QName]] [SAMP(XML)[foo:xmlbar]] は予約されていませんが、
8 QName [SAMP(XML)[xmlbar]] は ([[XML]] で) 予約されている関係上、
9 最初の例の如き名前 (つまり、 [[LocalName]] が [CODE(ABNF)["XML"]]
10 で始まる名前。) は使わないことを errata <http://www.w3.org/XML/xml-names-19990114-errata#NE06>
11 は勧めています。
12
13 [9] Errata は仕様書にはない[[名前空間整形式]],
14 [[名前空間妥当]]という2つの重要な用語を定義しています。
15
16 [10] このほかにも errata には重要な修正があります。
17 修正に気づいてない人も少なくないでしょうから、とっとと
18 [[SE]] を出して欲しいところですが、担当 [[WG]]
19 は第1.1版出して誤魔化す気かな?
20
21 [19] 名前空間 1.1 は、 XML 1.1
22 と併用する物だと仕様書に書いてありますが、無印名前空間は、
23 単に XML としか書かれていません。だとすると XML 1.1 +
24 無印名前空間も可能かも、
25 だとするといろいろ不整合が出てきて都合が悪いよなあ、
26 と思ってよく調べてみると、ちゃんと無印 Errata で手は打ってあって、
27 XML 1.0 に適用すると修正されていました。
28
29 [[#comment]]
30
31
32 * 構文
33
34 [5] 厳密には仕様書 (>>3) の記述を参照して下さい。
35
36 - NSAttName = PrefixedAttName / DefaultAttName
37 - PrefixedAttName = 'xmlns:' prefix ;; NSC: Leading "XML"
38 - prefix = (NCName -("XML" NCName)) / "XML" NCName
39 - DefaultAttName = 'xmlns'
40 - NCName = (xml.Letter | '_') (NCNameChar)* ;; xml.Name -":"
41 - NCNameChar = xml.Letter / xml.Digit / "." / "-" / "_" / xml.CombiningChar / xml.Extender
42
43 - [6] 「Leading “XML”」 [[NSC]]: 接頭辞で最初の3文字が [CODE(ABNF)["XML"]] である (大文字・小文字の組合せは任意。) ものは、 XML 及び周辺仕様が使用するのに予約しています。
44 -- <http://www.w3.org/TR/REC-xml-names#xmlReserved> 参照
45 [[#comment]]
46
47
48 * 属性の唯一性
49
50 [7] [[SGML]]/[[XML]] では、同じ名前の属性を一つの要素に複数指定することはできませんでした。
51
52 [PRE[
53 ×<element attribute="value" attribute="value"/>
54 ]PRE]
55
56 XML 名前空間を利用する場合は更に制限が加えられ、
57 [[修飾名]] ([[QName]]) が異なっていても[[名前空間名]]が同じであるなら、同じ local name
58 の属性を一つの要素に指定することはできません。
59
60 [PRE[
61 ×<element xmlns:ns1="http://ns.example/"
62 xmlns:ns2="http://ns.example/"
63 ns1:foo="bar" ns2:foo="BAR"/>
64 ]PRE]
65
66 ただし、名前空間無しの属性とありの属性や名前空間名の異なる属性で
67 local name が同じであるものは、もちろん問題ありません。
68
69 [PRE[
70 ○<element xmlns="http://ns.example/1"
71 xmlns:ns1="http://ns.example/1"
72 xmlns:ns2="http://ns.example/2"
73 foo="bar" ns1:foo="bar" ns2:foo="BAR"/>
74 ]PRE]
75
76 [14]
77 [PRE[
78 <!ATTLIST foo
79 ns:foo CDATA 'default'
80 xmlns:ns CDATA #FIXED 'http://uri.example'>
81 [INS[...]]
82 <foo ns2:foo="nondefault"
83 xmlns:ns2="http://uri.example"/>
84 ]PRE]
85
86 は[[名前空間妥当]]だろうか? とふと思ったけど、[[妥当性を検証する処理系]]はまず省略属性を補って、その上で名前空間を知っている処理系は名前空間を処理するのが建前だろうから、やっぱり名前空間非妥当だろうなあ。
87
88 [23]
89 >>14 でも <IW:XMLNames:"#uniqAttrs"> には [Q@en[no tag may contain]]
90 としか書いてなくて、[[既定属性]]の話は出てこないぞ。。。
91 ([[名無しさん]])
92
93 [24]
94 少なくともその宣言が内部サブセットにあって、別途 xmlns:ns2 と ns2:foo が宣言されていれば名前空間妥当だと思うけど。
95 ([[名無しさん]] [WEAK[2006-02-18 05:29:08 +00:00]])
96
97 [[#comment]]
98
99
100 * XML 名前空間 (1.0) の修正
101
102 →[[XML名前空間 1.0]]
103
104
105 * XML 名前空間 1.1
106
107 → [[XML名前空間 1.1]]
108
109
110 * 参考文献
111
112 - [13] ''XML名前空間の簡単な説明'' <http://www.kanzaki.com/docs/sw/names.html>
113 - [15] ''XML-NS Table of Contents'' <http://www.y-adagio.com/public/standards/tr_xml_ns/toc.htm>:
114 [[JIS TR]] X 0023:1999。
115 - [16] ''XMLネームスペース'' <http://www.doraneko.org/xml/namespace/namespace.html>: >>15 の訳の方がまだまし。
116 [[#comment]]
117
118
119 ** メモ
120
121 [20]
122 [[要素型名]]が [CODE(XMLe)@en[[[xmlns]]]] とか
123 [CODE(XMLe)@en[[[xmlns]]:[VAR[*]]]] になることは禁止されていない??
124
125 [25]
126 >>20 わかりにくいけど禁止はされているらしい。
127
128 [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)]]
129 <http://lists.w3.org/Archives/Public/xml-names-editor/2005Dec/0002.html>
130
131 ([[名無しさん]])
132
133
134 [26]
135 [CITE@en[Re: porno on w3.org]] ([[Ian B. Jacobs]] 著, [TIME[2008-03-13 01:25:03 +09:00]] 版) <http://lists.w3.org/Archives/Public/w3c-translators/2008JanMar/0163.html>
136 ([[名無しさん]])
137
138
139 [[#comment]]
140
141
142 * XML名前空間 (一般名詞)
143
144 [4]
145
146 > [定義:] [DFN[XML[RUBY[名前空間] [なまえくうかん] @en[namespace]]]]は、
147 [[XML文書]]中で[[要素型名]]や[[属性名]]として使われる[[名前]]の[[集成]]であり、
148 [[URI参照]][SRC@en[[[RFC 2396]]]]によって[[識別]]される。
149 [SRC[XML名前空間 1.0]]
150
151 [21]
152
153 > [定義: [DFN[XML[RUBY[名前空間] [なまえくうかん] @en[namespace]]]]は[[IRI参照]]によって[[識別]]される。
154 [[要素名]]と[[属性名]]はこの仕様書で説明する方法によって[[XML名前空間]]中に置くことができる。]
155 [SRC[XML名前空間 1.1]]
156
157 [22]
158 仕様書:
159 - [[XML名前空間]]
160 -- <IW:XMLNames:"#dt-namespace">
161
162 [[#comment]]
163
164
165 * メモ

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24