[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Complex XPath Expression


Subject: RE: [xsl] Complex XPath Expression
From: "Karl Stubsjoen" <karl@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Jan 2005 20:14:28 -0700

Thanks for the tip Michael.
Oh but darn it, I just downloaded this app called Visual XPath and it does
not like the current() function.  (It will be Tuesday before I test this in
code with MSXML parser).

Does anyone recommend a free XSL XPath visualizer app?

Karl

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Saturday, January 15, 2005 2:36 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Complex XPath Expression


The second expression depends on the context node, and the context is
different inside a predicate. Try replacing recordset[] with
current()/recordset[].

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

> -----Original Message-----
> From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx]
> Sent: 15 January 2005 01:14
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Complex XPath Expression
>
> Hello,
>
> I have an xpath query that works in each of it's respective pieces but
> does not return a desired result when combined.
>
> Here is the complete expressions, followed by an explanation
> of it's parts:
>
> COMPLETE:
> recordset[@rsName='Codes']/record[field[@fieldname='Section']=
> '2'][field[@fieldname='ID']
> =
> recordset[@rsName='Memberships']/record[1]/field[@fieldname='R
> efEntryActivityID']]
>
>
> 1ST PART:
> recordset[@rsName='Codes']/record[field[@fieldname='Section']=
> '2'][field[@fieldname='ID']
>
> >> Alone, this correctly produces a result set of 15 matching nodes.
>
> 2ND PART:
> recordset[@rsName='Memberships']/record[1]/field[@fieldname='R
> efEntryActivityID']
>
> >> Alone, this retrieves the node who's value is 2913.
>
> If I rewrite the complete expression like this:
> recordset[@rsName='Codes']/record[field[@fieldname='Section']=
> '2'][field[@fieldname='ID']
> = 2913]
>
> >> I do match one node which is the desired result.
>
> What is wrong with the complete expression?  Both the 1st part and 2nd
> part behave accordingly, but combined not.
>
> Thanks for the help!
>
> Karl


Current Thread
Keywords