Get the book: XML in a Nutshell, 3rd Edition by Elliotte Rusty Harold and W. Scott Means (paperback) (paid link)

XML in a Nutshell, 3rd Edition is a substantial desk reference for understanding XML and looking up the rules behind a document or program. Published in 2004, it remains useful for foundations and inherited systems. Read it alongside the specifications and documentation for the language versions your tools actually support.
What “in a Nutshell” means on a technical bookshelf
O’Reilly’s Nutshell series is built around a recurring need: understanding a technology well enough to work with it, then finding a precise detail quickly. Tim O’Reilly’s 1997 explanation of the series describes compact, information-rich references whose introductory material provides the context for repeated lookup. The organizing idea is density and usefulness at the keyboard.
That approach connects XML in a Nutshell with books such as Java in a Nutshell, Perl in a Nutshell, and Webmaster in a Nutshell. The subjects differ, but the promise is similar: a coherent map of the topic, followed by details arranged for return visits. O’Reilly’s description of Perl in a Nutshell, for example, emphasizes both a guide to the language’s ecosystem and a reference for everyday work.
For the reader, this suggests a useful habit. Read enough explanation to understand the concepts, bookmark the reference sections you use, and return with a specific question. A cover-to-cover reading is one option; repeated consultation is central to the format. The series name alone also says little about a book’s age: check the edition and publication date for each title.
The third edition at a glance
O’Reilly’s third-edition catalog identifies the authors as Elliotte Rusty Harold and W. Scott Means, gives a publication date of September 2004, and lists 712 pages in English. Harold’s companion page confirms the print ISBN-10 0596007647 and provides a contents list, examples, an index, and corrections.
The book covers XML syntax, well-formedness, namespaces, character encoding, DTDs, XML Schema, document transformation, and programming interfaces. Its third-edition changes include XML 1.1, XInclude, and updated DOM Level 3 and SAX coverage. These are edition-specific additions to a 2004 reference.
The paperback product link above leads to the third-edition listing. When selecting a format or seller, confirm the edition and binding in the selected offer. The print ISBN-10 is a useful cross-check; digital formats can have different identifiers. A library copy is also a practical way to see whether the reference style suits your work.
Use the chapter map to answer a real question
The following reading routes are based on the author’s contents list. Begin with the explanatory chapter, then use the corresponding reference when you need exact syntax.
| Your task | Start here | What to take back to the project |
|---|---|---|
| Understand a file or parser error | Chapters 2–5: fundamentals, DTDs, namespaces, internationalization | Separate a syntax problem from a naming, encoding, or validation problem. |
| Select content and transform it | Chapters 8–9, then the XPath and XSLT references in 23–24 | Identify the source nodes, selection expression, and output rule. |
| Describe allowable document structure | Chapter 17 and the schemas reference in 22 | Write down which elements, attributes, and values your vocabulary permits. |
| Maintain XML processing code | Chapters 18–20, then the DOM and SAX references in 25–26 | Understand whether the program navigates a tree or handles parsing events. |
If you are starting from scratch, work through Yenra’s small XML learning project first. Its input files and observable output give the book’s terms something concrete to attach to. For a quick reminder while reading, the XML FAQ covers common syntax and namespace questions.
Pair the reference with today’s specifications
The edition’s age matters most when you move beyond its XPath and XSLT 1.0-era treatment. W3C’s XPath 3.1 Recommendation includes features such as maps and arrays; the XSLT 3.0 Recommendation covers a much later transformation language. Use those documents and your processor’s manual for the features of those versions.
Language development continues through the XQuery and XSLT Extensions Community Group (QT4CG). Its 4.0 work should be read with the status attached to each document; for example, the XSLT 4.0 document is a Community Group working draft as of this guide’s October 2026 update. A draft, a published Recommendation, and a processor’s implementation support are three separate things to check.
Use the author’s third-edition errata when an example or detail looks wrong. For broader reading choices, see XML Books; for people discussing present-day tools and language work, see the XML community and conferences guide.