Thomas J.S.: xsl:copy und/oder xsl:copy-of

Beitrag lesen

Hallo,

Ohje, das wär ganz schön aufwendig dort oben alle Elemente einzutragen, die nicht verändert werden und nur kopiert werden sollen.

Ja, möglicher Weise.

Jetzt hab ich soweit angefangen:

<xsl:template match = "@* | node()">
xsl:copy
  <xsl:copy-of select="*"/>

Das kopiert zuerst alle Elemente

<xsl:apply-templates />

Dann werden Templates für Knoten (Elemente, PIs, Kommentare) und Attribte aufgerufen wobei du beachten musst, dass das kopieren "rekursiv" ist, weil das Template ja "rekursiv" d.h. eben für alle Knoten wirkt.

Soll jetzt aber ein neuer <kontakt> unter root/kontakte angelegt werden, wird jedoch nicht in das template hineingegangen:

Ja, und dir Gründe habe ich dir schon genannt: weil das Template <xsl:template match = "@* | node()"> mit dem Kopieren sich auf alle Knoten auswirkt.

Grüße
Thomas