2016-12-21 75 views
1

在类xyz中,我只想检查两个div和它们的类名。 如果classname =“yes”,则输出“1”。 如果classname =“no”,则输出“0”。XSLT顺序处理

<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

。等等。 找到第一个是容易的,但我怎么做 “顺序”?

+0

你可以发布XSLT,试着在你身边。 –

回答

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> 

的第三模板递归地处理所有的节点,从文档节点。前两个模板为@class输入'yes'和'no'。

+0

谢谢。那样做了! – Peter