I am struggling to use the "serialize" XPath 3.1 function as specified by the W3C with BaseX 9.1.2: 1) Is there any way to provide the "use-character-maps" parameter supplied the XPath 3.1 way with a second argument to "serialize" as a map: serialize("a,b", map { 'method' : 'text', 'use-character-maps' : map { "'" : "'" }}) I get an error saying [SEPM0017] Invalid 'use-character-maps' value 'map { "'": "'" }'; must be a string. 2) When I try the XPath 3.0 way of providing the serialization parameters as an XML element I also get an error: When I run declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization"; declare option output:method "text"; serialize( ( <text>'</text>, "'", map { "Ä":"\'C4", "Ö":"\'D6", "Ü":"\'DC", "ß":"\'DF", "ä":"\'E4", "ö":"\'F6", "ü":"\'FC" } ), <output:serialization-parameters xmlns:output="http://www.w3.org/2010/xslt-xquery-serialization"> <output:method value="adaptive"/> <output:use-character-maps> <output:character-map character="'" map-string="'"/> </output:use-character-maps> </output:serialization-parameters> ) in BaseX it tells me [SEPM0017] Character map 'character-map=,' is not defined. Saxon 9.9 and Altova 2018 run that example without giving an error (although not with the same serialization result, but that is a different issue).