如何比较每个元素的当前值?

时间:2013-09-03 15:10:50

标签: xml xslt

XML:

<a>1</a>
<a>2</a>
<b>3</b>
<a>4</a>
<b>5</b>

期望的输出:

value a
value a
value b
value a    
value b

XSLT:

<xsl:for-each select="a | b">
  <xsl:if test="? = 'a'"> 
    value a
  </xsl:if>
  <xsl:if test="? = 'b'">
    value b
  </xsl:if>
</xsl:for-each>

如何比较第<xsl:if test="? = 'a'">行和<xsl:if test="? = 'b'">中当前元素的值?

1 个答案:

答案 0 :(得分:1)

你需要name(),但这是一种奇怪的方式。根据您发布的内容,您只想输出节点的名称。在这种情况下:

<xsl:apply-templates select='a|b' />

<xsl:template match='a|b'>
    value <xsl:value-of select='name()' />
</xsl:template>