xsl:copy og xsl:copy-of
er elementer man kan bruge til at kopiere en del xml kilden til resultatet. Syntaksen for de to elementer er:
<xsl:copy use-attribute-sets="attribut set navn">
Som det fremgår har xsl:copy ikke nogen select attribut, der kunne styre, hvad det er der skal kopieres - den kopierer ganske enkelt det aktuelle element. Og underelementer og attributter kommer ikke med.
Et lille eksempel
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Nummer">
<xsl:copy />
</xsl:template>
<xsl:template match="text() | @*"></xsl:template>
</xsl:stylesheet>
bruger vi dette stylesheet på vores musik xml får vi en masse tomme nummer tags. Hvis vi inde i copy elementet tilføjer information om, hvilken information vi gerne vil have med kan resultatet blive mere interessant.
xsl:copy-of
har syntaksen:
<xsl:copy-of select="xpath udtryk">
copy-of tager indhold og underelementer med. Et eksempel:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Nummer">
<xsl:copy-of select="." />
</xsl:template>
<xsl:template match="text() | @*"></xsl:template>
</xsl:stylesheet>