# Schema processing changes

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.

Expand | Up Next