1. The XMLmind Validation Toolset distribution

This distribution contains the validation engines which are integrated in XMLmind XML Editor (XXE). These engines have been made available to schema authors in the form of four command-line tools:

xsdvalid

Checks a W3C XML schema for validity. Checks one or more XML documents for validity against a W3C XML schema.

dtdvalid

Checks a DTD for validity. Checks one or more XML documents for validity against a DTD.

rngvalid

Checks a RELAX NG schema for validity. Checks one or more XML documents for validity against a RELAX NG schema.

schvalid

Checks an ISO Schematron schema for validity. Checks one or more XML documents for validity against a schematron (ISO or 1.5).

1.1. About xsdvalid

Features:

  • Fully implements W3C XML Schema Validation Rules.

  • Implements the vast majority of Schema Component Constraint and Schema Representation Constraint. (Implementation limits are documented.)

  • DTD and XML Schema support is provided by the same engine. In fact, the grammar part of a DTD (element, attribute and notation declarations) is loaded into the engine as if it was a schema.

  • Once validated, a schema or a DTD can be serialized as a binary file for much faster reloading by XML document (instance) validation sessions.

Limitations:

  • Does not support anything related to Schema Information Set Contribution.

  • This engine is designed to be an interactive, incremental validator and not a streaming one. Therefore, it needs to load the entire XML document into memory before attempting to perform validation.

  • xsdvalid, our W3C XML Schema validator, is a much better instance validator than a schema validator. As a schema validator, it is clearly too lenient and its error messages could be more detailed. However, it is still useful:

    • to quickly evaluate XMLmind XML Editor: if xsdvalid rejects your schema, you'd better pick another XML editor;

    • to get a second or third advice about the validity of your schema (given the complexity of the W3C recommendation, we recommend to check your schema using 2 or 3 different validators).