RE: [xsl] Output character references for all but one character

Subject: RE: [xsl] 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&#160;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="&#163;"/>
> </xsl:character-map>
> 
> <xsl:template match="@*|node()">
>   <xsl:copy>
>     <xsl:apply-templates select="@*|node()"/>
>   </xsl:copy>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> Outputs:
> 
> <node value="?">Hello&#160;World</node>
> 
> I'm really after an exact copy of the input: 
> 
> <node value="£">Hello&#160;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>
> --+--
> 
> 


Current Thread