Subject: RE: Output character references for all but one character
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 21 Jun 2004 19:23:54 +0100
|
> Consider the following xml:
>
> <node value="£">Hello World</node>
>
> I have the problem where I need characters outside the ascii
> range to be output as references, apart from the pound sign,
> which must remain as the actual character.
I don't understand. You want the output to be ASCII, but you want the # sign
output as a hex A3 byte? Those are surely contradictory requirements.
Michael Kay
>
> The processor is Saxon 7.8 and is fixed. I can't use d-o-e
> as the pound sign is always an attribute value, and saxon 7.8
> no longer supports d-o-e on attributes in favour of character
> maps. When I use the following stylesheet, I get a '?'
> character instead of the the pound, I guess because Saxon
> can't output the pound sign because it's not in the ascii range...
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:saxon="http://saxon.net.sf/"
> exclude-result-prefixes="saxon">
>
> <xsl:output method="xhtml" encoding="ascii"
> omit-xml-declaration="yes" use-character-maps="style"/>
>
> <xsl:character-map name="style">
> <xsl:output-character character="£" string="£"/>
> </xsl:character-map>
>
> <xsl:template match="@*|node()">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()"/>
> </xsl:copy>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Outputs:
>
> <node value="?">Hello World</node>
>
> I'm really after an exact copy of the input:
>
> <node value="£">Hello World</node>
>
> Any ideas?
>
> cheers
> andrew
>
> --+------------------------------------------------------------------
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
> --+--
>
>
|