私の問題があります。
参照を使用し、他の XML ファイルを含む XML ファイルがあります。
XML ファイル (XSL で解析) :
<?xml version="1.0" encoding="utf-8"?>
<!ENTITY % references SYSTEM "myref.ref">
<test>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file2.XML"/>
</test>
file2.XML :
<?xml version="1.0" encoding="utf-8"?>
<action>&testref;</action>
myref.ref :
<!ENTITY testref 'cool ref there'>
XSL :
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="//test"/>
</xsl:template>
<xsl:template match="test">
<xsl:for-each select="document('file2.XML')//action">
[...]
</xsl:template>
それから、参照 (myref.ref で参照) を含む file2.XML を開くために document() 関数を使用する XSL があります。
そのため、document('file2.XML') を使用すると、エンティティ "refentity" が参照されましたが、宣言されていないというエラーが表示されます。
document() を使用して他の XML を開くときに、myref.ref を使用するにはどうすればよいですか?
ありがとう。