[1] IRI は [[IETF]] 的には標準化は全然されてない状態なんですが、 色んな [[W3C]] の仕様が参照したり定義したりしてます。結果的に同じだとしても、 単一の仕様が色んなところで定義されているってのは困ったもんなんですがねぇ。 (2004年12月にようやく [[IESG]] に承認されて[[提案標準]]になるそうです。) (2005年1月に [[RFC 3987]] として発行されました。) - [Q[IRI 参照]]または [Q[IRI]] を定義している仕様書 -- [13] [[RFC 3987]] , --- [Q[IRI 参照]]は、[[百分率符号化]]により [[RFC 3986]] の [[URI参照]]に変換できる文字列です。 --- [[ABNF]] によっても構文が規定されています。 -- [2] [CITE[XPointer Framework]] --- [Q[IRI]] を概念的に定義し、 [Q[IRI 参照]]に [[XPointer]] [[指示子]]を使う方法を規定しています。 ---- IRI 参照に指示子を挿入する時には、百分率記号は[[百分率符号化]]します。 それ以外の文字は百分率符号化しても'''構いません'''が、 しないことを推奨しています。 ---- XPointer 指示子には任意の [[Unicode]] の文字 ([CODE(char)[[[U+0000]]]]〜[CODE(char)[[[U+10FFFF]]]]、除外なし) が使えます。つまり XPointer でいう IRI にはあらゆる Unicode 文字が生で使えます。 -- [3] [[XML名前空間 1.1]] --- [Q[IRI 参照]]は、[[百分率符号化]]と [[Punycode]] 符号化により [[RFC 2396]] + [[RFC 2732]] の [[URI参照]]に変換できる文字列です。 ---- 文字種的には RFC 3987 と出入りがあります。 ---- 構文的には RFC 3987 よりも狭いです。 -- [4] [CITE[[XML Inclusions (XInclude) Version 1.0]] --- [Q[IRI 参照]]は、[[百分率符号化]]により [[RFC 2396]] + [[RFC 2732]] の [[URI参照]]に変換できる文字列です。 ---- 文字種的には RFC 3987 と出入りがあります。 XML 名前空間 1.1 とは同じです。 ---- 構文的には RFC 3987 よりも狭いです。 Punycode 化の規定がないので、 XML 名前空間 1.1 よりも狭いです。 --- [Q[IRI 参照に変換できるもの]]も定義されています。 ---- 文字種的には [Q[IRI 参照]] + α です。 - [Q[URI 参照に変換できるもの]]または [Q[URI に変換できるもの]]を定義している仕様書 -- [10] [CITE[HTML 4.01]] は '''URI 参照しか認めていません'''が、参考までに壊れた文書中の URI 参照であるべきものを URI 参照らしく解釈する方法が提案されています。 -- [7] [CITE[Extensible Markup Language (XML) 1.0 (Third Edition)]] , [CITE[Extensible Markup Language (XML) 1.1]] --- [Q[[[システム識別子]]]]に URI 参照 ([[RFC 2396]] + [[RFC 2732]]) で禁止されている文字が使えると規定されています。 --- SE では RFC の参照により禁止文字が指定されていましたが、 TE, 1.1 では直接記載されています。なお、 この規定は正誤表で何度か訂正されています。 -- [9] [CITE[XML Base]] --- URI ([[RFC 2396]] + [[RFC 2732]]) のようなもので禁止文字が使えると規定しています。 --- 禁止文字は [[RFC 2396]] と [[RFC 2732]] に拠っています。 -- [8] [CITE[XML Linking Language (XLink) Version 1.0]] --- URI ([[RFC 2396]]) のようなもので禁止文字が使えると規定しています。 --- 禁止文字は [[RFC 2396]] と [[RFC 2732]] に拠っています。 --- つまり厳密に解釈すると [CODE(char)['''[''']] や [CODE(char)[''']''']] を使うことはできません。 -- [11] [CITE[WebCGM Intelligent Content]] --- URI ([[RFC 2396]] + [[RFC 2732]]) で禁止文字が使えると規定しています。 --- [[XML 1.0]] [ABBR[[[SE]]] [第2版]] を参照しつつ、 非 ASCII 文字にしか言及していません (ASCII 内の禁止文字については触れていません)。 - 実際には URI 参照ではない [Q[URI 参照]]を定義している仕様書 --[15] [CITE[XML Schema Part 2: Datatypes]] --- [CODE[[[anyURI]]]] という [Q[URI 参照に変換できるもの]]を規定しています。 --- [Q[URI 参照]]の定義は [[RFC 2396]] と [[RFC 2732]] を参照しています。 --- [CODE[anyURI]] から URI 参照への写像としては XLink 1.0 の方法を参照しています。 -- [6] [CITE[Resource Description Framework (RDF): Concepts and Abstract Syntax]] --- [Q[RDF URI 参照]]あるいは [Q[URI 参照]]として [Q[URI に変換できるもの]]を規定しています。 --- 文字種的には [[Unicode]] の文字列で、 [[C0制御文字]], [[C1制御文字]], [CODE(char)[[[DEL]]]] を除いたものとされています。[[非文字]]や[[サロゲート・ペア]]の片割れの扱いは規定されていません。 --- 構文的には [[RFC 2396]] の URI 参照に[[百分率符号化]]で変換できるものとされています。 --- 符号化する禁止文字の定義には [[RFC 2396]] と [[RFC 2732]] によっています。 --- つまり厳密に解釈すると [CODE(char)['''[''']] や [CODE(char)[''']''']] を使うことはできません。 - [Q[IRI 参照]]または [Q[IRI]] を包括する概念を定義している仕様書 -- [5] [CITE[Document Object Model Core]] : [DFN[[[DOM URI]]]] は、 [[URI参照]]や IRI 参照や似たようなものすべてです。 (他の仕様書で定義された [Q[IRI 参照]]や [Q[URI 参照に変換できるもの]]などを参照している規格はこの他に多々あります。 XML 系の規格は XLink 1.0 を、新し目の規格は [CODE(XML)[[VAR[xs:]][[anyURI]]]] を参照する傾向にあります。 ([CODE(XML)[[VAR[xs:]]anyURI]] は XLink 1.0 を参照しています。)) [12] HTML 4 は参考でエラー処理として現在の IRI も処理できるといいよとしか言っていないのに、 HTML 4 は IRI に対応してるんだとかぬかす IRI 氏んじゃウゼー ([[名無しさん]] [WEAK[2005-02-01 11:43:21 +00:00]]) [14] [CITE[Editing 'Internationalized Resource Identifiers']] ([[名無しさん]])