Subject: Re: [xsl] Map construction From: "Christophe Marchand cmarchand@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 18 Apr 2019 09:21:55 -0000 |
Best regards, Christophe
Alernatively, use the xsl:map and xsl:map-entry instructions. Unlike map:merge this doesn't allow any control over handling of duplicates (though we're adding that as a Saxon extension in the next release).
<xsl:map><xsl:variable name="myMap" as="map(xs:string,xs:string+)">etc<xsl:map:entry key="'key1'" select="'val11','val12'"/>
Michael Kay
On 18 Apr 2019, at 09:12, John Lumley john@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
On 18/04/2019 09:06, Christophe Marchand cmarchand@xxxxxxxxxx wrote:Hello,You should use map:merge(map(*)*) on a sequence of maps - map:entry() produces a single entry map. $myMap as written has type map(*)+ - a sequence of single-entry maps. Use the $options second argument of map:merge() to control behaviour when duplicate keys are detected...
is it legal to construct a map this way :
<xsl:variable name="myMap" as="map(xs:string,xs:string+)"> <xsl:sequence select="map:entry('key1', ('val11','val12'))"/> <xsl:sequence select="map:entry('key2', ('val21','val22'))"/> </xsl:variable>
Or should I construct a sequence of map:entry, and then apply map:merge on that sequence ?
Thanks in advance, Christophe
-- *John Lumley* MA PhD CEng FIEE john@xxxxxxxxxxxx <mailto:john@xxxxxxxxxxxx> on behalf of Saxonica Ltd
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Map construction, Michael Kay mike@xxx | Thread | [xsl] Keeping result-document() fro, dvint@xxxxxxxxx |
Re: [xsl] Map construction, Michael Kay mike@xxx | Date | [xsl] Keeping result-document() fro, dvint@xxxxxxxxx |
Month |