I can survive with a global variable which is a map !
Thanks a lot !
Christophe
Le 19/03/2019 C 17:23, Martin Honnen martin.honnen@xxxxxx a C)critB :
On 19.03.2019 16:15, Christophe Marchand cmarchand@xxxxxxxxxx wrote:
I have a variable :
<xsl:variable name="content" as="xs:string" select='EC'/>
I want to transform special caracters according to a character-map
definition (I think it's much easier to maintain) :
B B <xsl:character-map name="cm">
B B B B <xsl:output-character character="E" string="oe"/>
B B B B <xsl:output-character character="C" string="ss"/>
B B </xsl:character-map>
Something like
<xsl:variable name="escaped" as="xs:string"
select="escape-according-tocharacter-map($content, 'cm')"/>
Is there a way to do it with XSLT 3.0 ?
The serialize function from XPath 3 allows you to supply a character map
but in XPath 3.1 map syntax
serialize($content, map { 'method' : 'text', 'use-character-maps' : map
{ 'E' : 'oe', 'C' : 'ss' }})
I am currently not sure there is a way to reference a map in the
stylesheet, other than perhaps using
B map:join(document('')/*/xsl:character-map[@name =
'cm']/xsl:output-character/map-entry(@character, @string))
instead of the hardcoded map { 'E' : 'oe', 'C' : 'ss' }}
|