[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Map construction

Subject: Re: Map construction
From: "Christophe Marchand cmarchand@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Apr 2019 09:21:55 -0000
Re:  Map construction
Oh ! Thanks a lot !

I've missed this, I had only the xpath constructions in mind.

Best regards,
Christophe

Le 18/04/2019 C 10:28, Michael Kay mike@xxxxxxxxxxxx a C)critB :
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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.