xsl-list
[Top] [All Lists]

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

2005-06-01 06:26:09
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(_at_)saxonica(_dot_)com> 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(_at_)gmail(_dot_)com]
Sent: 01 June 2005 06:05
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] 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[(_at_)fieldname='NeedCode']"/>

What am I doing wrong?


On 5/31/05, Mukul Gandhi <mukul_gandhi(_at_)yahoo(_dot_)com> wrote:
Would it be -

<xsl:key name="key_fld" match="field" use="@name"/>

Regards,
Mukul

--- Karl Stubsjoen <kstubs(_at_)gmail(_dot_)com> 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.



--~------------------------------------------------------------------
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>