XSLT-Elemente

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

 

 

xsl:transform

Das Element xsl:transform ist das Wurzelelement eines XSL-Dokumentes. Da ein solches Dokument den Wohlgeformtheits-Regeln von XML-Dokumenten entsprechen muss, benötigt es ein einziges allumfassendes Wurzelelement. Dies ist die Funktion des xsl:transform-Elements. Zusätzlich ist es die Plattform für allgemein gültige Attribute und Namensräume.

Namensraumangaben die hier mit dem Pseudoattribut xmlns:pre="#Namensraum-URI" ('pre' für den jeweiligen Präfix, '#Namensraum-URI' für den Namensraum-URI') gemacht werden, gelten im gesamten transform und der jeweilige Präfix kann überall verwendet werden. Neben den allgemein gültigen Attributen wie default-collation, default-validation, xpath-default-namespace, die die Defaultwerte für die Collation, Validierungsart bzw. den Namensraum für Elemente ohne Präfix in XPath-Ausdrücken benennen, kann mit den Attributen id, extension-element-prefixes, exclude-result-prefixes und input-type-annotations die XSLTransformation speziell beeinflussen. So sorgt id, für die Einbindung eines, durch eine spezielle Processing-Instruction angegebenes transform, extension-element-prefixes kennzeichnet die Präfixe für Erweiterungsinstruktionen, exclude-result-prefixes kennzeichnet der Präfixe, deren Namensraumknoten nicht ins Ergebnisdokument übernommen werden und input-type-annotations gibt an, inwiefern Type-Annotationen in das Ergebnisdokument übergeben werden.

Das wichtigste und einzig obligatorische Attribut von xsl:transform ist jedoch version. Hier wird mit version="1.0" bzw version="2.0" angegeben, ob bei der Transformation nur die Regeln von XSLT 1.0 gelten sollen oder entsprechend auch die Regeln von XSLT 2.0.

Die Kindelemente des Wurzelelements xsl:transforms werden Toplevel Elemente genannt. Die wichtigsten dabei sind die xsl:template-Elemente, die direkt den Inhalt des Ergebnisdokumentes bestimmen. Die anderen Toplevel Elemente sind Deklarationen, auf die entweder in den Templates zurückgegriffen wird (xsl:attribute-set, xsl:decimal-format, xsl:key, xsl:param, xsl:variable), die die Ausgabe des Ergebnisdokumentes beeinflussen (xsl:namespace-alias, xsl:output, xsl:preserve-space, xsl:strip-space) oder die andere transforms in das aktuelle einbinden (xsl:import, xsl:include).

Attribute

exclude-result-prefixes, extension-element-prefixes, id, version, default-collation, default-validation, input-type-annotations, xpath-default-namespace

Beispiel 2

<?xml version="1.0"encoding="UTF-8"?>
<root>
  <section>
    <para style="bold">
    Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
    fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
    verwandelt.
    </para>
  </section>
  <section>
    <para style="italic">
    Er lag auf seinem panzerartig harten Rücken und sah, wenn er 
    den Kopf ein wenig hob, seinen gewölbten, braunen, von 
    bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe 
    sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum 
    noch erhalten konnte.
    </para>
  </section>
  <section>
    <para>
    Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich 
    dünnen Beine flimmerten ihm hilflos vor den Augen.
    </para>
  </section>
</root>
<?xml version="1.0"encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
        <root>
            <xsl:apply-templates></xsl:apply-templates>
        </root>
    </xsl:template>
</xsl:transform>
<?xml version="1.0"encoding="UTF-8"?>
<root>
  Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
  fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
  verwandelt. Er lag auf seinem panzerartig harten Rücken und 
  sah, wenn er den Kopf ein wenig hob, seinen gewölbten, 
  braunen, von bogenförmigen Versteifungen geteilten Bauch, auf 
  dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten 
  bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich 
  zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten 
  ihm hilflos vor den Augen.
</root>

Beispiel 3

<?xml version="1.0"encoding="UTF-8"?>
<root>
  <section>
    <para style="bold">
    Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
    fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
    verwandelt.
    </para>
  </section>
  <section>
    <para style="italic">
    Er lag auf seinem panzerartig harten Rücken und sah, wenn er 
    den Kopf ein wenig hob, seinen gewölbten, braunen, von 
    bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe 
    sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum 
    noch erhalten konnte.
    </para>
  </section>
  <section>
    <para>
    Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich 
    dünnen Beine flimmerten ihm hilflos vor den Augen.
    </para>
  </section>
</root>
<?xml version="1.0"encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d2t="http://www.data2type.de/" version="2.0">
    <xsl:template match="/">
        <root>
            <d2t:test>
            <xsl:apply-templates></xsl:apply-templates>
            </d2t:test>
        </root>
    </xsl:template>
</xsl:transform>
<?xml version="1.0"encoding="UTF-8"?>
<root xmlns:d2t="http://www.data2type.de/">
  <d2t:test>
  Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
  fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
  verwandelt. Er lag auf seinem panzerartig harten Rücken und 
  sah, wenn er den Kopf ein wenig hob, seinen gewölbten, 
  braunen, von bogenförmigen Versteifungen geteilten Bauch, auf 
  dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten 
  bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich 
  zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten 
  ihm hilflos vor den Augen.
  </d2t:test>
</root>

Beispiel 4

<?xml version="1.0"encoding="UTF-8"?>
<root>
  <section>
    <para style="bold">
    Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
    fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
    verwandelt.
    </para>
  </section>
  <section>
    <para style="italic">
    Er lag auf seinem panzerartig harten Rücken und sah, wenn er 
    den Kopf ein wenig hob, seinen gewölbten, braunen, von 
    bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe 
    sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum 
    noch erhalten konnte.
    </para>
  </section>
  <section>
    <para>
    Seine vielen, im Vergleich zu seinem sonstigen Umfang 
    kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.
    </para>
  </section>
</root>
<?xml version="1.0"encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d2t="http://www.data2type.de/" version="2.0" exclude-result-prefixes="d2t">
   <xsl:template match="/">
        <root>
            <d2t:test>
            <xsl:apply-templates></xsl:apply-templates>
            </d2t:test>
        </root>
    </xsl:template>
</xsl:transform>
<?xml version="1.0"encoding="UTF-8"?>
<root>
  <d2t:test xmlns:d2t="http://www.data2type.de/">
  Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
  fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
  verwandelt. Er lag auf seinem panzerartig harten Rücken und 
  sah, wenn er den Kopf ein wenig hob, seinen gewölbten, 
  braunen, von bogenförmigen Versteifungen geteilten Bauch, auf
  dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten 
  bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich 
  zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten 
  ihm hilflos vor den Augen.
  </d2t:test>
</root>

 

 

  > nach oben
   
  > zurück zur alphabetischen Liste der XSLT Elemente