Re: [xsl] Rule from param and 2 Vals for keys

Subject: Re: [xsl] Rule from param and 2 Vals for keys
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Mon, 21 Mar 2005 07:39:25 -0700
MK:
Thanks for the eval hint, I had figured that.

> key match="field" use="concat(../../@rsname, '#', ., '#', @fieldname)"
> 
> and then replace the above expression with
> 
> key('k', concat('ABC', '#', 'xxx', '#', 'DEF'))

Errr... I'm not sure what you concat and key solution you provided
accomplishes.  What I was hoping to accomplish with:

> > /root/recordset[@rsName='ABC']/record[field[@fieldname='DEF'] = 'xxx']

ABC, supplied rsName value to match.  So, rsName = "membership" or
rsName="student" or rsName = "ABC".

Same with DEF:  match fieldname that is "DEF", or feidlname that is
"Last_Name" or fieldname that is "ZipCode".

Same with "xxx", so now you have (spoken in english) and using
membership and Last_Name to replace ABC and DEF respectfully the
following:

"Return the record from the recordset who's name is "memberships" and
who's field "Last_Name" = "Smith".

I hope that clarifies things better.

Karl


On Sat, 19 Mar 2005 10:12:25 -0000, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > Hello,
> > Is it possible to invoke a select or test or other xpath query from
> > the value found within a variable or param?
> 
> You need an extension such as saxon:evaluate() or dyn:evaluate in EXSLT.
> >
> > - ALSO -
> >
> > How can you create a key for the following, where "ABC" and "XYZ" and
> > "xxx" are all the values I'd like to supply to the key for matching:
> >
> > /root/recordset[@rsName='ABC']/record[field[@fieldname='DEF'] = 'xxx']
> >
> 
> I'm not sure I understand the question. But you can define a key
> 
> key match="field" use="concat(../../@rsname, '#', ., '#', @fieldname)"
> 
> and then replace the above expression with
> 
> key('k', concat('ABC', '#', 'xxx', '#', 'DEF'))
> 
> Michael Kay
> http://www.saxonica.com/

Current Thread