-1
私はこのサンプルxmlを持っています。XSLTによるXML要素の位置処理。
<I>
<!-- SL REPEATS * TIMES -->
<SL>
<!-- SE REPEATS * TIMES -->
<SE></SE>
<SE></SE>
<SE></SE>
</SL>
<SL>
<SE></SE>
<SE></SE>
</SL>
<SL>
<SE></SE>
<SE></SE>
<SE></SE>
</SL>
<SL>
<SE></SE>
</SL>
</I>
I want to generate sequential id numbers for <SE> starting with first one. Resultant needs to be like this.
<I>
<!-- SL REPEATS * TIMES -->
<SL>
<!-- SE REPEATS * TIMES -->
<SE id="1"></SE>
<SE id="2"></SE>
<SE id="3"></SE>
</SL>
<SL>
<SE id="4"></SE>
<SE id="5"></SE>
</SL>
<SL>
<SE id="6"></SE>
<SE id="7"></SE>
<SE id="8"></SE>
</SL>
<SL>
<SE id="9"></SE>
</SL>
</I>
私が一致するテンプレートの数(先行兄弟:: * [名前()=名(現在の())])+ 1" を使用してみました。しかし、それはすべてのSLの後に番号を再起動します。
おかげチェックする。すべてのヘルプは高く評価した。テンプレートもちろん
<xsl:template match="SE">
<SE>
<xsl:attribute name="id"><xsl:number level="any"/></xsl:attribute>
<xsl:apply-templates/>
</SE>
</xsl:template>
あなたが他のノードをコピーするだけでなくthe identity transformation templateが必要で