動的なルート要素 (静的な名前ではない) と、そのルート要素の下にいくつかの子を持つ xml ツリーがあります。ここで、xslt スクリプトを使用して、子要素の 2 番目の位置に要素を追加したいと考えています。どうすればいいですか?
例: xml:
<root>
<element1>
<element1a>
..
</element1a>
</element1>
<element2 name="exampleName">This is text.</element2>
</root>
に変換する必要があります
<root>
<element1>
<element1a>
..
</element1a>
</element1>
<someNewElement>1234</someNewElement>
<element2 name="exampleName">This is text.</element2>
</root>
これまでに得たものは次のとおりです。しかし、そのソリューションでは、ノードは最初の位置にのみ追加されます。2番目の位置で必要です。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="/">
<xsl:apply-templates select="/*"/>
</xsl:template>
<xsl:template match="/*">
<xsl:copy>
<xsl:element name="newElement">4711</xsl:element>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>