Re: [xsl] counting characters in an XML document

Subject: Re: [xsl] counting characters in an XML document
From: Robert Stuart <Robert.Stuart@xxxxxxxxxxxxxxxxx>
Date: Mon, 5 Nov 2001 08:38:12 -0000
That solution confuses me (Query at the end ...)
====================================

Date: Fri, 02 Nov 2001 07:35:38 +0000
From: Peter Flynn <peter@xxxxxxxxxxx>
Subject: Re: [xsl] counting characters in an XML document

Wendell Piez wrote:
 > Mike,
 >
 > That XPath 2.0 addling is getting serious!
 >
 > Will this be happening to the rest of us?
 >
 > At 05:30 AM 10/25/01, Tom Melkonian wrote:
 >
 >> > Does anyone know how I can use XSL to count the number of
 >> > characters in an
 >> > XML document.
 >>
 >> If you're only interested in characters within text nodes, then
 >>
 >> count(string-length(/))
 >
 >
 > Nope -- this will get you an error since the argument of count() must be
 > a node-set, and string-length() returns a number.
 >
 > (Now, I know you know this, but I just don't want any credulous newbies
 > to get confused.)

The following appears to work:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                  version="1.0">

    <xsl:output method="text"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/">
      <xsl:value-of select="string-length(child::*[1])"/>
    </xsl:template>

</xsl:stylesheet>

///Peter


=======


That solution confuses me - I would have expected descendants to work,
rather than child::*[1].
      <xsl:value-of select="string-length(descendants)"/>


Can somebody comment on what is happening in this line?

Thanks

Robert Stuart


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


Current Thread