/[pub]/test/sw/ids/0/246.txt
Suika

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Sun Mar 1 10:03:48 2009 UTC (17 years, 1 month ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/495249.txt>

1 wakaba 1.1 [19] [DFN@en[[ABBR[IRI]]]] ([DFN@en[Internationalized Resource Identifiers]]) は、
2     利用可能な[[文字]]の種類を [[ASCII]] ベースから [[Unicode]] ベースへと拡張した、
3     [[URI]] の[[超集合]]である[[識別子]] (の仕様) です。
4    
5     * 仕様
6    
7     [49] 現時点で最新かつ正式な [[IRI]] の仕様は、 [[IETF]] の[[提案標準]]である
8     [[RFC 3987]] です。 [[RFC 3987]] は2004年12月に [[IESG]] に承認され、
9     2005年1月に [[RFC]] として発行されました。
10    
11     - [[RFC 3987]] ([[IETF]] [[提案標準]]) <urn:ietf:rfc:3987>、<http://www.ietf.org/rfc/rfc3987.txt>
12    
13     ** IRI に関する様々な仕様と定義
14    
15     [1] [[IRI]] の [[RFC]] ([[RFC 3987]]) が発行される前、あるいは発行された後にも、
16     [[URI]]/[[IRI]] 的なものを使う仕様の中には、 [[IRI]] 仕様を先取りして、あるいは独自に、
17     [[IRI]] のようなものを定義したり、 [[IRI]] の [[Internet Draft]]を参照したりしていました。
18     特に [[W3C]] の仕様書では、数多くの「[[IRI]] のようなもの」が定義されていました。
19    
20     [50] たとえ実質的に同じ定義であったとしても、人為的なミス、仕様の改訂、政治的問題、
21     その他の理由で混乱が起こる危険性はあるので、困ったことですね、
22     などと昔ここに書いていたのですが、実際各仕様が定義している内容には少しずつ「ずれ」がある上、
23     その「ずれ」が[[遺物拡張IRI]] (旧称: [[XML資源識別子]]など) や [[HTML 5]] の [[URL]]
24     のような派生仕様を生み出すまでに至り、既に混乱は極まっている感があります。
25    
26     *** 「IRI」や「IRI 参照」を定義している仕様
27    
28     [13] '''RFC 3987 IRI''':
29     [[IETF]] で標準化された、“最も正しい”「[[IRI]]」や「[[IRI参照]]」の定義です。
30     両者は[[百分率符号化]]によって [[RFC 3986]] の [[URI]] や [[URI参照]]に変換できる文字列であり、
31     [[ABNF]] で構文が定義されています。
32    
33     [52] 実は [[RFC 3987]] をよく読むと、 [[ABNF]] で表現されていない構文上の制約が本文中に含まれています。
34     [[RFC 3987]] を引用している仕様の中には、「[[RFC 3987]] の [[ABNF]] [[生成規則]]に[[一致]]するもの」
35     のような参照の仕方をしているものがありますが、それでは [[ABNF]]
36     に含まれない制約が厳密には参照されていないことになるので、要注意です。
37    
38     - [[RFC 3987]] ([[IETF]] [[提案標準]])
39     <urn:ietf:rfc:3987>, <http://www.ietf.org/rfc/rfc3987.txt>
40    
41     [53] [[RFC 3987]] になる前の古い [[Internet Draft]] には、最終版とは異なる定義をしているものもあります。
42     古い [[Internet Draft]] を参照している仕様は要注意です。
43    
44     [54] また、現在改訂の作業が進められており、 [[Internet Draft]] も発行されています
45     ([[draft-duerst-iri-bis]])。改訂版には元々の [[IRI]] だけではなく、[[遺物拡張IRI]]
46     の定義も含まれています。
47    
48     [2] '''XPointer IRI 参照''': 「[[IRI]]」を [[URI]] の拡張で [[Unicode]] [[文字]]が使えるものと概念的に定義した上で、
49     [[XPointer]] [[指示子]]を「[[IRI参照]]」で使う方法や、[[IRI参照]]を [[URI参照]]に変換する方法を規定しています。
50    
51     ;; 用語として定義されているのは「[[IRI]]」ですが、実際規定があるのは
52     「[[IRI参照]]」 (と「[[URI参照]]」) です。 [[RFC 2396]]
53     時代の「[[URI]]」には[[素片識別子]]が含まれていないためでしょうか。
54    
55     それによると、 [[XPointer]] [[指示子]]を [[IRI参照]]中で使う場合、 [CODE(char)[[[%]]]]
56     は[[百分率符号化]]を行わなければ[['''なりません''']]が、その他の[[文字]]はしても[['''構わない''']]のみです。
57    
58     また、 [[IRI参照]]から [[URI参照]]への変換では、 [[RFC 2396]] と [[RFC 2732]]
59     で [[URI参照]]中に認められない[[文字]]を[[百分率符号化]]することになっています。
60    
61     [55] [[XPointer]] [[指示子]]中には任意の [[Unicode]] [[文字]]
62     ([CODE(char)[[[U+0000]]]] 〜 [CODE(char)[[[U+10FFFF]]]]、除外なし)
63     がそのまま使えることになっています。従って、
64     - [[XPointer]] [[IRI参照]]は [[RFC 3987]] [[IRI参照]]や[[遺物拡張IRI参照]]で認められていない
65     [[Unicode]] [[文字]]を含むことがあります。
66     - [[XPointer]] [[IRI参照]]では[[素片識別子]]内に [CODE(char)[#]]
67     を含むことがあります ([[RFC 3987]] [[IRI参照]]では不可)。
68     - [[XPointer]] [[IRI参照]]では [[authority]] [[部品]]以外でも
69     [CODE(char)[[['''[''']]]] や [CODE(char)[[[''']''']] を含むことがあります
70     ([[RFC 3987]] [[IRI参照]]では不可)。
71    
72     - [CITE@en[XPointer Framework]] ([[W3C]] [[勧告]])
73     -- [CSECTION@en[B. Escaping and Encoding of reserved IRI characters]],
74     [CSECTION@en[C. Escaping and Encoding of reserved URI characters]]
75     <http://www.w3.org/TR/2003/REC-xptr-framework-20030325/#dt-iri>
76    
77     [3] '''XML 名前空間 IRI 参照''':
78     [[XML名前空間 1.1]] の第1版は、当時 [[RFC 3987]] が出版されていなかったため、
79     [[RFC 3987]] になる前の [[Internet Draft]] である
80     [[draft-duerst-iri-03]] と [[draft-duerst-iri-05]] を参照しつつ
81     (どちらも non-normative reference)、独自に [[IRI参照]]を定義しています。
82    
83     それによると、「[[IRI参照]]」は、 [[hostname]] 部品があればそれに
84     [[IDNA]] [[ToASCII]] 演算 (≒ [[Punycode]] [[符号化]]) を施し、「追加文字」
85     を[[百分率符号化]]した結果、[[URI参照]]が得られる[[文字列]]です。
86    
87     「追加文字」とは、[[Unicode]] の[[非ASCII文字]]から[[私用域]]や[[非文字]]や[[代理組]]の[[符号位置]]を除外したものです。
88    
89     [56] この定義は実際上 (何が [[IRI参照]]で何が [[IRI参照]]ではないかという点で)
90     [[draft-duerst-iri-05]] と一致していることになっています (未検証)。
91     なお、「[[URI参照]]」の定義は明らかにされていません。[[XML名前空間 1.1]]
92     第1版の仕様書の参考文献には [[RFC 2396]] と [[RFC 2732]]
93     が挙がっているのですが、両者は本文中のどこからも参照されていません。
94    
95     [57] [[draft-duerst-iri-05]] と [[RFC 3987]] の定義は異なるようです (未検証)。
96     そのため、
97     - [[XML名前空間 1.1]] [[IRI参照]]には [[query]] 部品であっても[[私用域]]の[[文字]]を含めることができません
98     ([[RFC 3987]] [[IRI参照]]では可)。
99     - [[XML名前空間 1.1]] [[IRI参照]]には [[RFC 3987]] 本文中の追加の構文上の制約が適用されません。
100     - [[XML名前空間 1.1]] における「[[URI参照]]」が [[RFC 2396]] + [[RFC 2732]]
101     の定義によると仮定すると、 [[RFC 2396]] + [[RFC 2732]] と [[RFC 3986]]
102     の「[[URI参照]]」の定義の違いが [[XML名前空間 1.1]] [[IRI参照]]と
103     [[RFC 3987]] [[IRI参照]]の違いになります。例えば、 [[authority]] 部品内で[ [百分率符号化]]された[[ホスト名]]を用いることは
104     [[RFC 3987]] では認められていますが、 [[XML名前空間 1.1]] では認められないことになります。
105    
106     - [CITE@EN[Namespaces in XML 1.1]] ([DEL[[[W3C]] [[勧告]]]] (改訂済))
107     -- [CSECTION@en[9 Internationalized Resource Identifiers (IRIs)]]
108     <http://www.w3.org/TR/2004/REC-xml-names11-20040204/#IRIs>
109    
110     [58] なお、[[XML名前空間 1.1]] は既に改訂されており、
111     第2版では [[RFC 3987]] を直接参照しています。
112     第1版における [[IRI]] の定義は第2版からは削除されています。
113    
114     [4] '''XInclude IRI 参照''':
115     [[XInclude 1.0]] の第1版は、当時 [[RFC 3987]] が出版されていなかったため、
116     [[RFC 3987]] になる前の [[Internet Draft]] である
117     [[draft-duerst-iri-11]] を参照しつつ
118     (non-normative reference)、独自に [[IRI参照]]を定義しています。
119    
120     それによると、「[[IRI参照]]」は、
121     [[Unicode]] の[[非ASCII文字]]のうち、[[私用域]]の[[文字]]や[[非文字]]と[[代理組]]の[[符号位置]]を除外したものを[[百分率符号化]]した結果が
122     [[URI参照]]になる[[文字列]]です。
123    
124     [59] 「[[URI参照]]」の定義は明記されていませんが、文脈によると少なくても
125     [[RFC 2396]] によっているようです。更に、 [[RFC 2396]] だけでなく
126     [[RFC 2732]] もこの仕様書から normative reference として参照されています。
127    
128     [60] [[XInclude]] [[IRI参照]]も [[XML名前空間 1.1]] [[IRI参照]] (>>3) も
129     [[RFC 2396]] + [[RFC 2732]] の [[URi参照]]に基づき定義されているとみなすと、
130     [[XInclude]] [[IRI参照]]は [[XML名前空間 1.1]] [[IRI参照]]のほぼ[[部分集合]]になりますが、
131     - [[XInclude]] [[IRI参照]]の定義は [[XML名前空間 1.1]] [[IRI参照]]の定義と異なり
132     [[IDNA]] [[ToASCII]] を行っていませんので、 [[XInclude]] では [[IDN]]
133     を使うことができません ([[RFC 2396]] + [[RFC 2732]] の構文に一致しませんので)。
134    
135     [61] なお、 [[XInclude]] 1.0 第1版では「[[IRI参照]]に変換されるもの」も定義されています
136     (>>62)。
137    
138     [64] この部分の規定は[[正誤票]]の PEX17 で削除され、 [[XML 1.1]]
139     の [[XML資源識別子]]を使うという規定に置き換わっています (>>65)。
140    
141     - [CITE@en[XML Inclusions (XInclude) Version 1.0]]
142     -- [CSECTION@en[4.1.1 Escaping of href attribute values]]
143     <http://www.w3.org/TR/2004/REC-xinclude-20041220/#dt-IRI>
144    
145     *** 「IRI に変換されるもの」や「IRI 参照に変換されるもの」を定義している仕様
146    
147     [62] '''XInclude IRI 参照に変換されるもの''':
148     [[XInclude]] 1.0 第1版では「[[IRI参照]]」を定義していますが (>>4)、
149     [CODE(XMLa)@en[[[href]]]] [[属性値]]を [[IRI参照]]に変換する方法も定義しています。
150    
151     それによると、 [[IRI参照]]に変換するためには[[属性値]]の次の[[文字]]を[[百分率符号化]]しなければ[['''なりません''']]。
152     - [CODE(char)[[[U+0020]]]]
153     - [CODE(char)[[[<]]]], [CODE(char)[[[>]]]], [CODE(char)[[["]]]]
154     - [CODE(char)[[[{]]]], [CODE(char)[[[}]]]], [CODE(char)[[[|]]]],
155     [CODE(char)[[[\]]]], [CODE(char)[[[^]]]], [CODE(char)[[[`]]]]
156    
157     [63] この部分の規定は[[正誤票]]の PEX17 で削除され、 [[XML 1.1]]
158     の [[XML資源識別子]]を使うという規定に置き換わっています (>>65)。
159    
160     - [CITE@en[XML Inclusions (XInclude) Version 1.0]] ([DEL[[[W3C]] [[勧告]]]] (改訂済))
161     -- [CSECTION@en[4.1.1 Escaping of href attribute values]]
162     <http://www.w3.org/TR/2004/REC-xinclude-20041220/#dt-IRI>
163    
164     [27] '''XLink IRI 参照に変換されるもの''':
165     [[XLink 1.1]] の当初の [[WD]] は、 [CODE(XMLa)@en[[[href]]]] [[属性]]の値は [[RFC 3987]]
166     の [[IRI参照]]か、 [CODE(char)[[[U+0020]]]] を[[百分率符号化]]すると
167     [[RFC 3987]] [[IRI参照]]になるものでなければ[['''ならない''']]と規定していました。
168     この規定は [[XLink 1.0]] との[[後方互換性]]のためとされています。
169    
170     [73]
171     - [[XLink 1.0]] が定義していた [[URI参照]]に変換されるもの (>>9) より認められる範囲が狭まっています。
172     (ただし [[RFC 2396]] と [[RFC 3986]]/[[RFC 3987]] の構文上の違いがあるので、
173     [[XLink 1.1]] [[IRI参照]]に変換されるものは [[XLink 1.0]] [[URI参照]]に変換されるものの完全な[[部分集合]]にはなっていません。)
174     - [[XLink 1.1]] の新しい [[CR]] では、「[[XML資源識別子]]」という名前がついて、
175     内容も変わっています (>>28)。新しい定義の方が、 [[XLink 1.0]] の定義により近い形になっています。
176    
177     - [CITE@en[XML Linking Language (XLink) Version 1.1]] ([DEL[[[W3C]] [[作業原案]]]] (改訂済))
178     -- [CSECTION@en[5.4 Locator Attribute ([CODE(XMLa)@en[href]])]]
179     <http://www.w3.org/TR/2005/WD-xlink11-20050707/#link-locators>
180    
181     *** 「URI に変換されるもの」、「URI 参照に変換されるもの」を定義している仕様
182    
183     [10] '''HTML 4.01 URI 誤り処理''':
184     [[HTML 4]] は[[著者]]に対しては [[URI]] しか認めていませんが、
185     informative な附属書中で、[[利用者エージェント]]が[[非ASCII文字]]を含む
186     [[URI]] [[属性値]]の処理に関して、
187     = まずは [[UTF-8]] として[[百分率符号化]]し、試してみる
188     = 古い[[文書]]に対応したい[[利用者エージェント]]は、前項が失敗した場合、
189     [[文書]]の[[文字符号化]]を使って[[百分率符号化]]し、試してみる
190    
191     という方法を述べています (1項目は推奨されており、2項目は note での言及、
192     ただしどちらも informative)。
193    
194     ;; なお、 [[HTML 4]] は「[[URI参照]]」の意味で「[[URI]]」という語を使っていると見られる上、
195     [[RFC 1738]]、[[RFC 1808]]、[[RFC 2396]] をいずれも normative
196     に参照しており、混乱しています。
197    
198     [70]
199     - [[HTML 4]] のこの解説は必ずしも実情に合っておらず、
200     [[HTML 5]] の「[[URL]]」の定義は異なったものとなっています (>>69)。
201     - [[XPath 2.0]]/[[XQuery 1.0]] にはこの解説に基づいたと称する[[関数]]
202     [CODE@en[fn:[[escape-html-uri]]]] が定義されていますが、
203     この関数が行うのは [CODE(char)[[[U+0020]]]] 〜 [CODE(char)[[[U+007E]]]]
204     ''以外''の[[百分率符号化]]であって、 [[HTML 4]] の解説とは[[制御文字]]の扱いが含まれている点が異なります。
205     そもそも [[XPath 2.0]]/[[XQuery 1.0]] には [[IRI参照]] (実際には[[遺物拡張IRI参照]]的なもの)
206     から [[URI参照]]に変換する[[関数]] [CODE@en[fn:[[iri-to-uri]]]] もあるので、
207     [[URI参照]]で認められない [[ASCII]] [[文字]]を[[百分率符号化]]しない
208     [CODE@en[fn:[[escape-html-uri]]] の存在意義は疑問です。
209    
210     - [[HTML 4]] ([[W3C]] [[勧告]])
211     -- [CSECTION@en[B.2.1 Non-ASCII characters in URI attribute values]]
212     <IW:HTML4:"appendix/notes.html#h-B.2.1">
213     - [CITE@EN[XQuery 1.0 and XPath 2.0 Functions and Operators]] ([[W3C]] [[勧告]])
214     --[CSECTION@en[7.4.12 fn:escape-html-uri]]
215     <http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#uri>
216    
217     [7] '''XML システム識別子''':
218     [[XML]] の[[システム識別子]]は、 [[URI参照]]に変換できるものと定義されています。
219     (なお、 1.0 1e E76 以後、[[システム識別子]]に[[素片識別子]]が現れるのは[[誤り]]とされています。)
220     厳密な定義は正誤票で何度も重ねて訂正され、各版で内容が微妙に異なっています。
221    
222     ,版,参照する [[URI]] 仕様,[[百分率符号化]]しなければならない[[文字]]
223     ,1.0 1e,[[RFC 2396]] になる前の [[Internet Draft]] ([[RFC 1738]] と [[RFC 1808]] も参照、3ついずれも informative),[[非ASCII文字]]
224     ,1.0 1e E49,同上,[[非ASCII文字]]、[[RFC 2396]] 2.2 節 [[reserved]] 文字
225     ,1.0 1e E66,[[RFC 2396]]、[[RFC 2732]],[[非ASCII文字]]
226     ,1.0 1e E78、1.0 2e、1.0 2e E5,[[RFC 2396]]、[[RFC 2732]],"[[非ASCII文字]]、[[RFC 2396]] 2.4 節除外文字 (ただし [CODE(char)[#]], [CODE(char)[[[%]]]], [CODE(char)[[['''[''']]]], [CODE(char)[[[''']''']]]] を除く)"
227     ,1.0 2e E26、1.0 2e E43、1.0 3e、1.1 1e,同上,"[CODE(char)[[[U+0000]]]]-[CODE(char)[[[U+001F]]]], [CODE(char)[[[U+007F]]]], [CODE(char)[[[U+0020]]]], [CODE(char)[[[<]]]], [CODE(char)[[[>]]]], [CODE(char)[[[U+0022]]]], [CODE(char)[[[{]]]], [CODE(char)[[[}]]]], [CODE(char)[[[|]]]], [CODE(char)[[[U+005C]]]], [CODE(char)[[[^]]]], [CODE(char)[[[`]]]], [CODE(char)[[[U+0080]]]] 以上"
228     ,1.0 4e E14、1.0 4e、1.1 1e E22、1.1 2e,[[RFC 3986]],同上
229    
230     - 1.0 1e E49 の修正は誤った変更です (reserved は [[URI]] で使え’'る''[[文字]])。
231     - 1.0 1e では「[[URI]]」とありましたが、 1e [[正誤票]] E88 で「[[URI参照]]に置き換えられています。
232     - 1.0 2e と 1.0 3e の間で実質的な変更はありません。
233    
234     -[CITE[Extensible Markup Language (XML) 1.0]]
235     ([DEL[[[W3C]] [[勧告]]]] (改訂済))
236     -- [CSECTION@en[4.2.2 External Entities]]
237     <http://www.w3.org/TR/1998/REC-xml-19980210#dt-sysid>
238     -- [CITE@en[Errata in REC-xml-19980210]] ([TIME[2000-10-07 09:19:21 +09:00]] 版)
239     ---E88 <http://www.w3.org/XML/xml-19980210-errata#E88>
240     ---E78 <http://www.w3.org/XML/xml-19980210-errata#E78>
241     ---E76 <http://www.w3.org/XML/xml-19980210-errata#E76>
242     ---E66 <http://www.w3.org/XML/xml-19980210-errata#E66>
243     ---E49 <http://www.w3.org/XML/xml-19980210-errata#E49>
244     -[CITE@EN[Extensible Markup Language (XML) 1.0 (Second Edition)]]
245     ([DEL[[[W3C]] [[勧告]]]] (改訂済))
246     -- [CSECTION@en[4.2.2 External Entities]]
247     <http://www.w3.org/TR/2000/REC-xml-20001006#dt-sysid>
248     -- [CITE@en[Errata in REC-xml-20001006]] ([TIME[2004-11-25 20:26:49 +09:00]] 版)
249     --- E5 <http://www.w3.org/XML/xml-V10-2e-errata#E5>
250     --- E26 <http://www.w3.org/XML/xml-V10-2e-errata#E26>
251     --- E43 <http://www.w3.org/XML/xml-V10-2e-errata#E43>
252     - [CITE@EN[Extensible Markup Language (XML) 1.0 (Third Edition)]]
253     ([DEL[[[W3C]] [[勧告]]]] (改訂済))
254     -- [CSECTION@en[4.2.2 External Entities]]
255     <http://www.w3.org/TR/2004/REC-xml-20040204/#dt-sysid>
256     -- [CITE@en[Errata in REC-xml-20040204]] ([TIME[2006-08-10 00:48:41 +09:00]] 版)
257     <http://www.w3.org/XML/xml-V10-3e-errata#E14>
258     - [CITE@EN[Extensible Markup Language (XML) 1.1]]
259     ([DEL[[[W3C]] [[勧告]]]] (改訂済))
260     -- [CSECTION@en[4.2.2 External Entities]]
261     <http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-sysid>
262     -- [CITE@en[Errata in REC-xml11-20040204]] ([TIME[2006-08-10 00:48:58 +09:00]] 版) <http://www.w3.org/XML/xml-V11-1e-errata#E22>
263     - [CITE@en[Extensible Markup Language (XML) 1.0 (Fourth Edition)]]
264     ([[W3C]] [[勧告]])
265     --[CSECTION@en[4.2.2 External Entities]]
266     <http://www.w3.org/TR/2006/REC-xml-20060816/#dt-sysid>
267     -[CITE@en[Extensible Markup Language (XML) 1.1 (Second Edition)]]
268     ([[W3C]] [[勧告]])
269     --[CSECTION@en[4.2.2 External Entities]]
270     <http://www.w3.org/TR/2006/REC-xml11-20060816/#dt-sysid>
271    
272     [22] '''RDF/XML:1999 (XML 1.0 1e の処理の参照)''':
273     [[RDF]] の1999年の仕様では、[[生成規則]]上の [CODE(ABNF)@en[[[URI-reference]]]]
274     は [[XML]] における[[文字列]]であり、 [[RFC 2396]] に従って解釈するとされていました。
275     構文上は [[URI]] として正しくない[[文字列]]も認められていたことになります。
276     Note では、 [[XML]] (の最新版) を引用しつつ、[[非ASCII文字]]は[[百分率符号化]]して
277     [[URI]] として解釈することが実装に勧められています。
278    
279     ;; なお、この仕様書は「[[URI]]」と「[[URI参照]]」の両方の語が現れますが、
280     「[[URI参照]]」という語が現れるのは[[生成規則]]の名前だけで、
281     基本的に両者を区別していないようです。
282    
283     - [CITE[Resource Description Framework (RDF) Model and Syntax Specification]]
284     ([DEL[[[W3C]] [[勧告]]]] (改訂済))
285     --<http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/#grammar>
286    
287     [9] '''XLink/XML 基底/XML 署名 URI 参照に変換されるもの''':
288     [[XLink]] [CODE(XMLa)@en[xlink:[[href]]]] [[属性]]や
289     [CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性]]や
290     [[XML署名]]の [CODE(XMLa)@en[[[URI]]]] [[属性]]の値は、
291     次の[[文字]]を[[百分率符号化]]した後、
292     [[RFC 2396]] [[URI参照]]として解釈されることになっています。
293     - [[非ASCII文字]]
294     - [[RFC 2396]] 2.4節除外文字 ([CODE(char)[#]], [CODE(char)[[[%]]]],
295     [CODE(char)[[['''[''']]]], [CODE(char)[[[''']''']]]] を除く。)
296    
297     [72] [[百分率符号化]]する[[文字]]の種類の規定では [[RFC 2396]] と
298     [[RFC 2732]] に基づいているのですが、「[[URI参照]]」の定義としては
299     [[RFC 2396]] しか参照していません。仕様書中の文言を厳密に解釈するなら、
300     [[authority]] [[部品]]中であっても [CODE(char)[[['''[''']]]], [CODE(char)[[[''']''']]]]
301     は使えないことになります。
302    
303     [32] [[SVG 1.0]]、[[SVG 1.1]] は、 [[SVG]] [[文書]]で用いられる
304     [CODE(XMLa)@en[xlink:[[href]]]] [[属性]]について、
305     [[XLink 1.0]] を参照しつつも [[XLink 1.0]] と同じことを再度規定しています。
306    
307     [8]
308     - [[XLink]]/[[XML基底]]/[[XML署名]]
309     [[URI参照]]に変換されるものは [[XML]] [[システム識別子]]における
310     [[URI参照]]に変換されるもの (1.0 2e 以降、1.1、>>7) とほぼ同じですが、
311     「[[URI参照]]」の定義が [[RFC 2396]] だけを参照している点が異なります。
312     - [[XLink]]/[[XML基底]]/[[XML署名]] [[URI参照]]に変換されるものは、
313     [[XLink 1.1]] [[CR]] で定義され (>>28)、
314     [[XML基底]]第2版の [[PER]] が参照 (>>74)
315     している [[XLink]] [[XML資源識別子]]とほぼ同じですが、
316     「[[IRI参照]]」ではなく、[[RFC 2396]] の「[[URI参照]]」を参照している点が異なります。
317    
318     -[CITE[XML Linking Language (XLink) Version 1.0]] ([[W3C]] [[勧告]])
319     --[CSECTION@en[5.4 Locator Attribute ([CODE(XMLa)@en[href]])]]
320     <http://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators>
321     -[CITE[XML Base]] ([[W3C]] [[勧告]])
322     --[CSECTION@en[3.1 URI Reference Encoding and Escaping]]
323     <http://www.w3.org/TR/2001/REC-xmlbase-20010627/#escaping>
324     -[CITE[XML-Signature Syntax and Processing]] ([[W3C]] [[勧告]])
325     --[CSECTION@en[4.3.3.1 The [CODE(XMLa)@en[URI]] Attribute]]
326     <http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-URI>
327     - [[SVG 1.0]] ([[W3C]] [[勧告]])
328     --[CSECTION@en[5.3.2 URI reference attributes]]
329     <http://www.w3.org/TR/2001/REC-SVG-20010904/struct.html#xlinkRefAttrs>
330     -[[SVG 1.1]] ([[W3C]] [[勧告]])
331     --[CSECTION@en[5.3.2 URI reference attributes]]
332     <http://www.w3.org/TR/2003/REC-SVG11-20030114/struct.html#xlinkRefAttrs>
333    
334     [11] '''WebCGM URI に変換されるもの''':
335     [[WebCGM]] 第2版は、 [[WebCGM]] [[処理器]]が [[URI]] の解釈の際に[[非ASCII文字]]を[[百分率符号化]]しなければならないと規定しています。
336    
337     この仕様書は [[RFC 2396]] (だけ) を参照していますが、「[[URI参照]]」
338     という言葉を使わず、「[[URI]]」を「[[URI参照]]」も含めた意味で使っているようです。
339    
340     処理の規定の部分では [[XML 1.0]] 第2版の[[システム識別子]]の処理の規定 (>>7)
341     を採用すると述べられているのですが、なぜかそれを参照するだけに留まらずにわざわざ独自の規定を行っており、
342     その規定が [[XML 1.0]] 第2版のものではなく、 [[XML 1.0]]
343     第1版と同じで[[非ASCII文字]]しか[[百分率符号化]]しないものとなっています。
344    
345     [76]
346     - なお、この部分の規定は第1版にはありませんでした。
347     - [[RFC 2732]] は参照されていません。従って、厳密には [[XML 1.0]] の (正誤票適用時も含めた)
348     どの版とも一致しません。
349    
350     - [[WebCGM]] 第2版 ([[W3C]] [[勧告]])
351     -- [CITE[WebCGM Intelligent Content]] [CSECTION@en[3.1.1.4 Non-ACSII Characters in URIs]]
352     <http://www.w3.org/TR/2001/REC-WebCGM-20011217/REC-03-CGM-IC.html#webcgm_3_1_1_4>
353    
354     [33] '''WebCGM 2.0 URI 参照に変換されるもの''':
355     [[WebCGM]] の新しい版である [[WebCGM]] 2.0 の仕様書では、前版の記述 (>>11)
356     と違って [[RFC 3986]] と [[RFC 3987]] を参照し、
357     「[[URI参照]]」という言葉を使ってより明確な形の規定に改められています。
358    
359     ;; ただし、「[[URI]]」という用語は「[[URI参照]]」と必ずしも区別されていないように見受けられます。
360    
361     さて、この新しい規定では、 [[WebCGM]] における [[URI]] ([[URI参照]]ではなく。)
362     は [[RFC 3987]] 3.1 節の[[百分率符号化]]を施した後、
363     [[RFC 3986]] [[URI参照]] ([[URI]] ではなく。) にならなければならないとされています。
364    
365     ;; [[RFC 3987]] 3.1節には [[ASCII]] 範囲内の [[URI]] で使えない文字を[[百分率符号化]]して[['''構わない''']]ことになっていますが、
366     それが適用されるか否かには全く言及していません。
367    
368     加えて、[[百分率符号化]]の適用例が示されているのですが、
369     その中には、[[百分率符号化]]以外の [CODE(char)[[[%]]]] が
370     [CODE(char)[%25]] になるという怪しい例が含まれています。
371    
372     -[CITE@en[OASIS CGM Open specification - WebCGM 2.0 - WebCGM Intelligent Content]]
373     ([DEL[[[W3C]] [[会員提出]]]] (改訂済))
374     -- [CSECTION@en[3.1.1.4 Non-ASCII characters in URIs]]
375     <http://www.w3.org/Submission/2006/SUBM-WebCGM20-20060313/WebCGM20-IC.html#webcgm_3_1_1_4>
376     - [CITE[WebCGM 2.0 - WebCGM Intelligent Content]] ([[W3C]] [[勧告]])
377     -- [CSECTION@en[3.1.1.4 Non-ASCII characters in URIs]]
378     <http://www.w3.org/TR/2007/REC-webcgm20-20070130/WebCGM20-IC.html#webcgm_3_1_1_4>、
379     - [CITE[WebCGM 2.0 - WebCGM Intelligent Content]] ([[OASIS]] [[標準]])
380     -- [CSECTION@en[3.1.1.4 Non-ASCII characters in URIs]]
381     <http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-IC.html#webcgm_3_1_1_4>
382    
383     [31] '''XML 型録 URI 正規化''':
384     [[XML型録]]仕様書では、[[正規化]]と称して、[[型録処理器]]に対する入力や[[型録]]中で示された
385     [[URI参照]]のようなものを [[URI参照]]に変換する処理を定義しています。
386     定義されている処理の内容は、 [[XLink 1.0]] 等 (>>8) と同じです。
387     「[[URI参照]]」の定義として [[RFC 2396]] を参照している点も同じです。
388    
389     [[XML型録]]で定義されている値が [[URI参照]]の[[属性]]については、
390     本文の定義に従うなら [[RFC 2396]] の [[URI参照]]なのですが、
391     2003年以降の仕様に含まれる [[XML Schema]] や [[RELAX NG]]
392     の[[スキーマ]]では [CODE(XML)@en[[[anyURI]]]] となっています。
393    
394     - [[XML型録]] ([[OASIS]] 仕様)
395     -- [CSECTION@en[System Identifier and URI Normalization]]
396     <IW:XMLCatalog:"#sysid-norm">
397    
398     *** 「XML 資源識別子」、「遺物拡張 IRI」、「遺物拡張 IRI 参照」を定義・参照している仕様
399    
400     [66] 名前と内容と定義文書が頻繁に変わる'''これ'''は、そもそも
401     [[W3C]] の [[XML中核WG]] が [[XML]] 関連仕様の [[URI]]/[[IRI]]
402     の定義を統一するべく、作業を始めました。
403     はじめは [[XRI]] という名前でしたが、 [[OASIS]] の同名の仕様との衝突を避けるため、
404     [DFN[[[XML資源識別子]]]] ([DFN@en[XML Resource Identifier]]、[[XMLRI]] とも)
405     に改名されました。
406     [[XLink 1.1]] で定義するつもりだったり (>>28)、
407     [[XML 1.1]] で定義するつもりだったり (>>65) した後、
408     [[Internet Draft]] が出版されました。その頃名前は [DFN@en[[[HRRI]]]]
409     (確か、 [DFN@en[Human Readable Resource Identifiers]]) でした。
410     それが [[RFC 3987]] の改訂版となる [[Internet Draft]] に吸収され、
411     [[HRRI]] のような積極的に使いたくなる名前は避けるべきだとして
412     [DFN[[[遺物拡張IRI]]]] ([DFN@en[Legacy Extended IRI]]、[DFN@en[[[LEIRI]]]]) および
413     [DFN[[[遺物拡張IRI参照]]]] ([DFN@en[Legacy Extended IRI reference]])
414     として定義されるに至りました。この間、名前と定義文書だけでなく、
415     定義そのものも少しずつ変化しています。
416    
417     [67]
418     作業が始まって5年以上が経つわけですが、 [[XML中核WG]] は [[LEIRI]]
419     の作業の完了待ちで各種仕様の改訂作業も中断状態、もうほんと gdgd です。
420    
421     [65] '''XInclude 1.0 第2版 (将来の XML 1.1 の定義の参照)''':
422     [[XInclude]] 1.0 の第1版[[勧告]]に対する[[正誤票]]の修正案 PEX17
423     では、独自の「[[IRI参照]]」 (>>4) や「[[IRI参照]]に変換されるもの」 (>>62)
424     の定義を削除し、代わりに [[XML 1.1]] の「[[XML資源識別子]]」であるとしました。
425     [[XML資源識別子]]とは [[RFC 3987]] の [[IRI参照]]に変換されるものであるとも述べていました。
426    
427     この修正は [[XInclude]] 1.0 第2版[[勧告]]に反映されました。
428     第2版は更に [[XML 1.1]] の4.2.2節で「[[XML資源識別子]]」が定義されていると明確化しています。
429     ただし、実は [[XML 1.1]] の改訂はこの時点では行われておらず (その後立ち消え)、
430     [[XML 1.1]] には「[[XML資源識別子]]」という言葉が一切出てきません。
431    
432     - [CITE@en-US[XInclude 1.0 Errata]] ([TIME[2006-04-24 01:05:52 +09:00]] 版)
433     <http://www.w3.org/2004/12/xinclude-errata/#PEX17>
434     -- 第1版 [[W3C]] [[勧告]] (改訂済) の[[正誤票]]。
435     - [CITE@EN[XML Inclusions (XInclude) Version 1.0 (Second Edition)]]
436     ([[W3C]] [[勧告]])
437     -- [CSECTION@en[4.1.1 Escaping of href attribute values]]
438     <http://www.w3.org/TR/2006/REC-xinclude-20061115/#IRIs>
439    
440     [28] '''XLink XML 資源識別子''':
441     [[XLink 1.1]] [[CR]] は「[[XM資源識別子]]」を定義しています。
442     当時の [[XML中核WG]] の目論見としては、各種 [[XML]] 関連仕様の
443     [[URI]]/[[IRI]] の定義をこれを参照する形に改める予定だったようです。
444    
445     [[XML資源識別子]]を
446     [[IRI参照]]にするためには次の[[文字]]を[[百分率符号化]]しなければなりません。
447     - [CODE(char)[[[U+0000]]]] 〜 [CODE(char)[[[U+001F]]]], [CODE(char)[[[U+007F]]]]
448     - [CODE(char)[[[U+0020]]]]
449     - [CODE(char)[[[<]]]], [CODE(char)[[[>]]]], [CODE(char)[[["]]]]
450     - [CODE(char)[[[{]]]], [CODE(char)[[[}]]]], [CODE(char)[[[|]]]],
451     [CODE(char)[[[\]]]], [CODE(char)[[[^]]]], [CODE(char)[[[`]]]]
452    
453     なお、 [[XML資源識別子]]を相対形から絶対形に[[解決]]する場合に、
454     [[IRI]] や [[URI]] を経由せずとも直接変換できることが明記されています。
455    
456     [68]
457     - 前の [[WD]] (>>27) では [CODE(char)[[[U+0020]]]]
458     だけが[[百分率符号化]]対象でしたが、[[URI]] で認められない
459     [[ASCII]] [[文字]]全体に拡大しています。
460     - [[XLink]] [[XML資源識別子]]は [[XLink]]/[[XML基底]] [[URI参照]]に変換されるもの
461     ([[XLink 1.0]] の定義、>>9)
462     とほぼ同じですが、「[[URI参照]]」ではなく「[[IRI参照]]」
463     を参照している点が異なります。
464     - [[XLink]] [[XML資源識別子]]は [[XML]] [[システム識別子]]における
465     [[URI参照]]に変換されるもの (1.0 2e 以降、1.1、>>7) とほぼ同じですが、
466     「[[URI参照]]」ではなく「[[IRI参照]]」
467     を参照している点が異なります。
468    
469     - [CITE@en[XML Linking Language (XLink) Version 1.1]] ([DEL[[[W3C]] [[勧告候補]]]] (改訂済))
470     --[CSECTION@en[5.4.1 XML Resource Identifiers]]
471     <http://www.w3.org/TR/2006/CR-xlink11-20060328/#xml-resource-identifier>
472    
473     [74] '''XML 基底 2e PER (XLink 1.1 CR の参照)''':
474     [[XML基底]]の第2版 [[PER]] では、第1版の [[URI参照]]に変換されるもの (>>9)
475     の規定が削除され、 [[XLink 1.1]] [[CR]] で定義されている [[XML資源識別子]] (>>28)
476     を参照する形に改められています。
477    
478     - [CITE@EN[XML Base (Second Edition)]] ([[W3C]] [[PER]])
479     --[CSECTION@en[3 [CODE(XMLa)@en[xml:base]] Attribute]]
480     <http://www.w3.org/TR/2006/PER-xmlbase-20061220/#syntax>
481    
482     [71] '''XLink 1.1 2nd LCWD (IRIbis 02 の参照)''':
483     >>28 の次に出版された [[XLink 1.1]] の [[WD]] では、[[XML資源識別子]]の定義は削除されており、
484     [[RFC 3987]] の改訂案である [[draft-duerst-iri-bis-02]] の [[LEIRI]]
485     を参照するように改められています。
486    
487     - [CITE@en[XML Linking Language (XLink) Version 1.1]] ([[W3C]] [[WD]])
488     --[CSECTION@en[5.4 Locator Attribute ([CODE(XMLa)@en[href]])]]
489     <http://www.w3.org/TR/2008/WD-xlink11-20080331/#link-locators>
490    
491     *** 「anyURI」を定義・参照している仕様
492    
493     [77] 後述のように、 [[XML Schema]] 第2部の[[データ型]]に関する仕様書で定義されている
494     [[URI]]・[[IRI]] のための[[データ型]] [DFN@en[[[anyURI]]]]
495     は、「[[URI]]」という名前にも関わらず、実質的に [[IRI参照]]として定義されています。
496     この[[データ型]]は [[XML Schema]] 仕様書内では [[XLink 1.0]]
497     を参照する形で定義がなされていますが、
498     [[スキーマ]]で [CODE(XML)@en[[[anyURI]]]] [[データ型]]を使う[[文書型]]の仕様書の中には、
499     [[RFC 3987]] [[IRI参照]]などを引用するものもあって、
500     厳密には矛盾した、あるいは不必要な制約が加わった形の参照となっていることがあります。
501    
502     [15] '''XML Schema 1.0 anyURI''':
503     [[XML Schema]] [[データ型]] [DFN@en[anyURI]] は、
504     [[URI]] を表すものであり、絶対形・相対形を含み、[[素片識別子]]があってもよいと定義されています。
505     更に、 [[RFC 2396]] と [[RFC 2732]] により定義される [[URI]]
506     の役割を果たす値を表すものとして使うべきであるとされています。
507     そして、 [[anyURI]] から [[URI]] への変換は [[XLink 1.0]] 5.4節による、
508     とされています。
509     [[anyURI]] の[[字句空間]]は [[XLink 1.0]] 5.4 節に従った変化によって
510     [[RFC 2396]] + [[RFC 2732]] の [[URI参照]]となる[[文字列]]、とされています。
511    
512     [78] わかりにくい定義がなされているのですが、結局のところ、
513     [[XLink 1.0]] [[URI参照]]に変換されるものと同じものを意図しているようです。
514     ([[XML Schema]] 第2部第1版が参照しているのは [[XLink 1.0]] [[PR]]
515     ですが、内容は >>8 と同じです。第2版は[[勧告]]を参照しています。)
516     厳密に解釈すれば [[XLink 1.0]] の「[[URI参照]]」は [[RFC 2396]]
517     により、 [[XML Schema]] は [[RFC 2396]] と [[RFC 2732]]
518     によっているので、 [[XML Schema]] の場合の方が表す範囲が広いことになります。
519    
520     なお、 [[XLink 1.0]] は文脈的に [[XML 1.0]] で認められていない
521     [[C0制御文字]]はそもそも対象外で認められていないように読めるのですが、
522     [[XML Schema]] はそのような除外が記されておらず、 [[C0制御文字]]も認められているとも解釈できます。
523     ([[XML Schema]] [[データ型]] [CODE(XML)@en[[[string]]]] は [[XML 1.0]]
524     で認められている[[文字]]だけと明記されているのですが、 [CODE(XML)@en[[[anyURI]]]]
525     については何も言及がありませんし、後者が前者の[[派生型]]というわけでもありません。)
526    
527     ところで、 [[XML Schema]] 仕様書は「[[URI]]」を「[[URI参照]]」
528     の意味で使っているようです。
529    
530     第2版では note が追加されるなど多少変更はありますが、実質的な規定の内容には変化がありません。
531    
532     - [CITE[XML Schema Part 2: Datatypes]] ([DEL[[[W3C]] [[勧告]]]] 改訂済)
533     --[CSECTION@en[3.2.17 anyURI]]
534     <http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#anyURI>
535     - [CITE@EN[XML Schema Part 2: Datatypes Second Edition]] ([[W3C]] [[勧告]])
536     --[CSECTION@en[3.2.17 anyURI]]
537     <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#anyURI>
538    
539     [75] '''RELAX NG anyURI''':
540     [[RELAX NG]] を定義する [[ISO/IEC 19757]]‐2:2002 では、 [[RELAX NG]]
541     の構文の定義の中で、「[DFN@en[anyURI]]」を定義しています (6章)。
542     それによると、 [[anyURI]] とは、 [[XLink 1.0]] 5.4節の[[百分率符号化]]処理 (>>9)
543     の結果が [[RFC 2396]] + [[RFC 2732]] の [[URI参照]]となる[[文字列]]です。
544    
545     また、 7.4 節、7.6 節は anyURI として定義された[[属性]]の処理を規定していますが、
546     そこでは [[XLink 1.0]] 5.4節の[[百分率符号化]]処理 (>>9)
547     と同じであると規定されています。
548    
549     更に、附属書 A には [[RELAX NG]] 自体の [[RELAX NG]] [[スキーマ]] (規定) がありますが、
550     そこでは [CODE(URI)@en[[[http://www.w3.org/2001/XMLSchema-datatypes]]]]
551     を [CODE(XMLa)@en[[[datatypeLibrary]]]] とした上で [CODE(XML)@en[[[anyURI]]]]
552     が関係する[[属性]]の[[データ型]]として用いられています。
553    
554     [29] 対応する[[翻訳JIS]] である [[JIS X 4177]] にも、当然同じ規定があります。
555    
556     ;;
557     [76] つまり、実質的には同じものを本文中では [[XML Schema]] を参照せずに規定し、
558     附属書中では [[XML Schema]] (>>15) を使って規定しています。
559     もっとも、厳密いえば [[ISO/IEC 19757]]‐2:2003 の中では [[XML Schema]]
560     の[[データ型]]の [[URL]]
561     [CODE(URI)@en[[[http://www.w3.org/2001/XMLSchema-datatypes]]]]
562     の意味を特に定義しておらず、 [[XML Schema]]
563     は参考文献にも挙がっていませんので、附属書Aの意図するところは (厳密には)
564     明確になっていません。
565    
566     - [[ISO/IEC 19757]]‐2:2003 ([[ISO/IEC]] [[国際標準]])
567     -- [CSECTION@en[6 Full syntax]]
568     -- [CSECTION@en[7.4 datatypeLibrary attribute]]
569     -- [CSECTION@en[7.6 href attribute]]
570     -- [CSECTION@en[Annex A (normative) RELAX NG schema for RELAX NG]]
571     - [[JIS X 4177]]‐2:2005 ([[JIS]] [[規格]])
572    
573     [84] '''RDF/XML anyURI''':
574     [[RDF/XML]] の2004年版仕様書は、構文の定義中に「anyURI」があり、
575     「Any URI.」と説明されているのですが、それ以上の詳しい説明はありません。
576    
577     anyURI が使われているのは [[RDF/XML]] として解釈する
578     [[XML 1.0]] [[文書]]中の[[要素]]の[[名前空間URI]] と[[局所名]]を連結したもの
579     (いわゆる[[展開URI]]) に関する部分です。他の部分との整合性を考えれば、
580     [[RDF URI参照]] (>>6) と解するのが適切でしょうか。
581    
582     - [CITE@en[RDF/XML Syntax Specification (Revised)]] ([[W3C]] [[勧告]])
583     -- [CSECTION@en[6.3.2 Grammar Event Matching Notation]]
584     <http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#anyURI>
585    
586     [79] '''XML Schema 1.1 anyURI''':
587     [[XML Schema 1.1]] における [DFN@en[[[anyURI]]]] の定義は
588     [[XML Schema 1.0]] のもの (>>15) とは異なり、 [[RFC 3987]]
589     (またはその改訂版) の [[IRI参照]]とされています。
590     ただし、その[[字句空間]]は単なる[[文字列]]と同じで、それ以上の制約は設けられていません。
591     Note には [[anyURI]] が実用上有用であるためには [[RFC 3987]] 3.1節の[[百分率符号化]]によって
592     [[RFC 3986]] [[URI]] になる[[文字列]]であるべきだと述べられていますが、
593     note であって定義には含まれていません。
594    
595     ;;
596     [80] なお、 [[XML Schema 1.1]] も [[URI]]/[[IRI]] と
597     [[URI参照]]/[[IRI参照]]の違いに無頓着なようです。
598    
599     - [CITE@EN[W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes]] ([[W3C]]
600     [[LCWD]])
601     --[CSECTION@en[3.3.18 anyURI]]
602     <http://www.w3.org/TR/2008/WD-xmlschema11-2-20080620/#anyURI>
603    
604     [35] '''WSDL anyURI (XML Schema anyURI の参照)''':
605     [[WSDL 2.0]] は [[XML Schema]] 第2版の [CODE(XML)@en[[[anyURI]]]] (>>15)
606     を使っています。ですが、単に引用するだけではなく、
607     - 本質的には [[RFC 3987]] [[IRI]] だ
608     - [[URI]] への変換は [[XLink 1.0]] で定義されているが、 [[RFC 3987]]
609     3.1 節とほとんど同じだ
610     - [[相互運用性]]のため、 [CODE(char)[[[<]]]], [CODE(char)[[[>]]]],
611     [CODE(char)[[["]]]], [CODE(char)[[[U+0020]]]], [CODE(char)[[[{]]]],
612     [CODE(char)[[[}]]]], [CODE(char)[[[|]]]], [CODE(char)[[[\]]]],
613     [CODE(char)[[[^]]]], [CODE(char)[[[`]]]] を使わないことをお勧めする
614    
615     と述べられています。
616    
617     実際に使用している箇所では、 [Q[[[RFC 3987]] の[[絶対IRI]]]]
618     のように更に制約があります。
619    
620     [87] どうしてわざわざ「本質的に」などとわけのわからないことを付け加える必要があるのでしょう。
621     なお、この仕様書も [[URI]]/[[IRI]] と [[URI参照]]/[[IRI参照]]の違いには無頓着に見えます。
622    
623     -[CITE@en[Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language]]
624     ([[W3C]] [[勧告]])
625     -- [CSECTION@en[1.4.3 XML Schema anyURI]]
626     <http://www.w3.org/TR/2007/REC-wsdl20-20070626/#xmlSchemaAnyURI>
627    
628     *** IRI・IRI 参照に近い意味で「URI」や「URI 参照」を定義している仕様
629    
630     [25] '''P3P URI''':
631     [[P3P]] は用語の定義の中で「[[URI]]」を定義しています。その中では [[RFC 2396]]
632     によると述べているのですが、 [[HTML]] や [[XML]] においては [[W3C]]
633     [[charmod]] [[WD]] の規定に従うとしています。
634     (ただし、 [[HTTP]] においては適用しないとされています。)
635    
636     ですが、その参照 (normative reference) されている [[W3C]] [[charmod]] [[WD]]
637     は、仕様が [[IRI]] (の当時の [[Internet Draft]] である [[draft-masinter-url-i18n-08]])
638     を使用[['''するべきです''']]と述べているに過ぎず、 [[P3P]]
639     の実装が何をするべきなのかは明らかでありません。
640    
641     [26] [[P3P 1.1]] [[WD]] の当該規定は [[P3P 1.0]] [[勧告]]から変更されていません。
642     参照している [[charmod]] [[WD]] も古いもののままです。
643    
644     [40]
645     なお、 [[WD]] の当該部分は後に分割された別の単独の仕様書に移動しています。
646     しかしながら、その仕様書は [[CR]] に達した後、放置されているようです。
647     (実質的な内容は変化していません。)
648    
649     [[W3C]] [[勧告]]から [Q@en[Work in progress]]
650     な仕様を参照したことに大きな問題があります。
651    
652     - [CITE@en[The Platform for Privacy Preferences 1.0 (P3P1.0) Specification]]
653     ([[W3C]] [[勧告]])
654     --[CSECTION@en[1.3 Terminology]]
655     <http://www.w3.org/TR/2002/REC-P3P-20020416/#Terminology>
656     -[CITE@en[The Platform for Privacy Preferences 1.1 (P3P1.1) Specification]]
657     ([[W3C]] [[WD]])
658     --[CSECTION@en[1.3 Terminology]]
659     <http://www.w3.org/TR/2005/WD-P3P11-20050701/#Terminology>
660     - [CITE@en[Character Model for the World Wide Web 1.0]] ([DEL[[[W3C]] [[WD]]]] 改訂済)
661     --[CSECTION@en[8 Character Encoding in URI References]]
662     <http://www.w3.org/TR/2002/WD-charmod-20020220/#sec-URIs>
663     -- [[P3P]] [[勧告]]が参照 (normative reference) する [[WD]]。
664     - [CITE@en[Internationalized Resource Identifiers (IRI)]]
665     <http://www.w3.org/International/2001/draft-masinter-url-i18n-08.txt>
666     -- [[charmod]] [[WD]] が参照する [[Internet Draft]]。
667     -- 当然のことながら、後の [[RFC 3987]] とは内容が異なります。
668     - [CITE@en[Character Model for the World Wide Web 1.0: Resource Identifiers]]
669     ([[W3C]] [[CR]])
670     <http://www.w3.org/TR/2004/CR-charmod-resid-20041122/>
671    
672     [24] '''XML 暗号化 URI''':
673     [[XML暗号化]]仕様書では、「[[URI]]」は [[XML Schema]] [[データ型]]
674     [CODE(XML)@en[[[anyURI]]]] (>>15) と [[XML署名]]
675     [CODE(XMLa)@en[[[URI]]]] [[属性]]の規定 (>>8)
676     に従わなければ[['''なりません''']]と規定されています。
677    
678     なお、「[[URI]]」の参考文献として [[RFC 2396]] ([[URI]])、[[RFC 1738]] ([[URL]])、
679     [[RFC 2141]] ([[URN]])、[[RFC 2611]] ([[URN]]) が参照されています。
680    
681     [83] 手当たり次第に何でも引用できるものはしてしまおうとでもいうのでしょうか、
682     無茶苦茶ですね。引用されている [[XML署名]]の規定は [[XLink 1.0]]
683     の規定と同じ内容なので、実用上は [[XML Schema]] の規定とも同じで、
684     問題にはならないのですが・・・。
685    
686     - [CITE[XML Encryption Syntax and Processing]] ([[W3C]] [[勧告]])
687     --[CSECTION@en[1.3 Versions, Namespaces, URIs, and Identifiers]]
688     <http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/#sec-Versions>
689    
690     [6] '''RDF URI 参照''':
691     2004年の [[RDF]] 仕様書は「[[RDF]] [[グラフ]]における [[URI参照]]」
692     ([[RDF URI参照]])」を定義しています。それによると、
693     [DFN[[[RDF URI参照]]]]とは、
694     - [[Unicode]] [[文字列]]であって、
695     - [CODE(char)[[[U+0000]]]] 〜 [CODE(char)[[[U+001F]]]]、
696     [CODE(char)[[[U+007F]]]] 〜 [CODE(char)[[[U+009F]]]] を含まず、
697     - [[百分率符号化]]によって [[RFC 2396]] [[URI参照]]
698     (ただし、[[絶対URI]] + [[素片識別子]]) となるもの
699    
700     です。[[百分率符号化]]の対象としては、
701     - [[非ASCII文字]]
702     - [[RFC 2396]] 2.4節除外文字 ([CODE(char)[#]], [CODE(char)[[[%]]]],
703     [CODE(char)[[['''[''']]]], [CODE(char)[[[''']''']]]] を除く。)
704    
705     が挙げられています。
706    
707     [81] [[非文字]]や[[代理組]]の[[符号位置]]が認められているのかどうかは不明瞭です。
708    
709     [82]
710     - 「[[URI参照]]」の定義に [[RFC 2396]] だけを引用しており、
711     厳密に解釈すると [[RFC 2732]] の拡張は含まれないことになります。
712     - [[相対参照]]は定義に含まれていませんが、 [[RDF/XML]] 等[[具象構文]]で[[基底URI]]
713     が定義されている場合には[[相対参照]]を使っても構わないと note に記述されています。
714     --[[RDF URI参照]]を参照している仕様はこの意味で[[相対参照]]まで含めて
715     [[RDF URI参照]]と呼んでいる (のかもしれない) ことがあります。
716     -- 例えば、 [[RDF/XML]] 仕様書のほとんどの「[[RDF URI参照]]」への言及は絶対形と理解して問題ないのですが、
717     文法規則 URI-reference をそう理解すると一部の[[属性値]]に[[相対参照]]が使えないことになり、
718     仕様書の他の部分の記述や一般的な理解と矛盾します。
719     <http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-grammar-summary>
720     - [[RDF URI参照]]は [[XML Schema]] 第1版の [[anyURI]] (>>15) のうち、
721     [[相対参照]]を除いたものと互換であると
722     note に記述されています。「互換」の意味は明確ではありませんが、
723     ([[RFC 2732]] の解釈に関する問題を除けば) [[anyURI]]
724     が [[RDF URI参照]]の[[超集合]]となっています ([[anyURI]] では[[制御文字]]を使用可能)。
725     - [[RDF URI参照]]は [[XML名前空間 1.1]] の [[IRI]] (>>3)
726     と互換であると note に記述されています。「互換」の意味は明確ではありませんが、
727     ([[XML名前空間 1.1]] における「[[URI参照]]」の定義が謎なのに目をつぶれば)
728     [[XML名前空間 1.1]] [[IRI参照]]は [[RDF URI参照]]の[[部分集合]]となっています
729     ([[XML名前空間 1.1]] [[IRI参照]]では[[私用域]]、[[非文字]]、[[代理組]]の[[符号位置]]を使用不能)。
730     ただし、 [[XML名前空間 1.1]] [[IRI参照]]には[[相対参照]]も含まれています。
731     - 仕様書中の当該する節は [[IRI]] の [[RFC]] 化を見越したもので、 [[IRI]]
732     の [[Internet Draft]] である [[draft-duerst-iri-04]] やその後の版に適合しない
733     [[RDF URI参照]]に対しては警告を発しても構わないと note にあります。
734     実際のところ [[RFC 3987]] の [[IRI参照]] (の[[相対IRI参照]]を除いたもの)
735     と [[RDF URI参照]]を比較すると、 使える[[文字]]の種類としては [[RFC 3987]] の方が
736     [[RDF]] の方の[[部分集合]]になっています。しかし、構文的には逆に、
737     [[RFC 3987]] で認められている [[authority]] 中の[[百分率符号化]]が
738     [[RFC 2396]] ベースの [[RDF URI参照]]では認められていなかったりします。
739    
740     - [CITE@en[Resource Description Framework (RDF): Concepts and Abstract Syntax]]
741     ([[W3C]] [[勧告]])
742     --[CSECTION@en[6.4 RDF URI References]]
743     <http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-URIref>
744    
745     [5] '''DOM URI''':
746     [[DOM水準3]] では、中の人も相当困ったのでしょう、具体的な書式に言及することを諦めて、
747     抽象的な [DFN@en[[[DOM URI]]]] を次の条件を満たすものとして定義しています。
748     - 絶対識別子 (「絶対 URI」) は、 [[Web]] 上の資源を絶対的に識別する
749     - 単純な文字列比較により絶対識別子は比較でき、他の等価性は [[DOM]]
750     では扱わない
751     - 相対識別子 (「相対 URI」) は簡単に判別可能かつある絶対識別子に対して絶対にできる
752     - 資源の内容の取り出しは必要な時に行ってもよい
753    
754     そして、一般に [[DOM]] 内では特定の書式を想定した処理はせず、
755     相対識別子の解決や内容の取り出しで必要になった場合に限り、
756     関係する仕様書に従って処理することとされています。
757     関係する仕様書の例としては、 [[HTML 4.01]]・[[XML 1.0]]・[[XML名前空間 1.0]]
758     については [[RFC 2396]]、[[XML名前空間 1.1]] 第1版についてはその [[IRI]]
759     が示されています。
760    
761     [30] '''XSLT URI 参照''':
762     [[XSLT 2.0]] [[勧告]]では「[[URI参照]]」を定義しています。
763     また、[[XPL]] 仕様案では、「[[URI参照]]」の定義を、(当時の) [[XSLT 2.0]] の [[WD]]
764     から借りたとして同じことを定義しています。
765     それによると、「[[URI参照]]」は、 [[XML Schema]]
766     の [CODE(XML)@en[[[anyURI]]]] [[データ型]]の[[字句空間]]に属する[[文字列]]です。
767    
768     加えて、[[外部資源]]を識別する [[URI参照]]については、 [[XLink 1.0]]
769     5.4節 (>>8) と同じ規則に適合しなければならないとの制約が加わります。
770    
771     また、[[相対参照]]を[[解決]]する場合は [[RFC 2396]] ([[XPL]])
772     または [[RFC 3986]] ([[XSLT]])
773     [[URI参照]]に変換しなければならない旨が規定されています。
774    
775     なお、 [[XPL]] の仕様書は、その規定・言及の仕方の範囲内では特に何の問題もないとは思いますが、
776     [[RFC 2396]] を引用しているものの、 [[RFC 2732]] には言及すらしていません。
777    
778     [37] 単に [[XML Schema]] の [[anyURI]] を参照するとだけ述べずに、
779     なぜあえて[[字句空間]]に限定し、更に別に [[XLink]] を参照する規定を敢えて加えたのかはよくわかりませんが、
780     「外部参照の」という限定があることを考えると、外部参照以外の [[URI参照]]には
781     [[XLink]] の規定を適用しない、という意図があるのでしょうか。そうだとしても、
782     結局 [[XML Schema]] の規定する[[字句空間]]内では違いが現れないと思うのですが。
783    
784     なお、 [[XPL]] 仕様書の参考文献一覧では [[XML Schema]] の発行年が2000年になっていますが
785     (リンクは最新版へ)、 [[XML Schema]] 第1版の[[勧告]]は2001年です。
786     2000年当時の [[CR]] では「[[anyURI]]」は規定されておらず、「[[uriReference]]」
787     という名前でした。この仕様書自体は2005年なので、そのような古い仕様案を引用する意味はなく、
788     単なる誤記かもしれません。
789     [[XSLT 2.0]] は [[XML Schema]] 第2版を参照しています。
790    
791     - [CITE@EN[XML Pipeline Language (XPL) Version 1.0 (Draft)]] ([DEL[[[W3C]] [[会員提出]]]]
792     改訂済)
793     --[CSECTION@en[8.2 URI Reference]]
794     <http://www.w3.org/Submission/2005/SUBM-xpl-20050411/#d1056e1959>
795     - [CITE@EN[XSL Transformations (XSLT) Version 2.0]] ([[W3C]] [[勧告]])
796     --[CSECTION@en[5.8 URI References]]
797     <http://www.w3.org/TR/2007/REC-xslt20-20070123/#uri-references>
798    
799     [38] '''XPath URI''': [[XPath 2.0]] 本体仕様書と
800     [CITE@EN[XQuery 1.0 and XPath 2.0 Functions and Operators]] では、「[[URI]]」
801     は [[RFC 3986]] で定義されて [[RFC 3987]] で [[IRI]] として拡張されているものを指すと定義しています。
802     「[[基底URI]]」等の複合語の「[[URI]]」を「[[IRI]]」に置き換えることによる混乱を防ぐ意図があると述べられています。
803    
804     [CITE@EN[XQuery 1.0 and XPath 2.0 Functions and Operators]]
805     では更に「[[URI参照]]」も定義しています。「[[URI参照]]」は [[XSLT 2.0]]
806     (>>30) と同じく、 [[XML Schema]] 第2版 [CODE(XML)@en[[[anyURI]]]] (>>15)
807     の[[字句空間]]とされています (ただし特に規定がない場合との限定付き)。
808     ([[XSLT 2.0]] とは異なり、こちらでは
809     [[XLink]] 仕様に基づく変換のような規定はありません。)
810    
811     [85]
812     このおかしな定義のため、 [[XPath 2.0]] においては「[[URI]]」
813     が [[RFC 3986]]/[[RFC 3987]] ベース、「[[URI参照]]」
814     が [[RFC 2396]]/「「RFC 2732]] ベースになってしまっています。
815    
816     - [CITE@EN[XML Path Language (XPath) 2.0]] ([[W3C]] [[勧告]])
817     --[CSECTION@en[2 Basics]]
818     <http://www.w3.org/TR/2007/REC-xpath20-20070123/#dt-URI>
819     - [CITE@EN[XQuery 1.0 and XPath 2.0 Functions and Operators]] ([[W3C]] [[勧告]])
820     --[CSECTION@en[1.7 Terminology]]
821     <http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#uri>
822    
823     [45] '''PLS URI''':
824     [[PLS]] 仕様書では、「[[URI]]」を [[WebArch]] 仕様書に示された大域識別子であって、
825     [[XML Schema]] 第2版の [CODE(XML)@en[[[anyURI]]]] (>>15) である、としています。
826     その上で、 informative purposes only としながら [[RFC 3986]] と [[RFC 2732]]
827     を有用だろうとして引用しています。 [[RFC 3987]] にも言及しています。
828    
829     [89] 単に [[XML Schema]] だけを引用しておけばいいところ、なぜ敢えて色々わけのわからないものを引用しているのかが謎です。
830     [[WebArch]] を引用する意味はわかりませんし、 [[RFC 2732]]
831     への参照も消し忘れでしょうが、そんなものが review を越えて[[勧告]]になるというのもおかしな話です。
832    
833     - [CITE[Pronunciation Lexicon Specification (PLS) Version 1.0]] ([[W3C]] [[勧告]])
834     --[CSECTION@en[1.5. Glossary of Terms]]
835     <http://www.w3.org/TR/2008/REC-pronunciation-lexicon-20081014/#term-uri>
836    
837     *** IRI・IRI 参照に近い意味で「URL」を定義している仕様
838    
839     [47] '''HTTP における URL''':
840     [[RFC 2068]] は [[HTTP/1.1]] における [[URL]] を定義していますが、
841     [[RFC 1738]] で認められていない [[ASCII]] [[文字]]
842     ([CODE(ABNF)@en[[[national]]]]) や [CODE(char)[[[0x80]]]] 以上の[[オクテット]]
843     ([[右半面]]) を使うことを認めていました。 (ただし、
844     [CODE(char)[[[0x80]]]] 以上の[[オクテット]]の解釈は明記されていません。)
845    
846     [[HTTP]] の [[URL]] が[[鯖]]が解釈するのだから、[[相互運用性]]の問題はないといったような理屈でした。
847    
848     これは [[RFC 2616]] で修正され、 [[RFC 2396]] に従うようになりました。
849    
850     [69] '''[[HTML 5]] [[URL]]''':
851     [[HTML 5]] は [[URL]] の処理を定義しており、そこでは任意の[[文字列]]が [[URL]]
852     として与えられた時にどう扱わなければならないかを規定しています。
853     更に、[[妥当なURL]] を定義しています。[[妥当なURL]] は [[RFC 3986]] [[URI]]
854     や [[RFC 3987]] [[IRI]] の[[部分集合]]になっています。
855    
856     [48]
857     [[HTML 5]] の中の人である [[Ian Hickson]] は、 [[HTML 5]]
858     に [[URL]] の規定を含めるにあたり、 [[ietf-uri]] の人達に [[Web]]
859     のための [[URL]] の独立した仕様を作る気がないか問い合わせましたが、
860     彼らは自分達には関係のない問題だと拒否したため、 [[HTML 5]]
861     に含まれることになりました。
862    
863     詳しくは [[URI5]] や [[URL]] の項を参照してください。
864    
865     *** メモ
866    
867     @@ SVG Tiny 1.2 勧告後、それについての説明を追加する。
868    
869     [46]
870     [[RFC 4622]] は [CODE(URI)@en[[[xmpp]]:]] [[URL]] の構文を定義しているのですが、
871     [[RFC 3986]] や [[RFC 3987]] で認められていない [[ASCII]] [[文字]]を使うことを認めていました。
872     これは [[RFC 5122]] で修正され、 [[RFC 3986]] や [[RFC 3987]] に従うようになりました。
873    
874     [88] 他の仕様書で定義された [Q[IRI 参照]]や
875     [Q[URI 参照に変換できるもの]]などを参照している規格はこの他に多々あります。
876     XML 系の規格は XLink 1.0 を、新し目の規格は [CODE(XML)[[VAR[xs:]][[anyURI]]]]
877     を参照する傾向にあります。
878     ([CODE(XML)[[VAR[xs:]]anyURI]] は XLink 1.0 を参照しています。)
879    
880     [12]
881     HTML 4 は参考でエラー処理として現在の IRI
882     も処理できるといいよとしか言っていないのに、
883     HTML 4 は IRI に対応してるんだとかぬかす IRI 氏んじゃウゼー
884     ([[名無しさん]] [WEAK[2005-02-01 11:43:21 +00:00]])
885    
886     [[#comment]]
887    
888     ** メモ
889    
890    
891     [44]
892     [CITE@en[draft-duerst-iri-bidi-00 - Internet Identifiers and Bidirectionality]] ([CODE[2007-07-20 13:22:23 +09:00]] 版) <http://www.tools.ietf.org/html/draft-duerst-iri-bidi-00>
893    
894     [14]
895     [CITE[Editing 'Internationalized Resource Identifiers']] <http://www.w3.org/International/iri-edit/>
896    
897     [43]
898     [CITE[Resuming editing of IRI spec towards Draft Standard]] ([[Martin Duerst]] 著, [CODE[2007-06-04 08:31:57 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.public-iri/130>
899    
900     [[#comment]]
901    
902    
903    
904     * 安全性, アクセス可能性, 可用性
905    
906     [16] '''似た形の文字''':
907     [[UCS]] には[[図形記号]]が似た[[文字]](列)が極めて多く含まれています。
908     紛らわしくて困るというだけなら [WEAK[(それだけでも大問題ですが)]]
909     まだしも、[[なりすまし]]などの安全上の問題にもなります。
910     [[RFC 3987]] の仕様ではできるだけ [[NFC]] や [[NFKC]]
911     を使うことを勧めていますが、従来の[[文字符号化方式]]との関係
912     [WEAK[(RFC 3987 は従来の文字符号化方式で IRI が記述されていたら [[NFC]] に変換することを求めていますが、 RFC 3987 の対象外の世界で従来の文字符号化方式から [[UTF-8]] などに変換済みなら NFC でないかもしれません。 IRI を[Q[作る]]側も、[[ファイル名]]など NFC でない因子を持っているかもしれません。)]]
913     や悪意のある者が必ずしもそれに従うとは限りません。
914    
915     [17] '''見えない文字''':
916     [[UCS]] には[[図形記号]]を持たない[[文字]]が多く含まれています。
917     例えば [CODE(char)[[[U+3000]]]]
918     ([CODE(char)[[[IDEOGRAPHIC SPACE]]]]) も IRI
919     で使えます。 IRI のような文字列があった時にどこで終わるのかわからないので不便ですし、
920     [CODE(char)[[[IDSP]]]] と [CODE(char)[[[EMSP]]]] と
921     [CODE(char)[[[ENSP]]]] が2つ並んでいるものは区別できなかったりします
922     (>>16 の問題)。
923    
924     単に見えないだけではなく、何らかの意味を持った[[文字]]もあります。
925     [CODE(char)[[[PARAGRAPH SEPARATOR]]]] は段落境界を意味します。
926     IRI の途中で改段落などされると甚だ迷惑ではあるのですが、
927     仕様上は認められているようです。
928     悪意のある人は悪いことに使うかもしれません。
929    
930     [18] '''双方向性''':
931     [[RFC 3987]] には [[bidi]] に関する規定があります。
932     要約すると、 Unicode の bidi 算法をそのまま使うというものです。
933     最近の色々な規格 [WEAK[(例えば [[CSS]])]]
934     は全面的に Unicode の bidi 算法を採用しているので IRI
935     の部分だけ他の算法を採用するというのは非現実的ではありますが、
936     Unicode の bidi 算法は普通の文章を主に想定しているので、
937     記号を普通の文章とは違う特別な意味で使っている IRI
938     では予期せぬことが起こります ([[RFC 3987//6]]
939     にわずかながら例があります)。
940    
941     IRI の途中で直感とは異なる形で表示上の場所が入れ替わるのは実用上大きな問題ですが、
942     [[なりすまし]]の安全上の問題もかかえています。
943    
944     [[#comment]]
945    
946    
947     * 相互運用性
948    
949     [20] IRI が規格化される前から、色々な実装で URI
950     が使える場所に URI で使えない[[文字]]があっても処理できるようになっていました。
951     しかし、その取扱い (利用者への提示の仕方や[[文字符号化方式]]など)
952     は実装によりばらばらで、ある実装で動くように見えるものが別の実装では動かないといった問題が多発していました。
953    
954     IRI が標準化されたことで長期的に見れば問題は減少に向かうでしょうが、
955     URI ではない IRI が積極的に使われるようになると短期的には問題が以前よりも多く発生するようになると思われます。
956    
957     [21] IRI が標準化されたとはいえ、従来 URI
958     を使ってきた規格がすべて IRI に移行するわけではありません。
959     以前の実装やデータとの互換性の問題がありますから、
960     即座に移行するものはないと言っても過言ではないでしょう。
961    
962     URI しか使えない場所に無理矢理 IRI を使おうとするのは問題を複雑にするだけであり、
963     [[著者]]・情報提供者の自己満足以上のものは得られません。
964    
965     [34]
966     [CITE[Bug 261929 - Consider sending urls in UTF-8 by default (images/links with non-ASCII chacters not displayed)]] <https://bugzilla.mozilla.org/show_bug.cgi?id=261929>
967    
968     [[#comment]]
969    
970    
971     * メモ
972    
973     [36]
974     [CITE@ja[電子メール本文中の日本語ドメイン名URLをクリックできるようにするには - 日本語.jp]] ([CODE[2006-11-29 16:15:15 +09:00]] 版) <http://nihongojp.jp/support/mail_guide/>
975     ([[名無しさん]] [WEAK[2006-12-29 07:19:52 +00:00]])
976    
977     [41]
978     [CITE[Amazon日本語URL時代における書籍名の新常識 - 坂本多聞のインサイドアウト]] ([CODE[2007-06-09 23:47:23 +09:00]] 版) <http://rblog-ent.japan.cnet.com/tamon/2007/04/amazonurl_7390.html>
979     ([[名無しさん]] [WEAK[2007-06-09 14:49:43 +00:00]])
980    
981     [42]
982     [CITE@ja[WordPressカスタマイズメモ【企業ホームページ制作方法】: SEO対策にはUTF-8(文字コード)]] ([CODE[2007-06-07 13:21:14 +09:00]] 版) <http://wordpress.seesaa.net/article/35406256.html>
983     ([[名無しさん]] [WEAK[2007-06-09 14:50:32 +00:00]])

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24