使用xslt枚举内部元素

时间:2012-06-13 13:43:59

标签: xml xslt

我有这样结构的xml文件:

...
<outer>
   ...
   <inner/>
   ...
</outer>
...
<outer>
   ...
   <inner/>
   ...
</outer>
...

而不是“......”存在其他元素。如何使用<inner/>枚举xslt个元素?输出应为:

...
<outer>
   ...
   <inner>1</inner>
   ...
</outer>
...
<outer>
   ...
   <inner>2</inner>
   ...
</outer>
...

编辑1。 如果我们只需要计算和复制<outer copy="1">怎么办? 这不起作用:                         

2 个答案:

答案 0 :(得分:3)

使用xsl:number

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="outer/inner">
    <xsl:copy>
      <xsl:number level="any"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

答案 1 :(得分:0)

我不确定这是否是您要找的:

  

<xsl:for-each select="outer/inner">

</xsl:for-each>