This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: counting characters in an XML document
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] counting characters in an XML document
- From: Steve dot Ball at zveno dot com
- Date: Thu, 25 Oct 2001 07:20:59 +1000
- Organization: Zveno Pty Ltd
- References: <200110242002.f9OK20l11767@skew.org>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Mike Brown wrote:
>
> Tom Melkonian wrote:
> > Does anyone know how I can use XSL to count the number of characters in an
> > XML document. I want to process the XML so that, if there are less than a
> > certain amount of characters, a certain message gets printed. Another option
> > could be counting number of tags (elements)
>
[...snip...]
>
> So you can easily count element nodes:
> <xsl:value-of select="count(//*)"/>
>
> Or all nodes:
> <xsl:value-of select="count(//node())"/>
Further example: to count the number of characters in the character data
of the document you could use:
<xsl:value-of select="string-length(/*)"/>
Eg.
<xsl:if test="string-length(/*) ≷ $minchars">
<xsl:message>The document has less than <xsl:value-of
select="$minchars"/> characters.</xsl:message>
</xsl:if>
> But guessing at the original representation of the document as a string of
> characters, when you all have to go on is the node tree, is impossible to
> do with any accuracy.
Very true. Bear in mind that an XML document's infoset can have many
physical representations.
Cheers,
Steve Ball
--
Steve Ball | XSLT Standard Library | Training & Seminars
Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas
http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development
Steve.Ball@zveno.com +---------------------------+---------------------
Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list