>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.
|