Re: [xsl] Counting Nodes

Subject: Re: [xsl] Counting Nodes
From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx>
Date: Mon, 26 Nov 2001 11:44:27 +0200
Richard Jinks wrot

Is the following expression legal?

I don't think so, // is a short form of /descendant-or-self::node()/ and according to grammar rule 3 [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath

requires Step after last "/".

It is supposed to count all nodes and attributes from the current context

So, do as you said: count(//node()|//@*)

The reason I'm asking is that I'm currently evaluating a few different XSLT processers, with a view to using one of them in a product I'm working on. I've noticed that different processers handle it differently, the main stumbling block being the "//" by itself.

Usually, they work separately (i.e. count(//) and count(//@*) ), but a
couple (e.g. Apache's XalanC) seem to fall over when they are combined as

Huh, interesting point, can you say where count(//) works? This expression have to raise syntax error.

Oleg Tkachenko
Multiconn International, Israel

XSL-List info and archive:

Current Thread