Saxonica.com
Further information
Articles written for Stylus Studio

Saxonica has a close working relationship with the Stylus Studio team: Stylus Studio is currently the only XML development environment to offer Saxon-SA as a standard feature. As part of this collaboration, we write a regular column for their web site. The following articles have been published to date:

W3C Specifications

The main W3C specifications implemented by Saxon are listed below. Each of these documents contains many links to additional documents.

For information on Saxon's conformance to these specifications, see:

Saxon on SourceForge

The open-source version of Saxon is hosted on SourceForge.

Published Papers and Articles

C24 White Paper: Using XQuery with Financial Messages. Before C24 was acquired by Iona, Saxonica collaborated with C24 to enable Saxon to be used as the query engine within the C24 Integration Objects product, now marketed as Iona Artex Data Services. This September 2006 paper describes how such an integration enables XQuery to be used to access non-XML data such as SWIFT financial messages.

Positional Grouping in XQuery. Published at the XIME-P 2006 XQuery workshop at the SIGMOD Conference in Chicago, this paper proposes an extension to XQuery to handle positional grouping problems, derived from experience with the xsl:for-each-group construct in XSLT 2.0

Using XSLT and XQuery for Life-Size Applications. This paper discusses the role of the XSLT 2.0 and XQuery 1.0 languages when it comes to writing real-life, sizeable applications for performing data transformations: especially factors such as error handling, debugging, performance, reuse and customization of code, relationships with XML Schema and other technologies such as XForms, and the use of pipeline-based application architectures.

Comparing XSLT and XQuery by Michael Kay. This paper was presented at XTech 2005 in Amsterdam. It compares XSLT and XQuery not just using a blow-by-blow feature comparison, but an assessment of the suitability of the languages for different tasks, and the kinds of users the two languages are aimed at.

Up-Conversion using XSLT 2.0 by Michael Kay. This paper was presented at XML 2004 in Washington DC. By means of a case study, it shows how some of the new features in XSLT 2.0 (notably the grouping instructions and the facilities for handling regular expressions) make XSLT 2.0 suitable for applications such as up-conversion (creating structured XML from unstructured input) that were quite infeasible in XSLT 1.0.

XSLT and XPath Optimization by Michael Kay. (.pdf format, 70kb) This paper presented at XML Europe 2004 in Amsterdam looked at the techniques used inside an XSLT processor (Saxon, of course!) to optimize performance. It described some of the techniques actually used in the Saxon processor, and surveyed other ideas coming from academia.

XML Five Years On (.pdf format, 144kb): a review of the achievements so far and the challenges ahead. Keynote address given by Michael Kay at the Document Engineering 2003 Conference in Grenoble, France.

XML & Co. - was bringt die Zukunft? Article in ComputerWoche (in German): XML begann als "SGML light" und sollte sich vor allem durch Einfachheit auszeichnen. Eine Reihe von Zusatzstandards erhöhten aber zwischenzeitlich die Komplexität beträchtlich. Während der Kernstandard weitgehend stabil bleibt, stehen in anderen Bereichen größere Änderungen bevor.

Saxon: Anatomy of an XSLT Processor by Michael Kay. This paper, although published as long ago as 2001, remains a frequently cited description of how XSLT processing in a product like Saxon actually works.

What kind of a language is XSLT? by Michael Kay. This paper, published at the same time as the one above, gives an overview of the capabilities of the XSLT language.

Reflections on open-source development. Some personal insights into the experience of undertaking open-source software development, in particular solo development as distinct from group development.

Demonstrations

In some of my tutorials and seminars I use a genealogy application to illustrate the features of XSLT 2.0. The files for this demonstration are available for download.

Books

XSLT Programmer's Reference 2nd edition by Michael Kay, published by Wrox Press. This book is widely recognized as the authoritative reference on the XSLT 1.0 language, second only to the W3C specification itself. It covers every feature of the language comprehensively, while at the same time explaining the concepts behind the language design, and giving many examples of practical stylesheets to illustrate each language feature.

XSLT 2.0 Programmer's Reference http://www.amazon.com/exec/obidos/ASIN/0764569090

XPath 2.0 Programmer's Reference http://www.amazon.com/exec/obidos/ASIN/0764569104

XSLT 2.0 and XPath 2.0 are twice the size of the 1.0 versions, so each language now has its own book. These two volumes represent a complete rewrite of the existing XSLT Programmer's Reference, giving comprehensive coverage of the new specifications, retaining all the features that made the existing volume so successful.

Also available:

XQuery from the Experts: A Guide to the W3C XML Query Language http://www.amazon.com/exec/obidos/ASIN/0321180607

Eight chapters by members of W3C's Query Working Group provide an overview of XQuery designed to be of interest to programmers at every skill level. Coverage ranges from strictly technical subjects to historical essays on the language's ancestry and the process behind XQuery's design. The book presents its material in both tutorial and reference form.

Michael Kay's chapter provides a high-level comparison of XQuery and XSLT, looking both at the differences between the two languages and at their similarities.

A quote from a reader's review: Chapter Three is especially helpful for understanding the similarities and differences between XQuery, XPath and XSLT. To really understand where XQuery fits, you must understand this interrelationship. Not only does Mr. Kay do a great job explaining that, he actually makes it fun to read.