<xsl:text> |
Diese Anweisung gestattet es Ihnen, Literaltext in das Ausgabedokument zu schreiben.
Kategorie
Anweisung
Obligatorische Attribute
Keine
Optionale Attribute
disable-output-escaping Dieses Attribut bestimmt, ob Sonderzeichen als Zeichenreferenzen ins Ausgabedokument geschrieben werden. Angenommen, der Literaltext enthält das Zeichen > , das normalerweise als & gt; ins Ausgabedokument geschrieben wird. Wenn Sie disable-output-escaping= " yes " setzen, wird nicht die Referenz, sondern das Zeichen > selbst geschrieben. Der XSLT-Prozessor verwendet dieses Attribut nur, wenn Sie die Ausgabemethoden html oder xml verwenden. Wenn Sie < xsl:output method= " text " > verwenden, wird das Attribut ignoriert, da bei der Ausgabemethode text keine Zeichenreferenzierung verwendet wird.
Inhalt
#PCDATA, Literaltext und Entity-Referenzen.
Übergeordnetes Element
<xsl:text> erscheint innerhalb einer Template.
Definition
XSLT-Abschnitt 7.2, Erzeugung von Text
Beispiel
Im folgenden Beispiel-Stylesheet wird mit Hilfe von <xsl:text> Text erzeugt. Um einen zusammenhängenden Satz zu schaffen, werden <xsl:text>- und <xsl:value-of>-Elemente vermischt. In diesem Fall wird einfach ein Textdokument erzeugt, doch funktioniert die Technik genau so gut zur Erstellung des Texts für ein HTML- oder XML-Element. Hier das Stylesheet:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

      <xsl:output method="text"/>

      <xsl:variable name="newline">
    <xsl:text>
    </xsl:text>
      </xsl:variable>

      <xsl:template match="/">
        <xsl:text>Your document contains </xsl:text>
        <xsl:value-of select="count(//*)"/>
        <xsl:text> elements and </xsl:text>
        <xsl:value-of select="count(//@*)"/>
        <xsl:text> attributes. </xsl:text>
        <xsl:value-of select="$newline"/>
        <xsl:text disable-output-escaping="yes"><Have a great day!></xsl:text>
      </xsl:template>
    </xsl:stylesheet>
Beachten Sie auch den Einsatz von <xsl:variable> zur Erzeugung von Zeilenumbrüchen. Das <xsl:text>-Element innerhalb des <xsl:variable>-Elements enthält einen Zeilenumbruch. Wenn also der Wert dieser Variablen in den Ergebnisbaum geschrieben wird, entsteht der gewünschte Zeilenumbruch. Als Eingabe wird das folgende XML-Dokument verwendet:
    <?xml version="1.0"?>
    <list xml:lang="en">
      <title>Albums I've bought recently:</title>
      <listitem>The Sacred Art of Dub</listitem>
      <listitem>Only the Poor Man Feel It</listitem>
      <listitem>Excitable Boy</listitem>
      <listitem xml:lang="sw">Aki Special</listitem>
      <listitem xml:lang="en-gb">Combat Rock</listitem>
      <listitem xml:lang="zu">Talking Timbuktu</listitem>
      <listitem xml:lang="jz">The Birth of the Cool</listitem>
    </list>
Das Beispiel-Stylesheet erzeugt die folgenden Ergebnisse:
    Your document contains 9 elements and 5 attributes.
    <Have a great day!>
Da die Ausgabemethode (Output Method) text verwendet wird, hat das Attribut disable-output-escaping keinerlei Auswirkung. Wenn Sie das Stylesheet so ändern, dass es <xsl:output method="html"/> oder <xsl:output method="xml"/> verwendet, so wird disable-output-escaping berücksichtigt. Hier die Ergebnisse für disable-output-escaping="yes":
    Your document contains 10 elements and 2 attributes.
    <Have a great day!>
Und hier die Ergebnisse für disable-output-escaping="no", dem Standard:
    Your document contains 10 elements and 2 attributes.
    &lt;Have a great day!&gt;