如何在xslt for-each中继续(不退出for-each,而是继续for-each?
喜欢:
<xsl:for-each select="asd"> <xsl:if test="$test1"> <!--some stuff--> <xsl:if test="$test1A"> <!--CONTINUE()--> </xsl:if> </xsl:if> <xsl:if test="$test2"> <!--some stuff--> <!--CONTINUE()--> </xsl:if> <!--main stuff--> </xsl:for-each>
解决方法
在这种特定情况下,您似乎希望根据条件执行两个代码.事实上,如果$test1A为真,你想从第一个继续.
在这种情况下,xsl:choose对您没有帮助.您必须使用纯逻辑并模拟所需行为:
<xsl:for-each select="asd"> <xsl:if test="$test1"> <!--some stuff--> <xsl:if test="$test1A"> <!--CONTINUE()--> </xsl:if> </xsl:if> <xsl:if test="$test2 and not($test1A)"> <!--some stuff--> <!--CONTINUE()--> </xsl:if> <!--main stuff--> </xsl:for-each>
使用上述条件,只有当第一个分支中的嵌套if为false时,才会执行第二个条件.