|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
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

|
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
| RSS 2.0 |
|
| Atom 0.3 |
|
|