I would like to weigh in on the side of moderation: require the user
agent to alert the use that the parse was invalid, but don't require it
to throw away the rest of the data. Vendors will just ignore that rule
anyhow.
Error recovery in HTML is a product differentiator. No matter how much
they bitch moan and complain, nobody would ever unilaterally move to a
"validate or reject" model. And if they had started out with that model,
some product would just have removed the "rejection" part in the race to
be the most "flexible" and "user friendly" and the rest would have
inevitably followed.
And yes, having worked for technical support for a C++ vendor I can
confirm that many C++ compilers and libraries will allow you to do
things that are not supported by the C++ standard. Sometimes they will
issue a warning and sometimes not. The best we can realistically hope
for is to always get a warning.
Paul Prescod