Author: Mike McGrath
Publisher: In Easy Steps, 2007
Aimed at: The complete beginner
Pros: Deals with XML core technologies
Cons: No real explanation of what you might use XML for.
Reviewed by: David Conrad
This is a slim book on XML as a technology in its own right - which is an unusual approach and probably isn't very useful.
It starts off with a basic introduction to creating XML files with helpful discussions of tags and attributes. Then come chapters on creating DTD and XSD schemas - something that you are only likely to do if you think up a new use for XML. Most users of XML have the actual format in use forced upon them and if any validation is needed a schema is provided. So while creating schemas is logically the very next topic after creating XML files it isn't always the thing you most want to do next. What is worse is that schema creation is much more difficult than other topics and if you find this part of the book is stopping you getting to later chapters simply skip schema creation and come back to it when you have to do the job.
After this we have XML namespaces, XSL style sheets and XPath - all core XML technologies. If you want to find out how XML works without too much reference to what it is used for then this is a fairly painless way of doing it.
The remainder of the book covers SVG and scripting XML using the XML DOM and Ajax. I'm not at all sure why these have been included when other important topics such as the new XML document formats have been left out, but they are well explained and if you want to know about them, useful.
The main problem with this book is that XML isn't a technology that has much obvious usefulness in isolation - it is always used with some other technology. As a result you might well be left wondering what XML is for and how it can be used in your projects. In most cases the answer is that, unless you are a programmer, you are probably not going to invent a new use of XML and you certainly aren't going to implement one - so there isn't a lot of point in mastering it at this level.
If you are a programmer then you will probably find the pace just too slow and the depth just too shallow.