Re: Do we need the restrictions on the <base> element?

Henrik Dvergsdal wrote:
> What we're after is to define the <base> element as a global element 
> whose content affect the entire document, including the <head> itself.

The only way to do that while having the definition be compatible with existing 
content is to have the definition only apply if the <base> comes before any 
elements that have URIs involved in any way.

> The following restrictions follow naturally:
> 
> - There can only be one <base> element
> - The <base> should be inside the <head> element.

Agreed on both.

> But there is no law that says that global elements have to come 
> physically before the others.

True, if you're willing to break compat with all existing UAs and existing 
content.  Is that desirable?

Basically, I see two options:

1) <base> has to come before other things, we specify it nicely, any document
    where it _doesn't_ come before other things is non-conforming, and UAs
    handle such documents as they do right now
2) <base> can come after some content in conforming documents, and we specify
    the de-facto standard behavior: <base> only affects things that are inserted
    into the DOM after it has been parsed.

> If we remove the sequencing restrictions and instead state the global 
> nature of <base> and <meta charset=...> explicitly, the spec will be 
> easier to understand and less ambiguous.

And not implementable without breaking the web....  :(

-Boris

Received on Tuesday, 5 June 2007 15:24:51 UTC