Name
<xsl:preserve-space> — Defines the source document elements for which whitespace should be preserved.
Category
Top-level element
Required Attributes
- elements
This attribute defines the elements for which whitespace should be preserved. If you need to define more than one element, separate the element names with one or more whitespace characters.
Optional Attributes
None.
Content
None. <xsl:preserve-space>
is an empty element.
Appears in
<preserve-space>
is a top-level element and can only appear as a child of
<xsl:stylesheet>
.
Defined in
XSLT section 3.4, Whitespace Stripping.
Example
We’ll illustrate how <preserve-space>
works with the following stylesheet:
<?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>
We’ll use this stylesheet to process the following document:
<?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> ...
Get XSLT now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.