||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: XML, XSLT, XPath, Java, C#
Title: Learning XSLT
Author: Michael Fitzgerald
Level: Introductory XML and XSLT
In 'Learning XSLT' Michael Fitzgerald provides a complete introduction to XML transformations using XSLT and XPath. Using a very practical approach and focussing on plenty of clear examples, the book succeeds in showing developers how XSLT can be used to repurpose XML content in all kinds of flexible and inventive ways.
It has to be admitted that XSLT is not the most intuitive language in the world. At first sight it seems difficult to follow, particularly compared with a 'proper' programming language like Java, Python, Perl or C#. The template-driven approach takes some getting used to, even for those developers used to using CSS. In some respects this is evident in the second chapter of this book, 'Building New Documents With XSLT'. The author runs through a number of examples in fairly quick succession, and at times it all seems incredibly complicated.
However, things become much clearer very quickly. The following chapters each focus on one aspect of the subject, whether it's controlling output formats, tree traversal, copying nodes or sorting. Each chapter is built around one or two sample XML files which are operated on in various ways. This approach works very well as the example XML files are generally complex enough to be worth using and yet not so simple as to be trivial. Typical examples are lists of European countries, states of Canada and so on.
The text is generally very good, with clear explanations adding to the good examples. The book also makes extensive use of open-source tools, particularly Xalan and Saxon, and there is no particular emphasis on one platform or browser (with Internet Explorer, Mozilla, Firebird and Netscape Navigator all used at one point or another).
In addition to the core topics of XSLT and XPath, the author doesn't neglect the future, with a chapter on XSLT extensions and another on XSLT 2.0 and XPath 2.0. Finally, there is even a chapter on writing an XSLT Processor Interface, with an example in Java and another in C#.
XSLT is a useful tool in the armoury of every developer, and if you are looking for a solid introduction that takes a hands-on approach then this is highly recommended.