Re: [xsl] counting characters in an XML document

Subject: Re: [xsl] counting characters in an XML document
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 5 Nov 2001 09:29:53 GMT
> That solution confuses me - I would have expected descendants to work,
> rather than child::*[1].
>       <xsl:value-of select="string-length(descendants)"/>

actually you don't nnned child either, you could just have gone
 <xsl:value-of select="string-length(/)"/>

The string-value of an element (or root node) is the concatenation of
the string value of all its child nodes that's why / or child:*[1]
work.

"string-length(descendants)"

also works, but goes the long way round. first you select a node set
which consistes of every element node in the document. then you apply 
string-length to that node set. Functions expectiong a string, if given
a node set, take the first node in document order in the node set,
discard every other node, then take the strng value of the selected
node. Since the node set selected will include the top level document
element, the above will give the string value of the document element,
and all the descendant nodes will be discarded. But as described above
the string value of the document element is the concatenation of the
characters in its descendants...

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread