Re: 2. Effect of normalisation step on the DOM/Infoset

On Wed, 26 Jan 2005, Norman Walsh wrote:
> 
> normalization
> -------------
> [...]
>
> It won't break existing documents, since there can be no existing 
> documents that use xml:id.  Our proposed behavior is equivalent to 
> putting something in your internal subset declaring xml:id to be an id.

My issue with this is not that it will break existing documents.

My issue is that new documents will have different serialisations based on 
whether the UA supports xml:id or not.

What is the advantage of changing the attribute's representation in the 
DOM? Note that at the moment, most Web browsers only do normalisation if 
there is an internal subset -- for example, this markup:

   <p xmlns="http://www.w3.org/1999/xhtml" id=" te  st "/>

...gets treated as having the ID " te st " and the attribute is certainly 
not changed. It would be very unfortunate if authors had to deal with 
attributes changing unexpectedly -- we have already seen authors get very 
confused with similar problems before (e.g. authors have a hard time 
understanding that CSS colours can get normalised to a consistent 
representation, and they expect the "style" attribute to contain exactly 
what they originally wrote, whether or not it was valid).

There is also the problem that requiring that the DOM be changed means 
that xml:id processing must happen at a low level, and can't be 
implemented as a layer above the DOM (since otherwise the changes would 
fire mutation events).

Normalisation is a pain, and I do not see its advantages in this case. 
Please leave the infoset normalisation to the DTD, if it has to happen at 
all.


I disagree with this resolution.

You may use this e-mail in your disposition of comments to the director if 
you do not wish to resolve this issue in my favour before moving to CR.

Cheers,
-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 27 January 2005 10:38:55 UTC