[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Map construction
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:variable name="myMap" as="map(xs:string,xs:string+)"> <xsl:map> >> <xsl:map:entry key="'key1'" select="'val11','val12'"/> etc 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, >> >> 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 ? > > 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... > > >> >> Thanks in advance, >> Christophe > > > -- > *John Lumley* MA PhD CEng FIEE > john@xxxxxxxxxxxx <mailto:john@xxxxxxxxxxxx> > on behalf of Saxonica Ltd
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|