<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>関数 <code class="XPathf" xml:lang="en">unparsed-entity-uri</code> (XSLT)</h1><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:">XSLT 1</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関数</anchor>
<dfn><code class="XPath" xml:lang="en"><code class="XPathf">unparsed-entity-uri</code> (<var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor></var>)</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:">URI</anchor> を返します。</p><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> 仕様書:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1</anchor><ul><li><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XSLT1:&quot;#function-unparsed-entity-uri&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW">IW:XSLT1:&quot;#function-unparsed-entity-uri&quot;</anchor-external></li></ul></li></ul></p><section><h1>返し値</h1><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>
<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>がなければ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>が返されます。</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>
<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:">XML型録</anchor>)、それによって得られた値になります。
それが実装されていない場合や値が得られない場合は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>から求めます。</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:">絶対URI</anchor> です。</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>
正しい <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:">システム識別子</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:">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:">型録</anchor>を使っている場合は、<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:">現在の定義では <q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor></q> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>も含まれますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1</anchor> が参照している <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</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> の一部ではありませんでした。</comment-p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></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>
<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:">XSLT</anchor>
処理の段階では既にアクセスできないことがよくあります。</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:">外部部分集合実体</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>の情報を得ることができません。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>メモ</h1></section></body></html>