Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Normalize-space() returns the argument string with white space normalized by stripping leading and trailing whitespace and

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <paragraph>   <text>Normalized text</text>   <text>Sequences   of      whitespace characters</text>   <text>    Leading and trailing whitespace.    </text> </P> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <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> Output: <?xml version="1.0" encoding="UTF-8"?><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>