|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Keys (easy one) match on 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








