Re: [xsl] cursed RTF outputs

Subject: Re: [xsl] cursed RTF outputs
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 28 Jan 2023 16:30:41 -0000
Am 1/28/2023 um 5:23 PM schrieb Jean-Paul Rehr rehrjb@xxxxxxxxx:
> It seems I am stuck in 2004 problems.
>
> I am trying to get an RTF-compliant output from XSLT (3.0) but as
> usual, like back in the old mailing lists, characters aren't coming
> through. Has this been solved with a particular encoding yet?
>
> My test situation is with this node:
>
> <node>C) C( C  B( B0 C.</node>
>
> And this stylesheet using output encoding Windows-1250:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> version="3.0">
>
> B  <xsl:mode on-no-match="shallow-copy"/>
> B  <xsl:output method="text" encoding="Windows-1250"/>
>
> B  <xsl:template match="/">
> B  B  {\rtf1
> \par <xsl:apply-templates/>
> B  B  B }
> B  </xsl:template>
>
> </xsl:stylesheet>
>
> I get an rtf document with these characters
>
> C ? ? B$ B. C4
>
> Many thanks in advance,
> Jean-Paul
>
> PS: incidentally https://xsltfiddle.liberty-development.net/6qLYEp2
> even says it won't output because the characters are unsupported. So
> this just adds to my confusion about how to make any of this work.


Well, looking at https://en.wikipedia.org/wiki/Windows-1250 the
character C( is not part of the characters encodable by 1250.

I don't know about RTF, is there no way these days to use an Unicode
encoding like UTF-8?

The provided sample also works for me using Windows-1252 but I can't
tell which languages you want to cover.

Current Thread