Resource Directory (RDDL) for Schematron 1.5

This version: December 18, 2006

Latest Version

Editor:

NOTE: Schematron is now an ISO Standard . Schematron 1.5 users should consider moving over to Schematron 1.6 (which has variables and abstract patterns) in 2006 and to ISO Schematron (which has a different namespac) in 2007.

Overview

The Schematron is a language and toolkit for making assertions about patterns found in XML documents. It can be used as a friendly validation language and for automatically generating external annotation (links, RDF, perhaps Topic Maps). Because it uses paths rather than grammars, it can be used to assert many constraints that cannot be expressed by DTDs or XML Schemas.

Schematron 1.5 can be trivially implemented using XSLT in two stages.

A range of implementations are available for various situations:

Schematron can be used in any language for which there is an XSLT implementation available (e.g. FourThought's Python version of XSLT, Java, C++, Perl) and it is also possible to create a native implementation without using XSLT. Early versions were prototyped using OmniMark.

This document is a RDDL Resource Directory Description for Schematron 1.5, which is an XHTML document with special XLinks that locate various resources useful for Schematron, including schemas (Schematron, DTD, XML Schema).

Related Resources for Schematron

Schematron 1.5 specification

The Schematron 1.5 spec

Well known URI

The well known URI for Schematron is http://www.ascc.net/xml/schematron.

Root namespace URI

http://www.ascc.net/xml/schematron is the namespace of the root element of a schematron schema.

Schematron Home Page

The original home page for Schematron at Academia Sinica. This page has details of various implementations.

Schematron 1.5 Reference Implementation for XSLT

The reference implementation is a software project based around skeleton1-5.xsl. It has been tried on 12 different and the test results are available on that page, togther with API documentation and samples of .BAT files for running the code with various XSLT processors.

Various tools include an error browser and a validator for interactive debugging in editors.

Schematron 1.5 tools are still being ported from 1.3. Some implementations at the Sinica site are pre-1.5 (see below). These are should be fine for schemas that just use patterns, rules, asserts, reports and names.

Schematron 1.3 Reference Implementation for XSLT

Schematron 1.3 software project and earlier tools and schemas

Schematron 1.5 Schema for Schematron 1.5

A Schematron Schema for Schematron 1.5. If possible, please use your own local or cached copy.

XML Schema for Schematron 1.5

An XML Schema for Schematron 1.5. If possible, please use your own local or cached copy.

To help systems that do not understand RDDL, put the following attributes on the sch:schema element:

       xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
       xsi:schemaLocation="http://www.ascc.net/xml/schematron
          http://www.ascc.net/xml/schematron/schematron1-5.xsd" 

XML DTD for Schematron 1.5

A DTD for Schematron1.5. If possible, please use your own local or cached copy.

We do not recommend using the DTD except for document creation, because some implementations of XSLT do not handle relative file location correctly.

If you are not using namespace prefixes, put the following document type declaration at the top of your schema (after any XML declaration and stylesheet declaration):

<!DOCTYPE schema PUBLIC "http://www.ascc.net/xml/schematron"
   "http://www.ascc.net/xml/schematron/schematron1-5.dtd">

If you are using namespace prefixes, put the following document type declaration at the top of your schema (after any XML declaration and stylesheet declaration):

<!DOCTYPE sch:schema PUBLIC "http://www.ascc.net/xml/schematron"
   "http://www.ascc.net/xml/schematron/schematron1-5.dtd"
[
  <!ENTITY % sp "sch:">
]>

Guides, Tutorials and Articles