我在根元素中有一系列后置元素,例如
<gliederung>
<posten id=".." order="1">
<posten id=".." order"1">
<posten id=".." order"1">
...
</posten>
<posten id="AB" order"2">
...
</posten>
...
</posten>
<posten id=".." order"2">
...
</posten>
<posten id="XY" order"3">
...
</posten>
....
</gliederung>
每个 posten 都有一个唯一的 id 和一个 order 属性。现在我需要将 id 为“XY”的元素移动到 id 为“AB”的元素之前,并将移动的元素“XY”的 order 属性更改为“1.5”。
我设法使用以下脚本移动了元素:
<xsl:template match="node()|@*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="posten[@id='AB']">
<xsl:copy-of select="../posten[@id='XY']"/>
<xsl:call-template name="identity"/>
</xsl:template>
<xsl:template match="posten[@id='XY']"/>
但是如何将移动与将订单属性值更改为“1.5”相结合?
我想我错过了一些明显的东西......