[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: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Jan 2015 15:39:46 -0000

Mailing Lists Mail daktapaal@xxxxxxxxx wrote:
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.


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