<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;