<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><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:">XML情報集合</anchor>の<dfn><code class="InfoProp"><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URI<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">declaration base URI</rt></rubyb></code></dfn><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:">情報項目</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:">基底URI</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">値</anchor>として持ちます。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><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 xml:lang="en">XML Information Set (Second Edition)</cite> (<time>2007-10-12 05:43:40 +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="http://www.w3.org/TR/xml-infoset/#intro.baseURIs">http://www.w3.org/TR/xml-infoset/#intro.baseURIs</anchor-external></li><li><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> <cite xml:lang="en">XML Information Set (Second Edition)</cite> (<time>2007-10-12 05:43:40 +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="http://www.w3.org/TR/xml-infoset/#infoitem.rse">http://www.w3.org/TR/xml-infoset/#infoitem.rse</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="en">XML Information Set (Second Edition)</cite> (<time>2007-10-12 05:43:40 +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="http://www.w3.org/TR/xml-infoset/#infoitem.entity.unparsed">http://www.w3.org/TR/xml-infoset/#infoitem.entity.unparsed</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite xml:lang="en">XML Information Set (Second Edition)</cite> (<time>2007-10-12 05:43:40 +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="http://www.w3.org/TR/xml-infoset/#infoitem.notation">http://www.w3.org/TR/xml-infoset/#infoitem.notation</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="EN">Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite> (<time>2013-05-29 05:49:56 +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="http://www.w3.org/TR/xml/#dt-sysid">http://www.w3.org/TR/xml/#dt-sysid</anchor-external></li></ul></refs><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML基底</anchor>を参照していますが
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML情報集合 1</src>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク宣言</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor>に関する記述はありません。</p></section><section><h1>システム識別子の基底URL</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor>を指定した場合の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</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>の位置です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</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="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:">記法宣言</anchor>の場合の扱いは明確ではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>とは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体宣言</anchor>の最初の <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;</anchor></code>
が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>された時にその <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;</anchor></code>
を含んでいた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部実体</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</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="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <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:">ファイル</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>になります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型録</anchor>によって置き換えられたり <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPリダイレクト</anchor>されたりすることがありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>として使うのは最終的な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <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:">基底URL</anchor>を規定する場合はそちらに従うべきと考えるのが自然ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 仕様上そうはなっていません。これが意図するものなのかは不明です。</comment-p><p><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> 特定の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</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:">基底URL</anchor>はそれに従います <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</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="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の <code xmlns="http://www.w3.org/1999/xhtml" class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>のようなものが想定されているのでしょうが、
実際に <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal> のような役割を規定した例は見つかっていません。</comment-p></section><section><h1>XML 情報集合</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</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:">情報項目</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URI</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性</anchor>が定義されています。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未展開実体参照情報項目</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非解析対象実体情報項目</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法情報項目</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書型宣言情報項目</anchor>には定義されていません。</p></section><section><h1>特性値</h1><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> <strong>非解析対象実体情報項目の場合</strong></p><p><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:">基底URI</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:">基底URI</anchor>です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML情報集合 2.9</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <strong>記法情報項目の場合</strong></p><p><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:">基底URI</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:">基底URI</anchor>です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML情報集合 2.10</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <strong>システム識別子の基底URI</strong></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク宣言</anchor>の最初の<code class="XML">&lt;</code>を<em><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク宣言</anchor>として解釈する時点</em>で含んでいた<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:">基底URI</anchor>です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML 4.2.2</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <strong>逃避</strong></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor>の仕様によれば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>として使うために<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逃避</anchor>が必要です
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML 4.2.2</src> が、
この<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><em>前</em>のものです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML情報集合 1</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <strong>応用依存</strong></p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>依存になる場合の<code class="InfoProp"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URI</anchor></code>の値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>仕様では定めません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML情報集合 1</src></p><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:">パイプ</anchor>から読まれた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor>が定まらないかもしれません。</p></section><section><h1>関連</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:">情報項目</anchor>の種類によっては、<code class="InfoProp"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor></code><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URL</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URL</anchor>の両方が存在する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報項目</anchor>はありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> によれば、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>の<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>は<code class="InfoProp"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URI</anchor></code>によって決定されます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Standard</anchor> には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言基底URL</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>は含まれていません。</comment-p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SE</anchor> の errata の修正 E18
<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="http://www.w3.org/XML/xml-V10-2e-errata#E18">http://www.w3.org/XML/xml-V10-2e-errata#E18</anchor-external>
(2001-04-24) について。</p><p>4.2.2 節 <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="http://www.w3.org/TR/REC-xml#sec-external-ent">http://www.w3.org/TR/REC-xml#sec-external-ent</anchor-external>
で、</p><blockquote><p>XML 1.0 仕様書の適用範囲外の情報が提供されない限り、
(例えば特定の DTD で規定された特別な XML 要素型とか、
特定の応用の仕様で定義されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">処理指令</anchor>とかで指定されない限り、)
相対 URI はその実体宣言が出現する資源の位置からの関係とします。
従って URI は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実体</anchor>からの関係であったり、外部 DTD
部分集合を含んでいる実体からのであったり、
或いは他の外部引数実体からのものであったりします。</p></blockquote><p>とある件について、次の規定が追加されました。</p><blockquote><p>これは宣言を開始させる <code class="XML">&lt;</code> が、
宣言の解釈される時点で含まれている外部実体であると定義します。</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;101</anchor-internal> の修正の説明。</p><blockquote><p>この修正は、相対 URI の基底を決定する目的において、
正確にはどこで宣言が行われたかを明確にします。</p></blockquote><pre><code class="file">example.xml</code>
 &lt;!DOCTYPE foo [
 &lt;!ENTITY % pe SYSTEM &quot;subdir1/pe&quot;&gt;
 %pe;
 %intpe;
 ]&gt;
 &lt;foo&gt;&amp;ent;&lt;/foo&gt;</pre><pre><code class="file">subdir1/pe</code>
 &lt;!ENTITY % extpe SYSTEM &quot;../subdir2/extpe&quot;&gt;
 &lt;!ENTITY % intpe &quot;%extpe;&quot;&gt;</pre><pre><code class="file">subdir2/extpe</code>
 &lt;!ENTITY ent SYSTEM 'entfile'&gt;</pre><blockquote><p><code class="XML">ent</code> の宣言を構成する文字は 
<code class="file">subdir2/extpe</code> 中に出現しますが、
ここでは宣言として解析されません。
単に <code class="XML">intpe</code> の置換文を構成する文字として扱われるだけです。
それは <code class="XML">intpe</code> が解析されるまでは宣言として解析されません。
<code class="XML">intpe</code> が解析されるのはそれを含めている外部実体が文書実体である所です。
従って適切な基底 URI は <code class="file">example.xml</code>
の基底 URI となります。</p><p>使用されるのは含めている外部実体である理由は、
内部実体がその基底 URI 情報を伝達しないことであると言えるでしょう。
確かに、内部実体はその置換文だけを持っています。</p><p><code class="file">example.xml</code> が <code class="XML">%intpe;</code>
ではなく <code class="XML">%extpe;</code> を含んでいたとすると、
話は変わってきます。 <code class="file">subdir2/extpe</code>
の内容は宣言として解析され、適当な基底 URI
は <code class="file">subdir2</code> の基底 URI となります。</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;102</anchor-internal> の後半の例:<pre><code class="file">example.xml</code>
 &lt;!DOCTYPE foo [
 &lt;!ENTITY % extpe SYSTEM &quot;../subdir2/extpe&quot;&gt;
 %extpe;
 ]&gt;
 &lt;foo&gt;&amp;ent;&lt;/foo&gt;</pre></p><pre><code class="file">subdir2/extpe</code>
 &lt;!ENTITY ent SYSTEM 'entfile'&gt;</pre><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> 的にはどっちの例も、宣言が評価されるのは
DTD であって外部解析実体にはならないと思うのですが、
この考えは間違ってますか?
(実体宣言で宣言された解析実体の内部実体と外部実体の差異は置換文の段階で存在しない (どちらも基底 URI を保持し得ない) のではないでしょうか?)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;104</anchor-internal> SGML も XML も参照を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">置換文</anchor>で置き換える,
置換結果はその文脈の構文と意味を満たさねばならない、
という規定は共通。ただ、 SGML の仕様的にはこういう処理を意図しているような臭いがぷんぷんする。 (あってる? 教えて、偉い人。)<pre>文書実体 &lt;foo&gt;aiueo &amp;ent;          abcdef&lt;/foo&gt;
               1) ^ ^ 2)           ^ 5)
