You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The spec can currently be read as defining several distinct kinds of result for the operation of an ixml processor. (This also arises in connection with test suites.)
The grammar conforms to the rules, and the input matches the grammar (more formally: is a sentence in the language defined by the grammar). Result: an XML representation of the parse tree.
The grammar conforms to the rules, and the input does not match the grammar ("the parse fails"). Result: an XML representation of the failure, with ixml:state="failed" on the root element.
The grammar does not conform to the rules.
Something else goes wrong (out of memory, ...)
In some cases, the grammar may be syntactically correct (it matches the grammar for grammars) but produce ill-formed output for some inputs: multiple same-named attributes on the same element, non-XML characters in the output, non-XML names on elements or attributes ... The spec is not clear on how to classify these situations, and discussion has made several options clear:
It is an error in the grammar. If processors are required to detect all non-conforming grammars (as they currently are), the processor ought to have detected that the grammar was non-conforming.
It is an error in the input, not in the grammar.
It is a special kind of error in the grammar, which the processor is required to detect only on inputs that reveal the error.
To make this a concrete issue suitable for discussion, perhaps it's best to make a specific proposal: The ixml spec should distinguish two kinds of errors in grammars: errors a processor is required to detect regardless of the input to be parsed, and errors which may remain undetected if the input does not exercise them. The distinction is analogous to that between static and dynamic errors in XSLT and XQuery (and other languages), but it is proposed that we find other terms to distinguish them in the ixml spec.
Should we make such a distinction?
What should the two classes of grammar error be called?
The text was updated successfully, but these errors were encountered:
On the call of 15 February we agreed in principle to distinguish these two classes of error and to allow processors to detect possible dynamic errors statically.
The spec can currently be read as defining several distinct kinds of result for the operation of an ixml processor. (This also arises in connection with test suites.)
ixml:state="failed"
on the root element.In some cases, the grammar may be syntactically correct (it matches the grammar for grammars) but produce ill-formed output for some inputs: multiple same-named attributes on the same element, non-XML characters in the output, non-XML names on elements or attributes ... The spec is not clear on how to classify these situations, and discussion has made several options clear:
To make this a concrete issue suitable for discussion, perhaps it's best to make a specific proposal: The ixml spec should distinguish two kinds of errors in grammars: errors a processor is required to detect regardless of the input to be parsed, and errors which may remain undetected if the input does not exercise them. The distinction is analogous to that between static and dynamic errors in XSLT and XQuery (and other languages), but it is proposed that we find other terms to distinguish them in the ixml spec.
Should we make such a distinction?
What should the two classes of grammar error be called?
The text was updated successfully, but these errors were encountered: