<xsl:strip-space> |
Defines the source-document elements for which whitespace should be removed.
Category
Top-level element
Required Attributes
elements Contains a space-separated list of source document elements for which nonsignificant whitespace should be removed. Nonsignificant whitespace typically means text nodes that contain nothing but whitespace; whitespace that appears in and around text is preserved.
Optional Attributes
None.
Content
None. <xsl:strip-space> is an empty element.
Appears in
<xsl:strip-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 the <xsl:strip-space> element 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:strip-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>
Here are the results:
    Conditional variable initialization
    inty = 23;
      intx;
        if (y > 10)
        x = 5;
      elseif (y > 5)
          x = 3;
      elsex = 1;
Notice that all the extra whitespace from the <listing> element has been removed. This includes the space between the various elements contained inside <listing>, such as <keyword>, <constant>, and <variable>. Compare this example to the one for the <preserve-space> element.