[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: adding string-length values
Kay Michael wrote: > > > <xsl:variable name="mycounter" select="0"/> > > > > <xsl:for-each select="//Para"> > > <xsl:variable name="mycounter" select="$mycounter + > > string-length(.)"/> > > <p>Number Chars: <xsl:value-of select="$mycounter"/></p> > > </xsl:for-each> > > You've got to stop thinking in terms of updating variables as you go along, > and thing in terms of a function. Seems to be a little bit like Lisp or Prolog... > With Saxon it's easy, > saxon:sum(preceding::text(), saxon:expression('string-length(.)'); > > With standard XSLT it's a bit more work: you need a recursive template that > calculates the total string-length of a node-set by finding the > strgin-length of the first node, and adding the total of the remaining > nodes, which you get by calling yourself recursively. Well, I'm using Xalan ! But if I understand it right, it should look similar to this: <xsl:temaple match="Para"> <xsl:variable name="mycounter" select="$mycounter_from_parent_node + string-length(.)"> <xsl:if test="mycounter < 1000"> Char count: <xsl:value-of select="$mycounter"/> <xsl:apply-templates select="Para"/> <xsl:if/> <xsl:template/> Unfortunately I do not know how to obtain the value of $mycounter from the parent-node (here: $mycounter_from_parent_node)!! There are too many possibilities (e.g. '../$mycounter') to try them all! :( Maybe you (or somebody else) could give or point me to a similar example ?? That would be great !! - Zeljko XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|