* 関数 [CODE(XPathf)@en[unparsed-entity-uri]] (XSLT) [1] [[XSLT 1]] の [[XPath]] [[関数]] [DFN[[CODE(XPath)@en[[CODE(XPathf)[unparsed-entity-uri]] ([VAR[[[文字列]]]])]]]] は、[[引数]]として与えられた[[名前]]を持つ[[非解析対象実体]]の [[URI]] を返します。 [2] 仕様書: - [[XSLT 1]] -- ** 返し値 [2] [[引数]]で指定された[[名前]]と一致する[[非解析対象実体]]が[[文脈節点]]と同じ[[文書]]で定義されていれば、 その [[URI]] が返されます。そのような[[非解析対象実体]]がなければ、 [[空文字列]]が返されます。 [3] [[URI]] は、[[公開識別子]]から求める方法が実装されていれば (例: [[XML型録]])、それによって得られた値になります。 それが実装されていない場合や値が得られない場合は、 [[システム識別子]]から求めます。 返される [[URI]] は、[[絶対URI]] です。 [4] 正しい [[XML]] [[文書]]の[[システム識別子]]に由来する [[URI]] であれば、[[素片識別子]]が含まれることはありません。 [[文書]]が [[XML]] [[実体]]以外から作られた場合や、 [[型録]]を使っている場合は、[[素片識別子]]が含まれ得ますが、 そのまま返して良いのかはわかりません。 ;; 現在の定義では [Q@en[[[URI]]]] に[[素片識別子]]も含まれますが、 [[XSLT 1]] が参照している [[RFC 2396]] の定義では[[素片識別子]]は [[URI]] の一部ではありませんでした。 [[#comment]] ** 実装 [4] [[文脈節点]]の[[文書]]がどのような方法で得られたかによっては、 [[外部解析対象実体]]の情報が既に失われていて、 [[XSLT]] 処理の段階では既にアクセスできないことがよくあります。 特に[[妥当性]]を[[検証]]しない実装では、 [[外部部分集合実体]]や[[外部引数実体]]や、 [[内部部分集合]]でも読まれていない[[実体宣言]]で[[宣言]]されている[[外部解析対象実体]]の情報を得ることができません。 [[#comment]] ** メモ [[#comment]] * メモ