ルート要素内にposten要素の階層があります。
<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と注文属性があります。次に、IDが「AB」の要素の前にIDが「XY」の要素を移動し、移動した要素「XY」の順序属性を「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」に変更する方法を組み合わせるにはどうすればよいでしょうか。
明らかな何かが欠けていると思います...