|
Subject: Re: [xsl] Using QNames as keys in maps From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 15 Feb 2018 09:51:00 -0000 |
Am 15.02.2018 um 10:28 schrieb Erik Siegel erik@xxxxxxxxxxx:
>
> Im trying to set up a map(xs:QName, item()), in an XSLT 3.0
> stylesheet, but its very inconvenient. This works:
>
> (Running in oXygen 19.1 which reports Saxon 9.7.0.19, tried both PE
> and EE)
>
> <xsl:template match="/">
>
> <xsl:variable name="qmap" as="map(xs:QName, item())" select="map{
> QName((), 'xx'): 'aaa' }"/>
>
> <RESULT size="{map:size($qmap)}">
>
> <xsl:value-of select="map:get($qmap, QName((), 'xx'))"/>
>
> </RESULT>
>
> </xsl:template>
>
> But I would have expected this to work also (but it doesnt):
>
> <xsl:template match="/">
>
> <xsl:variable name="qmap" as="map(xs:QName, item())" select="map{
> Q{}xx: 'aaa' }"/>
>
> <RESULT size="{map:size($qmap)}">
>
> <xsl:value-of select="map:get($qmap, Q{}xx)"/>
>
> </RESULT>
>
> </xsl:template>
>
If you use Q{}xx then you don't construct a QName, instead you select
any xx children of the context node.
The only other option you have to construct a QName is xs:QName('xx').
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Using QNames as keys in m, Michael Kay mike@xxx | Thread | [xsl] Getting Unexpected Results fr, Eliot Kimber ekimber |
| Re: [xsl] Using QNames as keys in m, Michael Kay mike@xxx | Date | Re: [xsl] Watch "Michael Kay (Saxon, David Lee dlee@xxxxx |
| Month |