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 14:57:55 +0100
Hi Jarno,

Thank you so much for the explanation.  It works exactly the way you
have suggested.

Many thanks
Houman


-----Original Message-----
From: Jarno.Elovirta@xxxxxxxxx [mailto:Jarno.Elovirta@xxxxxxxxx]
Sent: 26 September 2005 13:37
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] What is wrong with this count()

Hi,

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

  *[starts-with(name(),'DGBUIMSNNumber')]

Selects all child elements of the context node whose name start with the
string "DGBUIMSNNumber". Let's call this $c.

  *[starts-with(name(),'DGBUIMSNNumber')]/@action

Select all action attributes of all nodes in $c. Call this $a.

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

Test if there is at least one node in $a whose string value is 'add'. I
think this is your problem, you most probably want

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

I.e. get all child elements whose name starts with "DGBUIMSNNumber" and
whose action attribute is "add" and count those.

Cheers,

Jarno

--
Plus Sytem: Let's All Get Down

Current Thread