Re: [xsl] question about count(node())

Subject: Re: [xsl] question about count(node())
From: Abel Braaksma <>
Date: Fri, 22 Jun 2007 23:28:58 +0200
Andreas Peter wrote:

I match on <block> and count the nodes by using <xsl:with-param name="countnodes" select="count(node())"/>

The returned value is "9". I need to know how many nodes are between the element <block>. Could anyone of you out there explain to me which nodes are counted? I cannot see any schema behind.

That you receive '9' has already been explained by Eric and Michael. Here are some possible scenarios for what you may mean:

If you want to count *all* nodes, I assume you mean all descendants from block. Use: count(//node()). If you want all nodes, but not the whitespace or text nodes, use count(//*). If you want all nodes, but not whitespace nodes, including text nodes, you can use count(//text()[.] | //*). etc

-- Abel Braaksma

Current Thread