RE: [xsl] Complex XPath Expression

Subject: RE: [xsl] 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: [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