W3C home > Mailing lists > Public > www-dom@w3.org > July to September 1997

Re: coping with overlapping elements in the DOM

From: Steven Ball <steve@cs.anu.edu.au>
Date: Thu, 07 Aug 1997 09:47:59 +1000
Message-Id: <199708062348.JAA03004@tcltk.anu.edu.au>
To: www-dom@w3.org
cc: steve@tcltk.anu.edu.au
> One of the big problems in trying to come up with a reasonable 
> specification for the DOM is trying to figure out how much we
> should do to cope with broken HTML documents. Obviously
> seriously broken documents will cause so many problems
> that we just don't want to get into, but there are some 
> classes of common mistakes that we can maybe allow.

I would vote for indicating an error to the user/author.  Borken HTML should
be fixed in the first case.

My browser copes with broken HTML like this:

> One of these classes of mistakes is overlapping elements, 
> of the form
> <P><B>This is <EM> not </B> a good idea</EM></P>
                         ^
                         |

At this point, you have an end tag which does not match the current element,
but that element's start tag is on the stack (this is a stack-based parser).
Close all open elements until the corresponding element is closed.  Extraneous
close tags are ignored.  Hence my solution would be equivalent to:

<P><B>This is <EM> not </EM></B> a good idea</P>

This method has the advantage of not requiring the parser to look ahead.

To an author who is testing their document, hopefully this strategy would 
reveal
that there is a problem with the document (because something they thought 
would be italicised isn't).

Hope that helps,
Steve Ball
Received on Wednesday, 6 August 1997 19:48:13 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:13:44 GMT