An excellent and comprehensive description of XML. Very up to date. The author gives a clear summary of the history of XML and where the various portions stand. He is to be commended for having a colour diagram on the inside cover, summarising the many specifications that are part of XML or associated with it, like XPath, XLink, JDOM, JAXP, DOM. Affiliated with this is a large pull out colour chart, that gives the time line and status of the components. The book is near exhaustive in its description of these components. You would do well to constantly refer to these two diagrams.
Pin the chart above your computer!
This may sound trivial to some. But when you are digging your way through a detailed set of examples in the book, it really helps to have a schematic overview to place things in perspective. All the more so if you happen to be new to many of the topics. Even experienced users can benefit.
The book has a CD with full listings of the examples. A great time saver. Also, since the author did not provide problem sets, you can easily make up your own, based on the CD. For example, suppose you are looking at Chapter 8, "Parsing with the DOM". Take an example document and its DTD from the CD. Change the DTD to add more elements and attributes. Make some of these mandatory. Run the parser on the document and the DTD. You should get errors, as expected, because the document is missing some new required items. Understand the error messages. Then correct the document by adding instances of those items. Rerun the parser. Any errors? If not, then try adding more to the DTD and document. This will really help you learn. You can quickly build up documents of some nontrivial complexity.
Of course, you can, and should, do analogous things with the other chapters.
In terms of the reader's background (I'm talking to you): You can come from either a formal programming environment, or from a publishing/designer background. In both cases, you should already be well familiar with HTML. This is not a formal prerequisite, but a lot of things in the book really do come easier if you know HTML. The programming examples in the book are usually in java, but the author emphasises that XML is not a procedural programming language like java. Rather, it is a declarative language, where you make templates. In this sense, XML is closer to HTML than to java or C.
This book is worth your attention.