仅在xyz类中,我想检查两个div及其类名。 如果classname =“yes”则输出'1'。 如果classname =“no”则输出'0'。
<div class="xyz">
<div class="no"></div>
<div class="yes"></div>
</div>
所需输出:0 1
<div class="xyz">
<div class="yes"></div>
<div class="yes"></div>
</div>
所需输出:1 1
..等.. 找到第一个很容易,但我如何“按顺序”进行?
答案 0 :(得分:1)
递归处理可以像下面的XSLT-1.0代码一样使用:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<xsl:template match="div[@class='xyz']/div[@class='no']">
<xsl:text>0 </xsl:text>
</xsl:template>
<xsl:template match="div[@class='xyz']/div[@class='yes']">
<xsl:text>1 </xsl:text>
</xsl:template>
<xsl:template match="node()">
<xsl:apply-templates select="node()"/>
</xsl:template>
</xsl:transform>
第3个模板以文档节点开始递归处理所有节点。前两个模板使用'yes'和'no'为@class执行所需的输出。