Mark Birbeck wrote:

Hi Anne,

  5. "XML parsing failed: syntax error (Line: 8, Character: 0)" in Opera;

That's interesting...does failing to parse properly necessarily have
to prevent rendering?

It's a well-formedness error and XML 1.0's draconian error handling clearly dictates that the parser must not continue normal processing. It doesn't prevent the application rendering the content up to the error, but does prevent the rest of it from being passed to the application and rendered.

IIRC, that was the behaviour of Opera 8.5, though it seems to have changed in 9.0. However, it still offers the user the choice to reparse it as HTML instead.

In Sidewinder we validate the XHTML against the XML schemas in one
thread, and do some processing on the document before passing it to a
renderer in another thread. (Current renderers are IE and Gecko.) This
means that you'll always see something. We did it this way for two
reasons; firstly, because most of the content that claims to be XHTML
is actually invalid, so there wouldn't be a lot to see!

Anne gave an example of a well-formedness error, yet you're talking about validation which are two different concepts. Validation errors aren't fatal and the parser is free to continue as normal.

In fact, much of the content claiming to be XHTML isn't even well formed, let alone valid, so how does Sidewider handle well-formedness errors?

And secondly, because we felt that the ability to know whether something was valid or invalid was most probably something that authors and developers wanted, but most likely means little to an end user.

That's true, but authors frequently fail to fix errors that aren't immediately obvious. Many authors only care what the user sees and if the effect of the error isn't immediately obvious to a normal user, it often remains unfixed.

--
Lachlan Hunt
http://lachy.id.au/

Reply via email to