Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Behält Textknoten bei, die nur Leerraum enthalten, die in diesen Elementen enthalten sein können, wie vom elements-Attribut angegeben.
<xsl:preserve-space
elements = tokens />
Attribute
- elements
Dies ist ein erforderliches Attribut. Der Wert ist eine durch Leerraum getrennte Liste von Namenstoken für die Knoten, deren Leerraum-Textknoten beibehalten werden müssen.
Elementinformationen
Anzahl der Vorkommen |
Unbegrenzt |
Übergeordnete Elemente |
|
Untergeordnete Elemente |
(Keine untergeordneten Elemente) |
Hinweise
Das <xsl:preserve-space>-Element behält Leerraum-Textknoten in den angegebenen Elementen bei. Dies wirkt sich nicht auf Leerraumzeichen in Textknoten aus, die sowohl Leerraumzeichen als auch andere Zeichen enthalten. Die Beibehaltung von Leerraum-Textknoten bedeutet an dieser Stelle, dass die Knoten aus dem Quelldokument im Ergebnisdokument erhalten bleiben. <xsl:strip-space> bewirkt das Gegenteil. Die Leerraum-Textknoten werden in den angegebenen Knoten entfernt.
Standardmäßig werden alle Leerraum-Textknoten beibehalten. Wenn ein Elementname einem Namenstest in einem <xsl:strip-space>-Element entspricht, wird er aus der Gruppe der Elementnamen entfernt, für die Leerraum beibehalten werden soll. Wenn ein Elementname einem Namenstest in einem <xsl:preserve-space>-Element entspricht, wird er wieder der Gruppe von Elementnamen hinzugefügt, für die Leerraum beibehalten werden soll.
Weitere Informationen finden Sie unter "Whitespace Stripping", Abschnitt 3.4 der XSLT-Empfehlung der W3C unter www.w3.org/TR/xslt (nur in englischer Sprache).
Beispiel
Im folgenden Beispiel wird erläutert, welche Auswirkungen das Beibehalten und Entfernen von Leerraum-Textknoten mithilfe von <xsl:preserve-space> und <xsl:strip-space> hat.
XML-Datei (source.xml)
XSLT-Datei (trans.xsl)
Probieren Sie es aus!
Kopieren Sie den oben stehenden Code, und speichern Sie ihn in entsprechenden Dateien auf dem lokalen Laufwerk.
Starten Sie die XSL-Transformation, indem Sie das Kommandozeilendienstprogramm zur Transformation (msxsl.exe) an einer Eingabeaufforderung folgendermaßen aufrufen:
msxsl source.xml trans.xsl
Hinweis:Starten Sie die Transformation nicht aus Internet Explorer.Der Browser führt Operationen zum Entfernen von Leerraum aus, die nicht mit dem XSLT-Spezifikationen kompatibel sind.Dies kann dazu führen, dass die XLST-Transformation nicht erwartungsgemäß erfolgt.
Ausgabe
Dies ist die Standardausgabe:
code elements:
code # 1
has 1 text().
"---"
code # 2
has 1 text().
"--;"
code # 3
has 1 text().
"NThis-is-a-Tsample-codeTNTN"
text elements:
text # 1
has 0 text().
""
text # 2
has 1 text().
"--;"
text # 3
has 1 text().
"NThis-is-a-Tsample-textTNTN"
Beachten Sie, dass die Transformation einen Textknoten für das erste <code>-Element zurückgibt. Es wird jedoch kein Textknoten für das erste <text>-Element zurückgegeben. Dies liegt daran, dass diese Elemente beide über einen Leerraum-Textknoten verfügen, der in <code> erhalten, in <text> jedoch entfernt wird. Dies entspricht der <xsl:preserve-space>-Anweisung und der <xsl:strip-space>-Anweisung, die am Anfang des Stylesheets aufgeführt sind. Das zweite und das dritte Element zeigen jeweils, dass diese Anweisungen keine Auswirkungen auf Textknoten haben, bei denen es sich nicht um Leerraum-Textknoten handelt.