- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Tue, 05 Jun 2007 10:24:38 -0500
- To: Henrik Dvergsdal <henrik.dvergsdal@hibo.no>
- CC: HTML WG <public-html@w3.org>
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