パラメータで XSL が機能しない
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="reportname" />
<xsl:param name="quarter" />
<xsl:param name="menteename" />
<xsl:template match="AllReports" >
<xsl:for-each select="./Report[@Name=$reportname]" >
<table border="0" class="dottedlines" cellpadding="2" cellspacing="0">
<xsl:for-each select="Record[@Period=$quarter] and ($menteename)] >
<tr>
<xsl:for-each select="Entry">
<td><xsl:value-of select="." disable-output-escaping="yes"/></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
ハードコードされた値を扱う私のXSL
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="reportname" />
<xsl:param name="quarter" />
<xsl:param name="menteename" />
<xsl:template match="AllReports" >
<xsl:for-each select="./Report[@Name=$reportname]" >
<table border="0" class="dottedlines" cellpadding="2" cellspacing="0">
<xsl:for-each select="Record[@Period=$quarter] and (Entry= 'Dhirde, Govinda' or Entry= 'Vaze, Kedar')] >
<tr>
<xsl:for-each select="Entry">
<td><xsl:value-of select="." disable-output-escaping="yes"/></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
変数 $menteename = "Entry= 'Dhirde, Govinda' or Entry= 'Vaze, Kedar'" の値を渡しています。しかし、ハードコードされたものは、パラメーターのものではなくうまく機能します。パラメータ値内のタグを読み取る XSL 解析に問題があることがわかりました。これが問題の原因ですか。どうすればこれを機能させることができますか?