Re: innerHTML in XML

Ian Hickson wrote:
> On Sun, 1 Jun 2008, Cameron McCormack wrote:
>> Currently the spec says:
>>
>>   If any of the elements in the serialization are in the null namespace,
>>   the default namespace in scope for those elements must be explicitly
>>   declared as the empty string.
>>    — http://dev.w3.org/html5/spec/#innerhtml1
>>
>> Is there any reason for this?
> 
> If we didn't do this, round-tripping would break. For example this:
> 
> 
>     <foo xmlns="a:"><bar xmlns=""/></foo>
> 
>     foo.innerHTML = foo.innerHTML;
> 
> ...would turn the DOM into the equivalent of:
> 
>     <a:foo xmlns:a="a:"><a:bar/></a:foo>


I guess the question was whether this is a requirement that exceeds 
normal XML serializations requirements.

For the example, yes, obviously the xmlns="" is required.

The question is, is it required to add the xmlns="" in cases like

 <foo xmlns=""><bar xmlns=""/></foo>

?

It wouldn't be needed for the sake of a correct XML serialization, but 
it would be *useful* to make copy & parse robust.

BR, Julian

Received on Sunday, 1 June 2008 11:08:35 UTC