
An xml example : <?xml version="1.0" encoding="UTF-8"?> <NewsMLwk> <NewsItemId>WK20100201-01</NewsItemId> <OfInterestTo FormalName="WKF"/> <HeadLine/> <DateLine/> <body.content> <p>Par <aut/></p> <p>PARIS, 2010 -</p> </body.content> </NewsMLwk> With this xsl : <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:text>The document contains </xsl:text> <xsl:call-template name="add"> <xsl:with-param name="nodes" select="//p/text()"/> </xsl:call-template> <xsl:text> characters.</xsl:text> </xsl:template> <xsl:template name="add"> <xsl:param name="sum" select="0"/> <xsl:param name="nodes" select="/.."/> <xsl:choose> <xsl:when test="not($nodes)"> <xsl:value-of select="$sum"/></xsl:when> <xsl:otherwise> <xsl:call-template name="add"> <xsl:with-param name="sum" select="$sum + string-length(normalize-space($nodes[1]))"/> <xsl:with-param name="nodes" select="$nodes[position() != 1]"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> Le 10/05/10 17:06, « George Cristian Bina » <george@oxygenxml.com> a écrit :
Dear Isabelle,
You can use also the XPath evaluation (see the XPath edit box in the toolbar). To get the normalized text from the document you can use
normalize-space(/*)
and for the number of characters in this text use
string-length(normalize-space(/*))
For understanding the problem you have with the stylesheet please post also a sample XML file together with the stylesheet that you use.
Best Regards, George