I would definitely recommend this book to programmers wanting to get to grips with XML
After browsing through several books claiming to introduce the reader to XML, this one seemed to stand out and say 'try me.' As you would expect from this publisher, the text is pleasantly presented in a way that makes it comfortable to read. I settled down to read it on a three-hour coach journey to visit my aging parents (the relevance of this is that, like reading in the bath, I had few resources other than my eyes with which to understand what the author was writing about.)
Chapter one covers the required history and general background. The origins of XML (like so many things that are considered inventions of the 1990s) lie back in the 1960s with GML (Generalised Markup Language developed by Goldfarb, Moshie and Lorie for IBM - Hofstadter would have loved that) As often happens, we went from a relatively simple but under specified system, GML through a highly elaborate (to the extent of being only usable by experts) one, SGML to a greatly cleaned up one, XML.
Chapter two gives you the basics of XML, with sensible forward references for everything off the main path. By the end of that chapter you will have a fair idea about how XML works. In the subsequent chapters you will learn about connecting resources, presentation, document models, transformation, internationalisation, and programming for XML.
What I particularly appreciate is the way the author uses practical examples (oh, and read some of the text in these, it can be hilarious) and then uses an endnote style commentary to highlight the important elements. I find this much better than the style of perverting the commenting facility of a language. For example, in chapter 5,Document Models A Higher Level of Control he uses the 'Barebones DocBook' DTD as his final consolidating example of DTDs.
The book concludes with two useful appendices. In the first of these, the author covers a number of resources (books, websites etc.) that readers may find useful. The second appendix covers a number of standards and potential standards relating to XML.
The approach in this book works well with the way I like to read to learn. I would definitely recommend this book to programmers wanting to get to grips with XML.