[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Using Key in the middle of Xpath


Subject: Re: [xsl] Using Key in the middle of Xpath
From: "Mailing Lists Mail daktapaal@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Jan 2015 16:00:16 -0000

>then the value would be computed for the "foo" child element of the "bbb" selected in the expression which makes sense and is >supported, at least in XPath and XSLT 2.0.

//aaa/bbb/key('mykey','myval')/fooval  Reads as :

under bbb, get a ccc/ddd whose @id is equal to 'myval' .. and select
the fooval of "that" ddd element

which in a way translates to

key('mykey','myval',//aaa/bbb)/fooval


( with the third context argument)


Is this what you are saying ??




On Mon, Jan 19, 2015 at 10:39 AM, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Mailing Lists Mail daktapaal@xxxxxxxxx wrote:
>>
>> Guys,
>> where I consult, I was going through the XSLTs to check if they have
>> all been done correctly... I came across this Xpath which I thought
>> was a little unheard of,. I am thinking it is wrong usage, but want to
>> confirm with you guys.
>>
>> Xpath :
>>
>> <xsl:variable name = "foo" select =
>> "//aaa/bbb/key('mykey','myval')/fooval"/>
>> where key is :
>>
>> <xsl:key name = "mykey" select = "ccc/ddd" use = "@id"/>
>>
>>
>> The code has been working ( I wondered if it was by a toss ) .. But I
>> have never ever seen a key being used in the middle of the Xpath. For
>> me it does not make any sense of the use of key.
>>
>> Comments?
>
>
> If a constant respectively string literal 'myval' is passed in then the
> prefix //aaa/bbb/ can as well be removed but if you did
>
>   //aaa/bbb/key('mykey', foo)
>
> then the value would be computed for the "foo" child element of the "bbb"
> selected in the expression which makes sense and is supported, at least in
> XPath and XSLT 2.0.


Current Thread
Keywords