Subject: RE: 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: 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 
. The problem that arises for us is
> attribute values:
> If these contain a 0x2028 character, they get malformed:
>
> <element attr="a
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
|