Usability

Usability is measured primarily by the quality of the error messages. This is not yet as good as the Java validator. Here is the validation report produced for the invalid booklist document supplied earlier:

<vr:validation-report xmlns:vr="http://saxon.sf.net/ns/validation">
    <vr:error path="/Q{}books[1]/Q{}book[1]/Q{}date[1]">Element date is not allowed 
    here</vr:error>
    <vr:error path="/Q{}books[1]/Q{}book[2]/Q{}author[1]">Element author is not 
    allowed here</vr:error>
    <vr:error path="/Q{}books[1]/Q{}book[2]"> must satisfy assertion 
                            if (publisher eq 'McGraw Hill') 
                            then starts-with(@isbn, '007') 
                            else if (publisher eq 'Academic Press') 
                            then starts-with(@isbn, '012') else true()</vr:error>
</vr:validation-report>

In comparison with the report produced by the Java validator, we see:

So there is some work still to be done to get the usability up to the level of the existing validator.