xsl:transform

Syntax

<xsl:transform>
     top-level-element *
</xsl:transform>


Postition

äußerstes Element eines Stylesheets


Namespace

Innerhalb des Elements muss mindestens ein Namespace definiert werden. Typischerweise handelt es sich um folgende Deklaration:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

Ist der Prefix nicht "xsl", sondern beispielsweise "xslt", müssen alle Elemente, die sich auf diesen Namespace beziehen, mit "xslt:" beginnen. Es ist auch möglich keinen Prefix anzugeben, wodurch der Namespace zum Default-Namespace würde. Allerdings ist diese Vorgehensweise nicht zu empfehlen.


Attribute
Bezeichnung Wert Bedeutung
version Number definiert die Version des Stylesheets
id identifier zur eindeutigen Identifizierung eines Elements, das in in ein anderes XML-Dokument eingebettet worden ist
extension-element-prefixes list-of-prefixes definiert die Namespaces, welche in diesem Stylesheet gebraucht werden, um erweiterte Elemente erkennen zu können
exclude-result-prefixes list-of-prefixes definiert die Namespaces, welche in diesem Stylesheet gebraucht werden und die nicht in den Output-Baum kopiert werden sollen, wenn sie dort nicht benutzt werden

<xsl:transform>

wird sowohl im Haupt-Stylesheet, als auch in den möglichen Import- oder Include-Stylesheets verwendet. Synonym für <xsl:stylesheet>.


Definition

XSLT Kapitel 2.2


Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
<xsl:output method="html"/>
    
<xsl:template match="/">
     <HTML>
          <HEAD>
               <TITLE>Element: &lt;xsl:transform&gt; / Beispiel 01</TITLE>
          </HEAD>
          <BODY>
               <xsl:apply-templates select="shop"/>
          </BODY>
     </HTML>
</xsl:template>

<xsl:template match="shop">
     <TABLE BORDER="1">
          <TR>
               <TH WIDTH="150">Abteilung:</TH>
               <TH WIDTH="100">Artikel:</TH>
               <TH WIDTH="100">Preis:</TH>
          </TR>
          <xsl:apply-templates select="order/product"/>
     </TABLE>
</xsl:template>

<xsl:template match="product">
     <TR>
          <TD><xsl:value-of select="@department"/></TD>
          <TD><xsl:value-of select="name"/></TD>
          <TD ALIGN="RIGHT">
               <xsl:value-of select="price"/>
               <xsl:text> </xsl:text>
               <xsl:value-of select="currency"/>
          </TD>
     </TR>
</xsl:template>

</xsl:transform>


© 2001 by Timo Schäfer