TechBookReport logo

Keywords: XML, CSS, XPath, XSL, SAX, DOM, Java, Perl

Title: Learning XML

Author: Erik T. Ray

Publisher: O'Reilly

ISBN: 0596004206

Media: Book

Level: Introductory

Verdict: Highly recommended general introduction to XML

There are few developers who can afford not to know XML. The days when this was an exotic technology are long gone and it's about as ubiquitous as a technology gets - from office document formats to manifest files to web pages, XML is everywhere. This new edition of Learning XML, by Erik T. Ray, is a fine introduction to the subject. Aimed at the beginner, it seeks to take the reader from the absolute basics of markup right through to discussion of XSLT, XSL-FO, Internationalisation and a brief introduction to programming.

After a quick introduction, the book sets the scene very effectively by introducing the building blocks: tags, documents, elements, entities and so on. This a solid introduction that doesn't get too bogged down in over-complicating what should be, at heart, a simple set of principles. This is followed by a look at XML in action, from very simple documents to more complex data and meta-data. All of the examples are well-chosen and add to the clarity of the text.

The chapter on quality control looks at DTDs and Schemas, (this being an area that has been expanded in this edition). Again the examples and the text are very clear and easy to follow. For a beginner this is an area that can seem very difficult, but Ray does a fine job in explaining the concepts and how they are used in practise. He also makes no bones about his preference for the RELAX NG schema over the W3C schema and Schematron, putting forward a string argument in favour of the simplicity of RELAX NG over the complexity of the alternatives.

The chapter on CSS is also extremely useful, particularly if your primary use of XML is likely to be in XHTML. The advantages of CSS are explained and, just as importantly, the disadvantages. The subject of presentation is picked up again in a later chapter that looks at XSL-FO.

XPath and XPointer are discussed in some detail, particularly the use of XPath expressions. XSLT also gets a chapter to itself, bringing together concepts defined in previous chapters. Internationalisation looks at the thorny issues of character sets, Unicode and so on.

Finally, there is a brief introduction to programming which looks at the key XML APIs: SAX and DOM. The discussion of SAX is illustrated using some Java code, while DOM is programmed using Perl code. There are pointers to other APIs and languages of course,, but this is a very brief introduction to a much broader subject. (Anybody specifically interested in XML programming from a Java perspective is urged to look at Elliotte Rusty Harold's Processing XML with Java).

The book concludes with a very handy glossary, pointers to further resources and a quick run-down of a whole slew of standards (from DocBook through to SVL to MathML and more).

Overall this is an excellent, and concise, introduction to the subject of XML. If you're looking for an introductory title to help you on your way then this is highly recommended.

Hit the 'back' key in your browser to return to subject index page

Return to home page