XSL,在for-each中获取xsl:value-of的问题

时间:2012-09-13 15:51:08

标签: xml xslt foreach value-of

我有一个不同节点的XML:

<INFORME>
  <Assignatura>
     <Nom_materia>Física</Nom_materia>
  </Assignatura>
  <Assignatura>
     <Nom_materia>Informàtica</Nom_materia>
  </Assignatura>
</INFORME>

并且,在for-each内部,我希望能够访问上一个节点。 我想做这样的事情,从逻辑上说它不起作用。

<xsl:for-each select="Assignatura">
  <xsl if text="Nom_materia = Assignatura[position()-1]/Nom_materia">
    do something...
....

我认为这将是非常简单的事情,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

假设您的上下文节点是INFORME:

<xsl:for-each select="Assignatura">
  <xsl:if test="Nom_materia = preceding-sibling::Assignatura[1]/Nom_materia">
    do something...
  </xsl:if>
</xsl:for-each>