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

Subject: RE: [xsl] What is wrong with this count()
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Mon, 26 Sep 2005 15:36:43 +0300
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