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:output

Die Deklaration xsl:output legt fest, in welcher Form ein Ergebnisdokument ausgegeben wird. Hierzu bestimmen mehrere Attribute die Art der Serialisierung. Die Deklaration kann überall, aber nur als Kindelement des Wurzelelements xsl:stylesheet auftreten. Das xsl:output-Element ist stets leer.

Seit XSLT 2.0 können auch Ergebnisdokumente mit der Instruktion xsl:result-document erzeugt werden. Mit dem name Attribut für xsl:output können nun mehrere Output-Deklarationen erzeugt werden und diesen einen Namen als Referenz übergeben werden. Beim Aufruf einer xsl:result-document-Instruktion kann nun mit dem format-Attribut auf eine Output-Deklaration referenzieren.

Die wichtigste Angabe zur Serialisierung ist der Dokumenttyp des Ergebnisdokuments und wird mit dem Attribut method gemacht. Hier können die Werte "xml", "html", "xhtml" oder "text" angegeben werden. Dem entsprechend wird ein korrektes XML-, Html- oder xHtml-Dokument bzw. eine reine Text-Datei ausgegeben. Der Defaultwert ist hierbei "xml". Für die verschiedenen Dokumenttypen werden nun die Ergebnisdokumente so ausgegeben (evtl. korrigiert), dass die Typ spezifischen Anforderungen erfüllt werden. Bei Html wäre das beispielsweise der obligatorische meta-Element im Head, bei XML evtl. die XML-Deklaration. Für den Wert "text" gilt, dass ungeparster Text ausgegeben wird.

Des weiteren kann mit den Attributen von xsl:output die XML-Version (version), die Kodierung (encoding), der Medientyp (media-type), eine Validierung (doctype-system und doctype-public), Elemente, deren Textknoten als CDATA-Sections ausgegeben werden sollen (cdata-section-elements), eine Normalisierungsform (normalisation-form) oder eine anzuwendende xsl:character-map-Deklaration übergeben werden.

Zusätzlich kann festgelegt werden, ob automatisch eine Einzug-Formatierung vorgenommen wird (indent), ob eine XML-Deklaration zu Beginn unterdrückt wird (omit-xml-declaration), der XML-Deklaration ein standalone-Pseudoattribut beigefügt wird (standalone), eine Byte-Order-Marke am Anfang der Datei gesetzt wird (byte-order-mark), Attributwerte vom Typ xs:anyURI escaped werden (escape-uri-attributes), dem Ergebnisdokument ein meta-Element mit einer content-type-Description zugefügt wird (include-content-type) oder eine Undeklaration von Namensräumen erlaubt ist (undeclare-prefixes).

Attribute

method, version, indent, encoding, media-type, doctype-system, doctype-public, omit-xml-declaration, standalone, cdata-section-elements, byte-order-mark, escape-uri-attributes, include-content-type, name, normalisation-form, undeclare-prefixes, use-character-maps

Beispiel 1

<?xml version="1.0"encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xhtml"></xsl:output>
    <xsl:template match="/">
        <html>
            <head>
                <title>for-each</title>
            </head>
            <body>
                <p>
                    <xsl:value-of select="root/section/para"></xsl:value-of>
                </p>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

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:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xhtml"></xsl:output>
    <xsl:template match="/">
        <html>
            <head>
                <title>for-each</title>
            </head>
            <body>
                <p>
                    <xsl:value-of select="root/section/para"></xsl:value-of>
                </p>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
<?xml version="1.0"encoding="UTF-8"?>
<html>
   <head>
      <title>for-each</title>
   </head>
   <body>
  <p>
  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.
  </p>
   </body>
</html>

 

 

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