Re: Conformance in XML processors

Michael Kay (M.H.Kay@eng.icl.co.uk)
Tue, 20 Jan 1998 11:14:58 -0000


Eve Maler wrote:
>I'm struck by the persistence of the usage of "well-formed processor" in
>this forum. (I realize David is merely quoting the familiar form for those
>who think of it this way...) Obviously, it's not very comfortable to name
>something (a "non-validating XML processor") by the *absence* of a
behavior.
>
>Would it make sense to work the terminology as follows, for clarity's sake?
>
>o XML processor (or XML parser): A software component that parses and
>checks for well-formedness. The minimum of what a "non-validating XML
>processor" is supposed to do today.
>
>o XML validator: A software component that checks only for validity, using
>input from an XML processor. What a "validating XML processor" is supposed
>to do today.
>
Given that there are three kinds of document:
- incorrect (E)
- well-formed but invalid (W)
- well-formed and valid (V)

I can identify at least the following kinds of program:
- accepts all W and V, rejects all E ("XML syntax parser")
- accepts all V, rejects all E and W ("XML validating parser")
- accepts all W and V, rejects some E ("liberal XML syntax parser")
- accepts all V, rejects some E and W ("liberal XML validating parser")
- accepts some W and V but rejects others ("subset XML parser")

A useful subcategory of "subset XML parser" is one that accepts all W and/or
V documents
that use a particular DTD (and has undefined behaviour on those that do
not).
We could call this an "XML application".

Mike Kay