在我的 XSLT 中,我有这个函数,它成功地匹配了一个/或/和两列。FieldRef
完美匹配。
我的问题是它$currentValue
似乎永远不等于我正在测试的内容(我正在测试的内容似乎是一个空白字符串)。
我在哪里错了?
<!-- Convert the Fields into a status icons -->
<xsl:template match="FieldRef[@Name='YesNo']|FieldRef[@Name='TrueFalse']" mode="body">
<xsl:param name="thisNode" select="." />
<xsl:variable name="currentValue" select="$thisNode/@*[name()=current()/@Name]" />
<xsl:choose>
<xsl:when test="$currentValue='Yes'">
<span class="yesno yes"><xsl:value-of select="$currentValue" /></span>
</xsl:when>
<xsl:when test="$currentValue='No'">
<span class="yesno no"><xsl:value-of select="$currentValue" /></span>
</xsl:when>
<xsl:when test="$currentValue='True'">
<span class="yesno yes"><xsl:value-of select="$currentValue" /></span>
</xsl:when>
<xsl:when test="$currentValue='False'">
<span class="yesno no"><xsl:value-of select="$currentValue" /></span>
</xsl:when>
<xsl:otherwise>
<span class="yesnoN"><xsl:value-of select="$currentValue" /></span>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我知道的一件事是,如果我这样做
<xsl:variable name="thisName" select="./@Name" /> select="./@Name" />
然后它将尝试使用字段本身的名称(而不是其值)进行匹配。
我能做些什么?