<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
この項の内容は結構古かったりするので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合とURL</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>の各項をご覧ください。</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> (or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRI</anchor>) の関係について。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> URI を巡る規定は各規格で色々だったり、
同じ規格でも版・訂正票・実装間で二転三転多種多様だったりします。</p><p>URI の仕様は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2396</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2732</anchor>
で確定しているので素直にそれに従えばいいのですが、
どうもそうしたくない向きがあるようです。
例えば URI では <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SP</anchor></code> や非 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor>
文字など扱えない文字が多くありますが、
そのような制限を意図的に無視しようとする人・実装があります。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">無視することでそのような制限をなし崩そうとしているのでしょう。実際 IRI でそうしてしまいそうな勢いです。</weak></p><p>他にも、 XML (というか SGML) の実体をかなり自由に組み立てられる構造と相対 URI の関係が問題源だったるすなす。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>システム識別子と URI</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML1.0</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML1.1</anchor> で URI が直接関係してくるのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>だけです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>参照。</comment-p></section><section><h1>相対 URI と基底 URI</h1><p>→<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML//URI//基底</anchor></p></section><section><h1>URI が値である属性の値における非 URI 文字の扱い</h1><p>→<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML//URI//文字</anchor></p></section><section><h1>XML 文書が情報として持つ URI</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>は、 URI に関わる次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報項目</anchor>を挙げています。<ul><li>文書情報項目[基底 URI]</li><li>要素情報項目[名前空間名]</li><li>要素情報項目[基底 URI]</li><li>属性情報項目[名前空間名]</li><li>処理指令情報項目[基底 URI]</li><li>未展開実体参照情報項目[システム識別子]</li><li>未展開実体参照情報項目[公開識別子]</li><li>未展開実体参照情報項目[宣言基底 URI]</li><li>文書型宣言情報項目[システム識別子]</li><li>文書型宣言情報項目[公開識別子]</li><li>非解析実体情報項目[システム識別子]</li><li>非解析実体情報項目[公開識別子]</li><li>非解析実体情報項目[宣言基底 URI]</li><li>記法情報項目[システム識別子]</li><li>記法情報項目[公開識別子]</li><li>記法情報項目[宣言基底 URI]</li><li>名前空間情報項目[名前]</li></ul></p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> 本質的に XML とは関係ないけどとりあえずここに書いときますよ。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイルシート</anchor>を使うときに、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>が指すのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原始文書</anchor>の素片なのか、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">結果文書</anchor>の素片なのか。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WWWブラウザ</anchor>の実装は後者みたいですけど (そうじゃないと色々困っちゃうもんね)、スタイルシートとは関係ない文書処理とかだと原始文書だろうし、そもそもスタイルシートごとに同じ素片識別子が別のものとして使われているかもしれない (設計としてよくないが)。つまり、結果文書の素片と解釈しちゃうと、指す内容が一意に定まらない可能性が高いんだな。かといって、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT</anchor> 変換を行っても原始文書の素片が結果文書の素片のどこに対応するのか情報を保持しておけっていうのは酷。</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite>DRAFT XML/URI Activity Proposal</cite>
(<time>2000-07-12 02:37:01 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/2000/07/xup932">https://www.w3.org/2000/07/xup932</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite>XML/URI Questions and Answers</cite>
(<time>2000-06-20 16:00:03 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/2000/06/uriqa3934.html">https://www.w3.org/2000/06/uriqa3934.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite>xml-uri@w3.org Mail Archives</cite>
(<time>2015-01-07 05:58:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://lists.w3.org/Archives/Public/xml-uri/">https://lists.w3.org/Archives/Public/xml-uri/</anchor-external></p></section></body></html>