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> </Paragraph> 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> <Td colspan="4"> <xsl:value-of select="."/> </Td> </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><Td colspan="4">Normalized text</Td></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>