XML Schema 1.0 implementation

The command line option -vlax now invokes lax validation: that is, elements are validated if there is an element declaration available, and are not validated if there is no element declaration. This option is available on the commands com.saxonica.Transform, com.saxonica.Query, and com.saxonica.Validate.

The API for the classes Configuration and AugmentedSource has been changed to allow a validation mode of strict or lax to be requested.

The code for schema validation has been changed in Saxon 8.3 to make binding of references between schema components more robust. Component binding (or fixup) is now done in a separate phase of processing, before validation of the schema. The binding is always done at the last possible moment, allowing flexibility in the use of xs:import, xs:include, and xs:redefine.

The exception that is raised when a component contains an unresolved reference to another component (UnresolvedReferenceException) is now an unchecked exception. Once a schema has been fully validated, this exception should never occur. Because this exception is now unchecked, classes such as ValidSchemaType that were designed to mask this exception are no longer required and have been removed.