RE: [xsl] XSLT2 Character Maps

Subject: RE: [xsl] XSLT2 Character Maps
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sat, 24 Jul 2004 15:36:53 +0100
Interesting idea, but I think the WG would probably now file it under
"interesting ideas for 3.0". We want to finish, and are trying very hard to
resist new features however tempting.

Michael Kay 

> -----Original Message-----
> From: Christian Roth [mailto:roth@xxxxxxxxxxxxxx] 
> Sent: 24 July 2004 12:54
> To: XSL List
> Subject: [xsl] XSLT2 Character Maps
> 
> Hi,
> 
> I've had a look at XSLT 2's character maps feature. In the tool I am
> working on (upCast from infinity-loop), we have that very concept
> implemented now for several releases and added some 
> convenience options
> (like the ability to easily define a range of Unicode positions that
> should be output as numerical decimal/hexadecimal entities) - 
> but that's
> not the issue here.
> 
> The point is that we resp. some of our users also use 
> character maps to
> create (mainly empty) elements in the output. For example a 
> line in our
> maps like
> 
>   0x2028="<linebreak/>"
> 
> creates a linebreak element in the output for every instance 
> of Unicode
> character &#x2028;. The problem that arises for us is 
> attribute values:
> If these contain a 0x2028 character, they get malformed:
> 
> <element attr="a&#x2028;b">
>   gets
> <element attr="a<linebreak/>b">,
> 
> which is not valid XML.
> 
> From what I see, character maps in XSLT2 do not provide a way 
> to specify
> different character mappings for text and attribute nodes, so 
> it is not
> possible to only replace 0x2028 with <linebreak/> in text 
> nodes, but not
> in attribute nodes.
> 
> We therefore consider adding additional flags for each 
> character mapping
> rule in our character map implementation that lets the user specify
> whether the rule should be applied to
> 
>  - text nodes
>  - comment nodes
>  - attribute nodes
> 
> or any combination of these, with additional ones being added 
> if needed.
> Have similar thoughts been given to XSLT2's character maps, or am I
> simply overlooking something obvious?
> 
> Kind regards
> Christian

Current Thread