我有这个xml
<magazine>
...
<startPage>14</startPage>
<endPage>14</endPage>
...
</magazine>
<magazine>
...
<startPage>27</startPage>
<endPage>30</endPage>
...
</magazine>
我想比较startPage
和endPage
的值,看看这两页是否相等
即
如果
startPage
=endPage
->做某事;如果不是->做其他事情
我应该如何在XSLT中实现这一目标?
答案 0 :(得分:1)
您可以在此处使用xsl:choose
...
<xsl:template match="magazine">
<xsl:copy>
<xsl:choose>
<xsl:when test="startPage = endPage">
<xsl:text>EQUAL</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>NOT EQUAL</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:copy>
</xsl:template>
或者您可以将支票放在模板匹配项中,并为每个不同的逻辑使用单独的模板
<xsl:template match="magazine[startPage = endPage]">
<xsl:copy>
<xsl:text>EQUAL</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="magazine">
<xsl:copy>
<xsl:text>NOT EQUAL</xsl:text>
</xsl:copy>
</xsl:template>
在http://xsltfiddle.liberty-development.net/gWmuiKj上查看后一个选项的作用