Placement of <base> & xml:base interaction

The spec contains this sentence regarding <base>:
"A base element, if it has an href attribute, must come before any  
other elements in the tree that have attributes with URIs."

Is that sentence intended to be merely a statement of the consequence  
of the content models of <html> and <head>? If so, it would be nice  
have the sentence start with something that labels it as a  
restatement of something else.

OTOH, if the sentence itself is meant to have the consequence that  
xml:base must not appear on <html>, <head> or <meta charset>, it  
would be good to state that consequence explicitly.

As for processing, exempting <base href> from xml:base processing and  
saying that <base href> establishes the base RFC 3986 base URI for  
the purposes of xml:base means that xml:base on <html>, <head> or  
<meta charset> is not disrupted by <base href>. Therefore, the  
consequence I speculated about in the previous paragraph seems  
excessive. (Even in the case of streaming processing, it would be  
feasible to defer xml:base computations until a conforming <base> has  
been seen.)

Henri Sivonen

Received on Tuesday, 9 October 2007 12:29:23 UTC