実体 ent            いろはにほへと<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Ee</anchor></code>
                    ^ 3)          ^ 4)</pre><ol><li>文書実体を <samp class="SGML">o</samp> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(実体参照の直前)</weak> まで処理する。</li><li>実体 <samp class="SGML">ent</samp> への参照を発見。</li><li>-- <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体管理系</anchor>に実体 <samp class="SGML">ent</samp> を要求。<ul><li>処理は実体 <samp class="SGML">ent</samp> に移る。</li></ul></li><li>実体 <samp class="SGML">ent</samp> が終了。</li><li>処理は文書実体に戻る。 <samp class="SGML">a</samp> から処理続行。</li></ol></p><p>この処理モデルなら、実体 <samp class="SGML">ent</samp>
中で発見された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク</anchor> (を反映した物体)
の属性として元々どこの実体に所属していたのかという情報を与える余地はある。</p><p>でも、このやり方なら内部実体だろうが外部実体だろうが元の
URI は覚えてられるよなあ。。。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 実際問題としては、今の XML errata の解釈辺りで手を売っとかないと、モジュール化 DTD で酷い目に合いますから、妥当なところではあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal>-5  <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal> の説明によれば重要な意義を持つのは内部実体か外部実体かです。
つまり言い換えると、引数実体の参照が評価される場所が実体宣言の中 <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<samp xmlns="http://www.w3.org/1999/xhtml" class="SGML">&lt;!ENTITY % ent2 &quot;%ent;&quot;&gt;</samp>)</weak> か
DTD の地の場所 (<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ds</anchor></code>)
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<samp xmlns="http://www.w3.org/1999/xhtml" class="SGML">&lt;!foo&gt;%ent;&lt;!bar&gt;</samp>)</weak> かです。</p><p><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;105</anchor-internal> の処理とこのことを考え合わせればうまく説明が付きません?</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <em>システム識別子の相対パスについて - SGML から XML へ</em> <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="http://math.oheya.to/markup/sgml/sysid-uri">http://math.oheya.to/markup/sgml/sysid-uri</anchor-external>: 同じ問題を扱ってます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</anchor-end> <em>システム識別子の基底 - XML Core 関連</em> <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="http://www.satoshii.org/markup/xml/sysid-base">http://www.satoshii.org/markup/xml/sysid-base</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</anchor-end>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;102</anchor-internal> の後半の例: の&quot;extpe&quot;のURIの記述は正しいのでしょうか? &quot;../&quot;が余計な様に思うんですが&amp;#65381;&amp;#65381;&amp;#65381;
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <time>2006-07-12 04:10:54 +00:00</time>)</p></section></body></html>