Subject: RE: Complex XPath Expression
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 15 Jan 2005 09:35:42 -0000
|
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: 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
|