[html5] Incremental rendering of XHTML5

Ian Hickson ian at hixie.ch
Tue Dec 13 13:53:47 PST 2011

On Fri, 12 Aug 2011, Jesper Tverskov wrote:
> I have not understood why an XML parser for webpages doesn't have the 
> potential of being faster than a HTML parser. Most HTML parsers are able 
> to repair the markup and to show something useful no matter how much 
> code is missing.

The basic answer is that it is no more expensive to correct such mistakes 
than it is to abort when you hit such mistakes. In fact in many cases it 
can be quicker to not look to see if there is a mistake, which can make 
HTML parsing actually quicker in theory in some cases.

An analogy:

An XML parser is like a car driven by someone who carefully checks that 
he's not going to drive into anything. If there's anything on the road, he 
stops and doesn't go any further.

An HTML parser, on the other hand, is like a car driven by someone who 
doesn't check to see if there's anything in the road, he just plows 
straight through.

When there's nothing on the road, the reckless HTML parser car can go 
faster than the careful XML parser car can. On the other hand, when 
there's something in the way (i.e. a markup error), the results are 
predictable with the XML car -- it stops. But with the HTML car, the 
results can be negligible (e.g. driving straight over a newspaper on the 
road, analogous to a minor syntax error), or they can be spectacular (e.g. 
driving into a big rock, analogous to a syntax error with noticeable error 
handling, like unexpected text in a <table>).

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

More information about the Help mailing list