<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. |