Transformacja tożsamościowa

Transformacja tożsamościowa (ang. identity transform) to jedna z częściej używanych technik podczas pracy z Xslt. Sama nazwa brzmi być może obco ale w gruncie rzeczy chodzi o coś stosunkowo prostego. Otóż, transformacja tożsamościowa jest transformacją, której wynikiem jest takie samo drzewo jak to, które zostało podane na wejście. Kod transformacji tożsamościowej wygląda następująco (wnikliwi zapewne zauważyli, że transformacja tożsamościowa jest używana jako szablon nowo tworzonych plików Xslt w Visual Studio 2008):

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">



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


</xsl:stylesheet>

Sposób działania powyższego arkusza jest niezwykle prosty - każdy napotkany węzęł (włączając deklarację xml, processing istructions, węzły tekstowe itd.) lub atrybut jest kopiowany do drzewa wyjściowego a następnie - w ten sam sposób - przetwarzane są wszystkie atrybuty oraz węzły dzieci bieżącego węzła (o ile takowe istnieją).