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 |