August 2001
Intermediate to advanced
480 pages
11h 16m
English
<xsl:preserve-space> — Defines the source document elements for which whitespace should be preserved.
Top-level element
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.
None.
None. <xsl:preserve-space> is an empty element.
<preserve-space> is a top-level element and can only appear as a child of
<xsl:stylesheet>
.
XSLT section 3.4, Whitespace Stripping.
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> ...