Introduction
This International Standard defines a set of Document Schema Definition Languages (DSDL) that can be used to specify one or more validation processes performed against Extensible Stylesheet Language (XML) or Standard Generalized Markup Language (SGML) documents. (XML is an application profile SGML ISO 8879:1986.)
A document model is an expression of the constraints to be placed on the structure and content of documents to be validated with the model. A number of technologies have been developed through various formal and informal consortia since the development of Document Type Definitions (DTDs) as part of ISO 8879, notably by the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS). A number of validation technologies are standardized in DSDL to complement those already available as standards or from industry.
To validate that a structured document conforms to specified constraints in structure and content relieves the potentially many applications acting on the document from having to duplicate the task of confirming that such requirements have been met. Historically, such tasks and expressions have been developed and utilized in isolation, without consideration of how the features and functionality available in other technologies might enhance validation objectives.
The main objective of this International Standard is to bring together different validation-related tasks and expressions to form a single extensible framework that allows technologies to work in series or in parallel to produce a single or a set of validation results. The extensibility of DSDL accommodates validation technologies not yet designed or specified.
In the past, different design and use criteria have led users to choose different validation technologies for different portions of their information. Bringing together information within a single XML document sometimes prevents existing document models from being used to validate sections of data. By providing an integrated suite of constraint description languages that can be applied to different subsets of a single XML document, this International Standard allows different validation technologies to be integrated under a well-defined validation policy.
The structure of this part of ISO/IEC 19757 is as follows.
Part 5 describes the syntax of an ISO Schematron schema.
Part 6 describes the semantics of a correct ISO Schematron schema; the semantics specify when a document is valid with respect to an ISO Schematron schema.
Part 7 describes conformance requirements for implementations of ISO Schematron validators.
Annex A is a normative annex providing the Part 2 (RELAX NG) schema for ISO Schematron.
Annex B is a normative annex providing the ISO Schematron schema for constraints in ISO Schematron that cannot be expressed by the schema of Annex A.
Annex C is a normative annex providing the default query language binding to XSLT.
Annex D is a non-normative annex providing a DTD and corresponding ISO Schematron schema for a simple XML language Schematron Validation Report Language.
Annex E is a non-normative annex providing motivating design requirements for ISO Schematron.
Annex F is a normative annex allowing certain Schematron elements to be used in external vocabularies.
Annex G is a non-normative annex with a simple example of a multi-lingual schema.
This part of ISO/IEC 19757 is based on the Schematron[1] assertion language. The
let
element is based on XCSL[2]. Other features arise from the half-dozen early Open Source implementations of Schematron in diverse programming languages and from discussions in electronic forums by Schematron users and implementers.