-
Notifications
You must be signed in to change notification settings - Fork 4
/
99.txt
315 lines (230 loc) · 15.2 KB
/
99.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
- [1] 【[[XML名前空間]]】 [[修飾名]]。 Qualified name。
- [2] [CODE(ABNF)[[DFN[QName]] = [ [[NCName]] ":" ] NCName]] ;; [[名前空間接頭辞]]及び[[局部名]]。
- [3] >>2 の通り、「接頭辞なし」も QName に含まれます。
- [4] ''Using Qualified Names (QNames) as Identifiers in Content'' <http://www.w3.org/2001/tag/doc/qnameids.html>: XML 名前空間仕様書的な場所以外での QName の使用を整理した [[TAG]] [[Finding]]。
[5]
[CITE[Architecture Working Group - DCText/2006-05-24]] <http://dublincore.org/architecturewiki/DCText/2006-05-24#head-92c7403ab06a67dab964cd2c6091cf25f8428e72>
([[名無しさん]] [WEAK[2006-06-04 07:45:30 +00:00]])
[6]
[CITE[XML Attribute Value Namespace Expansion]] ([TIME[1999-12-07 04:35:12 +09:00]] 版) <http://www.w3.org/1999/03/31-XMLNamespace-values>
* QName (のようなもの) の様々な構文と用法
** XML の名前
[7] [[XML名前空間]]では、[[要素名]]や[[属性名]]で [[QName]] を使います。
:[[接頭辞]]: [[XML名前空間 1.0]] [[NCName]] または [[XML名前空間 1.1]] [[NCName]] (省略可能)
:[[局所名]]: [[XML名前空間 1.0]] [[NCName]] または [[XML名前空間 1.1]] [[NCName]]
:[[名前空間束縛]]: [CODE(XMLa)@en[[[xmlns]]]] [[属性]]
:[[既定名前空間]]: [[要素名]]: 利用可能、[[属性名]]: 常に [[null名前空間]]
:解釈:[[展開名]] ([[名前空間名]]と[[局所名]]の組)
[8]
[[NCName]] の定義に用いられているのは [[XML 1.0]] または [[XML 1.1]] の定義ですが、
そのリンク先は最新版になっています。引用文献には [[XML 1.0]] も [[XML 1.1]]
も日付付きで掲載されていますが、どのような意図なのかは不明です。
[9]
[[RDF/XML]] や [[WebDAV]] のように、[[XML名前空間]]を採用する仕様のなかには[[名前空間名]]と[[局所名]]を連結して[[展開URI]]
として扱うものもあります。
*** 仕様書
[REFS[
- [CITE[Namespaces in XML]] ([DEL[[[W3C]] [[勧告]]]] (改訂済))
--[CSECTION@en[3. Qualified Names]]
<http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames>
- [CITE@EN[Namespaces in XML 1.1]] ([DEL[[[W3C]] [[勧告]]]] (改訂済))
--[CSECTION@en[4 Qualified Names]]
<http://www.w3.org/TR/2004/REC-xml-names11-20040204/#ns-qualnames>
- [CITE@EN[Namespaces in XML 1.0 (Second Edition)]] ([[W3C]] [[勧告]])
--[CSECTION@en[4 Qualified Names]]
<http://www.w3.org/TR/2006/PER-xml-names-20060614/#ns-qualnames>
- [CITE@en[Namespaces in XML 1.1 (Second Edition)]] ([[W3C]] [[勧告]])
--[CSECTION@en[4 Qualified Names]]
<http://www.w3.org/TR/2006/REC-xml-names11-20060816/#ns-qualnames>
]REFS]
*** 定義
[31]
> [[IRI参照]]は[[名前]]で認められない[[文字]]を含み得ますし、
しばしば長くて不便なので、[[展開名]]を直接[[XML文書]]の[[要素]]や[[属性]]の[[名前]]として使うことはしません。
代わりに[[修飾名]]を使います。[定義: [DFN[[RUBY[修飾名][しゅうしょくめい]@en[qualified name]]]]は[[名前空間]]解釈の対象となる[[名前]]です。]
この仕様書に[[適合]]する[[文書]]では、
[[要素名]]と[[属性名]]は[[修飾名]]として出現します。
構文的には、[[修飾名]]は接頭辞付き名か非接頭辞付き名です。
[SRC[XML Namespaces]]
** 属性値
*** XSLT 1.0 属性値
[10]
[[XSLT]] ではいくつかの[[属性値]]に [[QName]] を使っています。 [[QName]]
の定義は [[XML名前空間 1.0]] の最新版にリンクされていますが、
引用文献として示されているのは第1版で、どういう意図なのかは不明です。
[[要素]]の定義の書式では「qname」と書かれています。
:[[接頭辞]]:[[XML名前空間 1.0]] [[NCName]] (省略可能)
:[[局所名]]:[[XML名前空間 1.0]] [[NCName]]
:[[名前空間束縛]]:[[XPathデータ・モデル]][[名前空間節点]] (≒ [CODE(XMLa)@en[[[xmlns]]]] [[属性]])
:[[既定名前空間]]:常に [[null名前空間]]
:[[解釈]]:[[展開名]] ([[名前空間URI]] と[[局所名]]の組)
[11]
なお、 [[XSLT]] では [[XPath]] [[式]]も多用しています。
- [CITE[XSL Transformations (XSLT)]] ([[W3C]] [[勧告]])
--[CSECTION@en[2.4 Qualified Names]]
<http://www.w3.org/TR/1999/REC-xslt-19991116#qname>
[21] 同様の QName を属性値 (の一部分) 採用している仕様:
-[CITE@en-US[Elements of an EmotionML 1.0]] ([TIME[2008-11-19 23:37:02 +09:00]] 版) <http://www.w3.org/2005/Incubator/emotion/XGR-emotionml-20081120/#s4.3.1>
*** XHTML m12n 1.1 QName/QNames
[17] [[XHTML m12n 1.1]] では[[属性型]]として [CODE@en[[[QName]]]] と
[CODE@en[[[QNames]]]] が定義されています (後者は前者の[[間隔]]分離[[並び]])。
[[XML名前空間 1.0]] の[[修飾名]]であると述べながらも、正式な定義は
[[XML Schema 1.0]] 最新版の [[QName]] の定義を見よとリンクされています。
ただし、引用文献に挙げられているのは [[XML Schema 1.0]] 第2版です。
-[[XHTML m12n 1.1]] ([[W3C]] [[勧告]])
--[CITE@en[XHTML Modularization 1.1 - Defining Abstract Modules]]
<http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008/abstraction.html#dt_QName>
*** CURIE
[15] [[CURIE]] は [[W3C]] [[XHTML2 WG]] などが提唱する [[URI]] (実際には [[IRI]])
の短縮記述方式です。単独の仕様書の案が出版されている他、
[[XHTML2 WG]] の色々な仕様書でも独自に定義されています。
;; [[IRI]] の混乱に何も学んでいないというわけです。
[18] [[XHTML m12n 1.1]] の [[DTD実装]]と [[XML Schema]] 実装には「placeholder」
などと称して [[CURIE]] 系の[[データ型]]の定義が含まれています。どちらもかなり緩い定義になっています。
;; [[DTD]] は厳密に記述できないからだとしても、 [[XML Schema]] で厳密になってないのはなんででしょう。
面倒だからですかね。
[16] [[RDFa]] の定義によると:
:[[接頭辞]]:[[XML名前空間 1.0]] 第1版 [[NCName]] または[[空文字列]] (省略可能)
:[[局所名]]:[[相対IRI参照]]
:[[名前空間束縛]]:[CODE(XMLa)@en[[[xmlns]]]] [[属性]]
:[[既定名前空間]]:キーワード用
:解釈:[[RFC 3987]] [[IRI参照]] (または [[bnode]] [[識別子]]またはキーワード)
[CODE(charname)@en[[[COLON]]]] が含まれていないものを「[[無接頭辞]]」と呼び、
[[CURIE]] を使う仕様が定義するキーワードのために予約されていますが、
[[RDFa]] では使っていません。
[CODE(charname)@en[[[COLON]]]] があり、[[名前空間接頭辞]]を含まないものを「[[既定接頭辞]]」
と呼び、 [[CURIE]] を使う仕様が定義する[[名前空間]]に関連付けられます。
[[RDFa]] では [CODE(URI)@en[[[http://www.w3.org/1999/xhtml/vocab#]]]] とされています。
[[名前空間接頭辞]]が [CODE(char)[[[_]]]] の場合、 [[RDF]] の[[空白ノード]] ([[bnode]])
の識別子であるとみなされます。
それ以外の場合、[[名前空間接頭辞]]から[[解決]]して得た[[名前空間URI]]
と[[局所名]]の部分を連結した [[IRI参照]]とみなされます。
なお、 [[URI]] (的なもの) が使える場面でも [[CURIE]] を使うため、「[」と「]」
で括った[[安全CURIE]]という書式も定義されています。
- [[XHTML m12n 1.1]] ([[W3C]] [[勧告]])
-- [CITE@en[XHTML Modularization 1.1 - XHTML Schema Module Implementations]]
<http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008/schema_module_defs.html#a_module_XHTML_Datatypes>
--[CITE@en[XHTML Modularization 1.1 - XHTML DTD Module Implementations]]
<http://www.w3.org/TR/2008/REC-xhtml-modularization-20081008/dtd_module_defs.html#a_module_XHTML_Datatypes>
- [CITE@en[RDFa in XHTML: Syntax and Processing]] ([[W3C]] [[勧告]])
--[CSECTION@en[5.4. CURIE and URI Processing]]
<http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/#s_curieprocessing>
--[CSECTION@en[7. CURIE Syntax Definition]]
<http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/#s_curies>
** CSS や選択子
[30] [[CSS]] [[スタイル・シート]]や[[選択子]]では[[CSS修飾名]]が使われています。
** 式言語等
*** XPath 1.0
[12] [[XPath 1.0]] では[[節点試験]]、[[関数名]]、[[変数名]]で [[QName]]
を使います。
[[QName]]
の定義は [[XML名前空間 1.0]] の最新版にリンクされていますが、
引用文献として示されているのは第1版で、どういう意図なのかは不明です。
;; [13] [[関数名]]や[[変数名]]としての [[QName]] の処理が規定されていない気がするのですが・・・。
:[[接頭辞]]:[[XML名前空間 1.0]] [[NCName]] (省略可能)
:[[局所名]]:[[XML名前空間 1.0]] [[NCName]]
:[[名前空間束縛]]: [CODE(XMLa)@en[[[xmlns]]]] [[属性]]
:[[既定名前空間]]:常に [[null名前空間]]
:[[解釈]]:[[展開名]] ([[名前空間URI]] と[[局所名]]の組)
[20] [[FSL]] という [[RDF]] 用の [[XPath]] 風言語があって、そこでも [[QName]]
が使われているのですが、 [[RDF]] なので[[展開名]]ではなく、[[展開URI]]
を表すものと解釈されます。
- [CITE[XML Path Language (XPath)]] ([[W3C]] [[勧告]]) <http://www.w3.org/TR/1999/REC-xpath-19991116>
*** XPointer
[14] [[XPointer]] では [[scheme]] の名前に [[QName]] を使います。
[[QName]] の定義は [[XML名前空間 1.0]] の最新版にリンクされており、
引用文献は年号が示されているもののやはり最新版にリンクされています。どういう意図なのかは不明です。
:[[接頭辞]]:[[XML名前空間 1.0]] [[NCName]] (省略可能)
:[[局所名]]:[[XML名前空間 1.0]] [[NCName]]
:[[名前空間束縛]]: [[XPointer]] [[名前空間束縛文脈]]
:[[既定名前空間]]:[[W3C]] [[勧告]]用に予約
:[[解釈]]:[[名前空間名]]と[[局所部分]]の組
- [CITE@en[XPointer Framework]] ([[W3C]] [[勧告]])
--[CSECTION@en[3.3 Scheme-Based Pointer]]
<http://www.w3.org/TR/2003/REC-xptr-framework-20030325/#scheme>
*** SPARQL
[19] [[SPQRQL]] では [[IRI参照]]の略記法として「[[接頭辞名]]」を規定しています。
:[[接頭辞]]:独自定義 (空文字列可能)
:[[局所名]]:独自定義 (空文字列可能)
:[[名前空間束縛]]:[CODE@en[[[PREFIX]]]] [[キーワード]]
:[[既定名前空間]]:N/A
:解釈:[[IRI参照]]
[[接頭辞名]]とは別に、[[名前空間接頭辞]]に当たる部分に「[CODE[[[_]]]]」
を使うことによって[[空白節点]]を表現する構文もあります。
- [CITE@en[SPARQL Query Language for RDF]] ([[W3C]] [[勧告]])
--[CSECTION@en[4.1.1 Syntax for IRIs]]
<http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/#QSynIRI>
** TODO
@@ XPath 2.0/XQuery 1.0, [[XML Schema]], ...、[[展開URI]]、[[展開名]]、[[EQName]]
[22] [CITE[Basic Data Types – SVG Tiny 1.2]] ([TIME[2008-12-20 02:31:29 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/types.html#DataTypeQName>
[23] [CITE[OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax]]
([TIME[2009-10-27 23:15:00 +09:00]] 版)
<http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#IRIs>
[24] [CITE@EN[XQuery 1.0 and XPath 2.0 Formal Semantics (Second Edition)]]
( ([TIME[2010-12-17 00:07:45 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xquery-semantics-20101214/#id-expanded-qnames>
[25] [CITE@en[XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition)]]
( ([TIME[2010-12-17 00:06:35 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/#qnames-and-notations>
[26] [CITE@EN[XQuery 1.0: An XML Query Language (Second Edition)]]
( ([TIME[2011-01-05 01:29:08 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xquery-20101214/#dt-qname>
[27] [CITE@EN[XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)]]
( ([TIME[2010-12-17 00:06:54 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xpath-functions-20101214/#QName-funcs>
[28] [CITE@EN[XML Path Language (XPath) 2.0 (Second Edition)]]
( ([TIME[2011-01-05 01:25:51 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xpath20-20101214/#dt-qname>
[29] [CITE@en-US[Efficient XML Interchange (EXI) Format 1.0]]
( ([TIME[2011-03-10 23:00:15 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-exi-20110310/#key-qname>
[32] [CITE@EN[W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes]]
( ([TIME[2012-04-05 06:34:51 +09:00]] 版))
<http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#QName>
[33] [CITE@en[PROV-XML: The PROV XML Schema]]
( ([TIME[2013-04-30 13:05:52 +09:00]] 版))
<http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/#identifier-conventions>
[34] [CITE@en[PROV-N: The Provenance Notation]]
( ([TIME[2013-04-25 04:01:26 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-prov-n-20130430/#dfn-qualifiedName>
[35] [CITE@EN[XQuery 3.0: An XML Query Language]]
( ([TIME[2014-04-08 08:26:21 +09:00]] 版))
<http://www.w3.org/TR/xquery-30/#dt-qname>
[36] [CITE@EN[XML Path Language (XPath) 3.0]]
( ([TIME[2014-04-08 07:58:50 +09:00]] 版))
<http://www.w3.org/TR/xpath-30/#dt-qname>
[37] [CITE@en[XQuery and XPath Data Model 3.0]]
( ([TIME[2014-04-08 07:00:06 +09:00]] 版))
<http://www.w3.org/TR/xpath-datamodel-3/#qnames-and-notations>
[38] [CITE@EN[XPath and XQuery Functions and Operators 3.0]]
( ([TIME[2014-04-08 07:02:07 +09:00]] 版))
<http://www.w3.org/TR/xpath-functions-3/#QName-constructors>
[39] [CITE@EN[XPath and XQuery Functions and Operators 3.0]]
( ([TIME[2014-04-08 07:02:07 +09:00]] 版))
<http://www.w3.org/TR/xpath-functions-3/#QName-constructors>
[FIG(quote)[
[FIGCAPTION[
[40] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]]
([TIME[2011-09-29 13:00:00 +09:00]] 版)
<http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a18_3_19namespacedToken>
]FIGCAPTION]
> A namespaced token is an '''['''xmlschema-2''']''' QName that matches the definition of PrefixedName in §4 of '''['''xml-names''']'''.
]FIG]
[41] [CITE@en[Fix #143: make getElementsByTagName match on qualified name · whatwg/dom@7fd852a]]
([TIME[2016-01-30 20:43:45 +09:00]] 版)
<https://github.com/whatwg/dom/commit/7fd852ae910e6798373f32f655670f14c4fe5a20>
[42] [CITE@en[Add missing dependency for qualified element name]]
([[vkatsikaros]]著, [TIME[2017-01-25 03:06:38 +09:00]])
<https://github.com/w3c/webdriver/commit/c53efd5fdb6dc581cec11db6540e2f07749b51ff>
[43] [CITE@EN[XQuery 3.1: An XML Query Language]]
([TIME[2017-03-20 09:23:33 +09:00]])
<https://www.w3.org/TR/2017/REC-xquery-31-20170321/#dt-expanded-qname>
[44] [CITE@EN[XML Path Language (XPath) 3.1]]
([TIME[2017-03-20 09:18:04 +09:00]])
<https://www.w3.org/TR/2017/REC-xpath-31-20170321/#dt-qname>
[45] [CITE@EN[XPath and XQuery Functions and Operators 3.1]]
([TIME[2017-03-21 16:02:06 +09:00]])
<https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#QName-funcs>
[46] [CITE@en[Use a single exception for name validation]]
([[annevk]]著, [TIME[2017-03-17 03:21:31 +09:00]])
<https://github.com/whatwg/dom/commit/61f40b0763e1c5aac94014b23fb37606e9e2caca>