RE: [xsl] What is wrong with this count()

Subject: RE: [xsl] What is wrong with this count()
From: "Khorasani, Houman" <houman_khorasani@xxxxxxxxxxxxxx>
Date: Mon, 26 Sep 2005 15:00:01 +0100
I am actually using Xalan, which is a XSLT 2.0 processor. However I use
XSLT 1.0.  This is why it is always 1. Thanks :)

Your suggestion works as well.

Many thanks,
Houman


-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: 26 September 2005 14:35
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] What is wrong with this count()

In XSLT 1.0 this should give you an error: the argument of count() must
be a
node-set, not a boolean. (It's actually one of the few type errors you
can
get from XSLT 1.0).

In 2.0 the count() of a boolean value is always one (a single value is a
sequence of length one).

I don't know what result you wanted: perhaps

 count(*[starts-with(name(),'DGBUIMSNNumber')][@action='add'])

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: Khorasani, Houman [mailto:houman_khorasani@xxxxxxxxxxxxxx]
> Sent: 26 September 2005 13:23
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] What is wrong with this count()
>
> Hello everyone,
>
> I am trying hard to figure out why this isn't working:
>
>
> count(*[starts-with(name(),'DGBUIMSNNumber')]/@action='add')
>
> It always returns 1.  Why?
>
> Many thanks,
> Houman

Current Thread