[whatwg] [html5] tags, elements and generated DOM

Ian Hickson ian at hixie.ch
Thu Feb 23 18:34:00 PST 2006

On Wed, 6 Apr 2005, Lachlan Hunt wrote:
> Ian Hickson wrote:
> > On Wed, 6 Apr 2005, Lachlan Hunt wrote:
> > > > The <body> will always be implied, though.
> > > 
> > > Not in a conforming SGML parser...
> > 
> > Yeah, I meant in browsers, not per SGML.
> Ok, fair enough.  But can you explain why Opera doesn't when in 
> standards-compliant mode, as I explained in my previous e-mail.  Is it a 
> bug or intentional?


> > According to the HTML spec, the handling of the above is completely 
> > undefined since it is invalid. (Note that something being invalid or 
> > non-conformant does _not_ make the rendering undefined in most cases 
> > in Web Apps 1 / HTML5. That's one of the main things I'm making sure 
> > of.)
> Ok, if the spec is going to address this, then I think it should say something
> like:
>   "If a required element with an optional start-tag is entirely missing
>    from the document, a user agent *may* imply it and include it within
>    the DOM.  Missing elements with required start-tags *must not* be
>    automatically implied.

It's been defined much more explicitly. Let me know if the current text 
doesn't satisfy you.

>   "Note: It is common for existing user agents to automatically imply
>    both the head and body elements, even when those sections are omitted
>    entirely from the document markup."

I haven't included this. Do you think I should?

> I used "may", because if "must" or "should" were used instead, it may 
> conflict with anything the SGML spec says on the matter and it would 
> make OpenSP, and thus the validator, non-conformant.  I would stick with 
> "may" because, as I showed previously, existing UAs don't do the same 
> for <tbody>.

OpenSP and the validator are already non-conformant to HTML5 for many 
other reasons unrelated to parsing (e.g. they don't do attribute value 
conformance checking).

> I included the part about start-tags because elements like <li> (which 
> require a start-tag) do not be implied by existing UAs when they are 
> missing.

Indeed. This is all fully defined by HTML5 now.

> Also, while on the topic of handling invalid documents, is this spec 
> going to attempt to address the <x><y></x></y> problem?

Yes, that is covered and fully defined too, using a variation of what 
Mozilla and Safari do as the basis for the specification.

> > > Opera and OpenSP correctly don't imply the missing head element.
> > 
> > I'm not sure what you mean by "correctly" here
> Well, I read somewhere that OpenSP is "the reference implementation" of 
> SGML, so I assumed that means what it does is correct.

So what if the spec and the implementation disagree? :-)

> > since an HTML4 document without a <title> is invalid and thus parsing 
> > is undefined in HTML4.
> Is it not defined by SGML either?  I really must get a copy of 
> Goldfarb's SGML Handbook later and check for sure.

Not as far as I recall, certainly.

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

More information about the whatwg mailing list