<xsl:preserve-space>  
Diese Anweisung legt fest, in welchen Elementen des Ausgangsdokuments Leerräume erhalten werden sollen.
 
Kategorie

Element der obersten Ebene

 
Obligatorische Attribute
elements
Dieses Attribut definiert die Elemente, in denen Leerräume erhalten werden sollen. Wenn Sie mehrere Elemente definieren müssen, trennen Sie die einzelnen Namen durch eines oder mehrere Leerraumzeichen.

 
Optionale Attribute

Keine

 
Inhalt

Keiner. <xsl:preserve-space> ist ein leeres Element.

 
Übergeordnetes Element

<preserve-space> ist ein Element der obersten Ebene und kann nur dem Element <xsl:stylesheet> untergeordnet werden.

 
Definition

XSLT-Abschnitt 3.4, Entfernen von Leerräumen

 
Beispiel

Die Funktionsweise des Elements <preserve-space> wird durch das folgende Stylesheet veranschaulicht:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text"/>
  <xsl:preserve-space elements="listing"/>

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

  <xsl:template match="/">
    <xsl:value-of select="$newline"/>
    <xsl:value-of select="/code-sample/title"/>
    <xsl:value-of select="$newline"/>
    <xsl:for-each select="/code-sample/listing">
      <xsl:value-of select="."/>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

Dieses Stylesheet wird zur Umwandlung des folgenden Dokuments verwendet:

<?xml version="1.0"?>
<code-sample>
  <title>Conditional variable initialization</title>
  <listing>
  <type>int</type> <variable>y</variable> = <constant>23</constant>;
  <type>int</type> <variable>x</variable>;
    <keyword>if</keyword> (<variable>y</variable> > <constant>10</constant>)
    <variable>x</variable> = <constant>5</constant>;
  <keyword>else</keyword> 
    <keyword>if</keyword> (<variable>y</variable> > <constant>5</constant>)
      <variable>x</variable> = <constant>3</constant>;
  <keyword>else</keyword>
    <variable>x</variable> = <constant>1</constant>;
  </listing>
</code-sample>
      

Hier das Ergebnis, wenn Sie dieses XML-Ausgangsdokument mit dem Beispiel-Stylesheet verarbeiten:


Conditional variable initialization

  int y = 23;
  int x;
    if (y > 10)
    x = 5;
  else
    if (y > 5)
      x = 3;
  else
    x = 1;

Vergleichen Sie dieses Beispiel mit dem Beispiel in der Beschreibung des Elements <strip-space>.