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 08:46:09 -0700
I guess I'll have to try it out.  I just don't get how it works : )


On Mon, 21 Mar 2005 15:23:38 -0000, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > > 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".
> 
> You used strings such as 'ABC' as example values, so I reckoned I could do
> the same. Just substitute with the actual values you want to search for,
> e.g.
> 
> key('k', concat('student', '#', 'Smith', '#', 'Last_Name'))>
> 
> Michael Kay
> 
> 
> >
> > 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