如何在xslt属性上添加评估,并根据该评估的条件跳过for-each
节点?
<some>
<deep>
<level availability="10" code="A"/>
</deep>
</some>
<xsl:template match="some">
<xsl:for-each select="//deep//level">
<xsl:value-of select=".//@code, .//@availability" separator=";"/>
<xsl:for-each>
</xsl:template>
问题:如果availability < 5
,我该怎么跳过?
答案 0 :(得分:1)
而不是考虑&#34;跳过&#34;元素,考虑要选择的内容,然后在选择的节点之后在方括号中添加条件
试试这个模板......
<xsl:template match="some">
<xsl:for-each select="deep/level[number(@availability) ge 5]">
<xsl:value-of select="@code, @availability" separator=";"/>
</xsl:for-each>
</xsl:template>
请注意//
将搜索所有后代节点,而不仅仅是直接子节点,我不确定您需要这些节点。