[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Keys (easy one) match on name()

Subject: Re: Keys (easy one) match on name()
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Wed, 1 Jun 2005 06:26:09 -0700
match by name
Maybe that is where I have gone wrong, I assumed that the key
definition is context aware.  So to write the select expression as I
have as "field" would suffice in the case that my context is record;
the immediate context from record is field.
I have written keys, and use them quite a bit, but this one's twist is
the fact that I am driving off on the name attribute.

> key_fld of 'NeedCode'. Your expression that uses the predicate directly
only
> selects the field elements that are children of the context node. Without

So, If the current context is "record", where "record" has a bunch of
"field"(s) for child elements, shouldn't this key lookup work?
<xsl:key name="key_fld" match="field" use="@name"/>


On 6/1/05, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> Using key() returns all the field elements in the document that have a
> key_fld of 'NeedCode'. Your expression that uses the predicate directly
only
> selects the field elements that are children of the context node. Without
> knowing what the context node (or anything else in your source document)
> looks like, one can't be sure that's the problem, but it seems likely.
>
> Michael Kay
> http://www.saxonica.com/
>
> > -----Original Message-----
> > From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx]
> > Sent: 01 June 2005 06:05
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: Re:  Keys (easy one) match on name()
> >
> > I have this key:
> >     <xsl:key name="key_fld" match="field" use="@fieldname"/>
> >
> >
> > I set this variable:
> > <xsl:variable name="current_need" select="key('key_fld','NeedCode')"/>
> >
> > I get:
> > HI
> >
> > Without the key, I get the correct value of:
> > MD
> >
> > Here is the definition without the key:
> > <xsl:variable name="current_need"
> > select="field[@fieldname='NeedCode']"/>
> >
> > What am I doing wrong?
> >
> >
> > On 5/31/05, Mukul Gandhi <mukul_gandhi@xxxxxxxxx> wrote:
> > > Would it be -
> > >
> > > <xsl:key name="key_fld" match="field" use="@name"/>
> > >
> > > Regards,
> > > Mukul
> > >
> > > --- Karl Stubsjoen <kstubs@xxxxxxxxx> wrote:
> > > > I have a bunch of <field/> elements who all contain
> > > > the attribute
> > > > name.  How do I set up a key to return the field
> > > > element passing given
> > > > name?
> > > >
> > > > I've tried this, but doesn't seem to work:
> > > >
> > > >     <xsl:key name="key_fld" match="field"
> > > > use="name()"/>
> > > >
> > > > I've also tried:
> > > >
> > > >     <xsl:key name="key_fld" match="field"
> > > > use="@*[name()]>
> > > >
> > > > Thanks for the help.
> > > >
> > > >
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam protection around
> > > http://mail.yahoo.com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.