鉴于以下结构,
<?xml version="1.0" encoding="utf-8"?>
<crew>
<crewDrill>
<step>
<if>
<step></step>
<step></step>
</if>
</step>
<if>
<step>
<if>
<step></step>
<step></step>
</if>
</step>
</if>
</crewDrill>
<crewDrill>
<step>
<if>
<step></step>
<step></step>
</if>
</step>
<if>
<step></step>
<step></step>
</if>
</crewDrill>
</crew>
我想通过向每个<step>
节点添加一个属性来使用xsl 1.0来自动编号。我想在每个<crew>
元素的开头使用多个级别并重新开始编号。更具体地说,我想得到以下结果:
<crew>
<crewDrill>
<step nb="1">
<if>
<step nb="1.1"></step>
<step nb="1.2"></step>
</if>
</step>
<if>
<step nb="2">
<if>
<step nb="2.1"></step>
<step nb="2.2"></step>
</if>
</step>
</if>
</crewDrill>
<crewDrill>
<step nb="1">
<if>
<step nb="1.1"></step>
<step nb="1.2"></step>
</if>
</step>
<if>
<step nb="2"></step>
<step nb="2"></step>
</if>
</crewDrill>
</crew>
我尝试过以下操作但没有成功:
<xsl:template match="step">
<xsl:copy>
<xsl:attribute name="proceduralStepNumber">
<xsl:number format="1. " level="multiple" from="crewDrill"/>
</xsl:attribute>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>