| <xsl:preserve-space> | |
| Defines the source document elements for which whitespace should be preserved. | |
| Category | |
|
Top-level element |
|
| Required Attributes | |
|
|
| 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> = <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>
When we process this document with our stylesheet, we get these results:
Conditional variable initialization
int y = 23;
int x;
if (y > 10)
x = 5;
else
if (y > 5)
x = 3;
else
x = 1;
Compare this example to the one for the <strip-space> element. |
|