A Short History of XSLT, XPath, and Friends

Schematron relies on query languages to express its rules, so before we start discussing it, its versions, and its history, you have to understand some of the history of XSLT, XPath, and related. If you already know everything about these technologies, feel free to skip this section.

XSLT 1.0 and XPath 1.0 were developed by the W3C XSL Working Group to be, together with XSL-FO, a more powerful alternative to CSS stylesheets for formatting XML documents.

The definitions of these three recommendations is as follows:

XSL-FO (FO stands for Formatting Objects)

A presentation format usually generated by XSLT transformations.

XSLT

A general-purpose XML transformation language that operates on XML sources. It can be used to produce not only XSL-FO but any other XML format—even text or HTML.

XPath

A query language used by XSLT to access the different information items that compose XML documents. XPath was separated from the XSLT recommendation with the expectation that it would be useful—and used—by other specifications. So, XPath 1.0 is used in XPointer, W3C XML Schema, and of course, Schematron.

Warning

As you can imagine, XPath plays a very important role in Schematron schemas. This short cut does not include an introduction to XPath, and if you don't know it, you should learn its basics (you'll find a number of good tutorials and excellent books on the subject) before you can fully understand this article.

Because of the split between XSLT and XPath, ...

Get Schematron now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.