Re: issue #24 does an ixml processor have to match everything?

Dave Pawson writes:


>  If the input isn't a sentence in the given grammar.
> I understand that as an error.
>   I'm curious why (if?) you don't?

I won't speak for Norm, but there are specs which use the term "error"
to describe failures of conformance, with phrases like "If the input
does not satisfy clause x.y.z, it is an error" or "If a processor does
Bad-Thing-23, it is an error."

Failure of an ixml input string to be a sentence in the language defined
by the ixml input grammar is not a failure of conformance in the
processor, and not a failure of conformance in the grammar.  And since
we define conformance only for processors and for grammars, it is not a
failure of conformance of any kind.  In any spec which defines "error"
as a failure to meet conformance requirements, it therefore cannot be
described as an "error".

I don't think the ixml spec in its current form has any formal
definition of "error", but the habit of being careful about the term
dies hard.  In the XML Schema WG, it took a long time to get the
erroneous and self-contradictory uses of the term "error" out of the
spec (and we never did get them out of the mouths of some WG members).

In a particular application context or user context, it may be expected
and intended that the input should parse against the grammar, and in
that context people will indeed be inclined to speak of an error when
the input does not do so.  Their usage does not need to be our usage.
And if we do find ourselves wanting to use terms like "parsing error"
when describing the non-existence of a parse tree, we need to be careful
not to muddy the waters.

To put it another way:  normally, when there is an error, someone made
the error by doing something wrong:  something against the rules, or in
violation of binding instructions.  When I submit the input string "a"
and the input grammar "S = 'b'." to an ixml processor and get back the
result <no-parse>...</no-parse>, who did something wrong?  What rules
did that person violate?

If the rules violated are our rules, it makes sense for us to call it an
"error".  If they aren't our rules, then on what basis could we possibly
use that term?

Michael

-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Friday, 4 February 2022 13:52:38 UTC