Document Schema Definition Languages (DSDL) - Part 10: Validation
Management - Test Scenario
This document provides a test scenario that will be used to
create validation management scripts using a range of existing techniques,
including those used for program compilation, etc.
The steps required to validate our sample document are:
- Use ISO
19757-4 Namespace-based Validation Dispatching Language (NVDL) to split
out the parts of the document that are encoded using HTML, SVG and MathML
from the bulk of the document, whose tags are defined using a user-defined
set of markup tags.
- Validate
the HTML elements and attributes using the HTML 4.0 DTD (W3C XML DTD).
- Use
a set of Schematron rules stored in check-metadata.xml to ensure that the
metadata of the HTML elements defined using Dublin Core semantics conform
to the information in the document about the document's title and
subtitle, author, encoding type, etc.
- Validate
the SVG components of the file using the standard W3C schema provided in
the SVG 1.2 specification.
- Use
the Schematron rules defined in SVG-subset.xml to ensure that the SVG file
only uses those features of SVG that are valid for the particular SVG
viewer available to the system.
- Validate
the MathML components using the latest version of the MathML schema
(defined in RELAX-NG) to ensure that all maths
fragments are valid. The schema will make use the datatype definitions in
check-maths.xml to validate the contents of specific elements.
- Use
MathML-SVG.xslt to transform the MathML segments to displayable SVG and
replace each MathML fragment with its SVG equivalent.
- Use
the ISO 19757-8 Document Schema Renaming Language (DSRL) definitions in
convert-mynames.xml to convert the tags in the local nameset to the form
that can be used to validate the remaining part of the document using
docbook.dtd.
- Use
the IS0 19757-7 Character Repertoire Definition Language (CRDL) rules
defined in mycharacter-checks.xml to validate that the correct character
sets have been used for text identified as being Greek and Cyrillic.
- Convert
the Docbook tags to HTML so that they can be displayed in a web browser
using the docbook-html.xslt transformation rules.
Each validation script should allow the four streams
produced by step 1 to be run in parallel without requiring the other
validations to be carried out if there is an error in another stream. This
means that steps 2 and 3 should be carried out in parallel to steps 4 and 5,
and/or steps 6 and 7 and/or steps 8 and 9. After completion of step 10 the HTML
(both streams), and SVG (both streams) should be recombined to produce a single
stream that can fed to a web browser. The flow is illustrated in the following
diagram: