Hallo Thomas,
vielen Dank für Deine schnelle Antwort.
Hiermit:
<xsl:template match="kontakte">
xsl:copy
<xsl:element name="kontakt">
<xsl:attribute name="id">2</xsl:attribute>
</xsl:element>
<xsl:copy-of select="*"/>
</xsl:copy>
</xsl:template>
bekomme ich dann den gesamten Inhalt von <kontakte> + das Element, welches ich anlege.
Wenn ich jedoch im ersten Teil:
<xsl:template match="root">
xsl:copy
<xsl:element name="daten">
<xsl:attribute name="id">3</xsl:attribute>
</xsl:element>
<xsl:copy-of select="*"/>
xsl:apply-templates/
</xsl:copy>
</xsl:template>
kein xsl:apply-templates/ angebe, wird auch nicht auf das <xsl:template match="kontakte"> zugegriffen. Das neue XML sieht aus wie das alte ohne den neuen kontakt hinzuzufügen.
Ich müsste sagen könnte: Wenn du beim Kopieren auf <kontakte> triffst, führe das unterhalb von <xsl:template match="kontakte"> aus, also füge neuen kontakt hinzu, kopiere alles unterhalb und mache dann mit kopieren des rests weiter. Nur wie mache ich das dem XSL klar'??? *ratlosgugg*
Gruß,
Kerstin