- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Fri, 04 Feb 2022 06:52:17 -0700
- To: Dave Pawson <dave.pawson@gmail.com>
- Cc: Norm Tovey-Walsh <norm@saxonica.com>, ixml <public-ixml@w3.org>
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