Re: Support Existing Content

On May 4, 2007, at 4:04 PM, Chris Wilson wrote:

> Before I respond to this thread, I want to clarify two things:
> 1) I'm not arguing for or against draconian error handling.  I  
> think it has a place (XML), I understand the drawbacks (Maciej laid  
> out the main ones quite well).
> 2) I have a tremendous amount of respect for Maciej, and the others  
> who've been espousing defining exhaustive error-handling behavior  
> in the spec.
>
> Maciej Stachowiak [mailto:mjs@apple.com] wrote:
>> The spec describes what to do with every possible stream of input
>> characters.
>
> This seems like an unimaginably arrogant statement to me.  (Now you  
> know why I said the above first.  :) )

OK, my statement was a little too strong, since there may be bugs  
where some cases were missed. But it is my belief that the spec  
algorithm is defined so that for every input character in every  
state, there is only one conforming action to take (or at most two --  
sometimes aborting on error is permitted instead, for use cases like  
conformance checkers). Assuming it does not have errors like  
forgetting to consider a possible input character in some state, or  
describing the action to take in an ambiguous way, I think my  
statement is largely correct.

Will you agree with me that it is possible in principle for a state  
machine model that defines an action for every character in every  
state to define a behavior for every possible stream of input  
characters? More so than for an EBNF grammar, at least?

Now, it may be there are some kinds of errors we wish to correct that  
the spec doesn't, and so it says the wrong thing. We'll hopefully  
find and fix those. But I think there are very few cases where it  
says nothing, and after close review there should be close to none.  
Checking whether some state missed coverage for a particular  
character is a pretty mechanical thing to verify.

Regards,
Maciej

Received on Saturday, 5 May 2007 00:18:10 UTC