※ ChatGPTを利用し、要約された質問です(原文:XMLの実体参照とXSLT)
XMLの実体参照とXSLTでの表示方法
このQ&Aのポイント
XMLファイルをXSLTで処理する際、実体参照の表示に問題が発生することがあります。
実体参照の内容を正しく表示するためには、実体参照の定義ファイルを読み込む必要があります。
XMLファイルとXSLTファイルのテンプレートを適切に設定して、実体参照の値を表示できるようにします。
次のようなXMLファイルをXSLTで処理したいのですが、&baseの部分がうまく表示できません。
どのようにしたら表示できるでしょうか?
■a.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<!DOCTYPE test [
<!ELEMENT name (#PCDATA)>
<!ENTITY base SYSTEM "base.xml">
]>
<test>
<name>abc</name>
&base;
</test>
■base.xml
<?xml version="1.0" encoding="UTF-8"?>
<base>base</base>
■a.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" />
<xsl:template match="/">
<xsl:apply-templates select="test" />
<xsl:apply-templates select="base" />
</xsl:template>
<xsl:template match="test">
name:<xsl:value-of select="name" />
</xsl:template>
<xsl:template match="base">
base:<xsl:value-of select="base" />
</xsl:template>
</xsl:stylesheet>
□結果
name:abc
※base.xmlの内容を表示できない