>> English << | Français | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 51 << | Prev | Next | Contents | Element Index

The string-length function returns the number of characters in the string. The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single space.

XSLT stylesheet 1

XML Source
<source>

<P>
     <text>Normalized text</text>
     <text>Sequences of whitespace characters</text>
     <text> Leading and trailing whitespace. </text>
</P>

</source>

Output
<TABLE>
  <TR>
     <TH colspan="4">Normalized text</TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>15</TD>
     <TD>Normalized length:</TD>
     <TD>15</TD>
  </TR>
  <TR>
     <TH colspan="4">Sequences   of      whitespace characters</TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>41</TD>
     <TD>Normalized length:</TD>
     <TD>34</TD>
  </TR>
  <TR>
     <TH colspan="4">    Leading and trailing whitespace.    </TH>
  </TR>
  <TR>
     <TD>Starting length:</TD>
     <TD>40</TD>
     <TD>Normalized length:</TD>
     <TD>32</TD>
  </TR>
</TABLE>

HTML view
Normalized text
Starting length: 15 Normalized length: 15
Sequences of whitespace characters
Starting length: 41 Normalized length: 34
Leading and trailing whitespace.
Starting length: 40 Normalized length: 32
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE>
          <xsl:for-each select="//text">
               <TR>
                    <TH colspan="4">
                         <xsl:value-of select="."/>
                    </TH>
               </TR>
               <TR>
                    <TD>Starting length:</TD>
                    <TD>
                         <xsl:value-of select="string-length(.)"/>
                    </TD>
                    <TD>Normalized length:</TD>
                    <TD>
                         <xsl:value-of select="string-length(normalize-space(.))"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>