我是XSLT的初学者。这是我的XSL示例:
<xsl:when test="/can/be/a/very/long/location/path/@value > 0 ">
<xsl:value-of select="/can/be/a/very/long/location/path/@value" />
</xsl:when>
似乎<value-of select="...">
可以更简洁。怎么可能这样做?
答案 0 :(得分:2)
这也可以这样做 -
<xsl:variable name="location" select="/can/be/a/very/long/location/path/@value"/>
<xsl:if test="$location">
<xsl:value-of select="$location" />
</xsl:if>
<xsl:when>
主要用于有多个条件且正确的方法是
<xsl:choose>
<xsl:when test="condition1"> </xsl:when>
<xsl:when test="condition2"> </xsl:when>
<xsl:when test="condition3"> </xsl:when>
<xsl:otherwise> </xsl:otherwise>
</xsl:choose>
由于
答案 1 :(得分:2)
您可以简单地将<xsl:template>
与谓词一起用于此任务:
<xsl:template match="/can/be/a/very/long/location/path[@value > 0]">
<xsl:value-of select="@value" /> <!-- current axis is 'path' -->
</xsl:template>
答案 2 :(得分:0)
对于这个特定的例子,你可以简单地写:
<xsl:value-of select="/can/be/a/very/long/location/path/@value[. > 0]" />
如果没有选择值,则不输出任何值