使用 xslt 枚举内部元素



我有这样结构的xml文件:

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

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

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

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

使用 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>

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

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

最新更新