I'm new to XQuery/XPath/XSLT and MarkLogic, so it's totally possible that I'm missing something basic :)
I would like to pass in a set of name/value pairs (i.e. a map) as a single named parameter in an XSLT transformation. There could be zero or more name/value pairs. Something similar to the following (XQuery comments would need to be replaced) ... <snip> xquery version "1.0-ml"; let $items := map:map() let $_ := map:put($items, "Car", "$5,300") let $_ := map:put($items, "Boat", "$23,740") let $params := map:map() let $_ := map:put($params, "title", "Items sold") let $_ := map:put($params, "items", $items) let $xsl := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="http://marklogic.com/xdmp/map" version="2.0"> <xsl:param name="title"/> <xsl:param name="items" as="map:map"/> <xsl:template match="/"> <Report> <title><xsl:value-of select="$title" /></title> (: for each entry in $items :) <Item> <Name>(: entry key :)</Name> <Value>(: entry value :)</Value> </Item> (: /////////////////////// :) </Report> </xsl:template> </xsl:stylesheet> return xdmp:xslt-eval($xsl, document { <foo></foo> }, $params) </snip> Looking through the mailing list archive I see that a similar question was asked: http://markmail.org/message/d6lj35jvtunnxdmt Someone replied in the thread saying that "You could pass a map as the value of any variable", but doesn't give the syntax. Any guidance would be much appreciated. -David
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
