Review: “XML, HTML, XHTML Magic” by Molly E. Holzschlag

I’m not sure who Molly Holzschlag and her contributors were targeting in her book “XML, HTML, XHTML Magic”. In the introduction it says that the reader will be “working on the web professionally or … interested in doing so”. If she means that the reader will be a professional web developer, then this book missed the mark. And it would not be on my list of recommended reading for someone “interested in doing so”. In any case someone who does web development for a living and someone “interested in doing so” are not necessarily going to have the same priorities or interests.

A good start…

Initially I had hoped that this slim volume (less than 230 pages) would be one of those rare gems - a thin but useful computer manual. And the first chapter - a concise, no-nonsense tutorial on XHTML and CSS - is a good start. However it does not last.

The remainder of the book consists of a number of rather contrived case studies, where the real “magic” is hidden between pages of step-by-step instructions for writing HTML code. Much more space could have been given to the “magic” if the authors had simply printed their source code and explained it, rather than tediously going through a “do this, now do this, now do this” routine in every chapter. This approach gets very tiresome very quickly. It gives the impression that the writers didn’t actually have much “magic” to reveal, so just settled for another HTML how-to book.

Tables for layout? How “last millenium”!

A number of chapters promote the use of tables for page formatting - this is quite disappointing in a book printed in 2002, when CSS has advanced to a point where quite complex and reliable layouts can be done without abusing tables. Web professionals should be (and are) more interested in new CSS techniques rather than the same old tricks that have been used since the middle of the last decade. And we should not be teaching these old bad habits to people new to the web scene.

Update (2005)

In a more recent entry over at A List Apart, Molly says in part:

For those of us coming out of years of table-based layouts, the challenge is an especially difficult one. For many veteran web designers, changing the way we think about presenting our content without tables means shifting out of the underlying system we used for so long. For some, this comes easily, but for the vast majority of us, it’s difficult to make the leap. Part of the answer lies in educating ourselves about the way CSS and browser models work, but part of the answer lies in being willing to leave conventions behind.

It sounds like Molly was a bit behind the eight-ball CSS-wise when this book went to press in 2002.


The treatment of installing software (such as Apache, PHP, and MySQL) is laughably shallow and inadequate. Far better to leave it out than to give it such poor coverage.

There are some gems, such as how to setup a separate style sheet for printing, which are all too brief and buried in the padding and waffle. But sadly the “magic” of the title is all too often saved for the “More Magic” section of each chapter - where the reader is usually directed off to other web sites for more information.

Sad to say…

The editing and layout show little imagination, with every chapter being hammered into the same template as the others. But despite appearances, the quality of writing between the six contributors is erratically variable (something that Wrox Press seems able to iron out in books four or five times the length with a similar number of contributors).

Sadly “XML, HTML, XHTML Magic” does not live up to the rave reviews on the back cover (including one by Jeffrey Zeldman, who should know better). No amount of grafting XHTML onto this text can change what it is - a bog-standard HTML how-to tutorial, and not a particularly inspired one at that. Even the venerable “Definitive Guide” from O’Reilly is still of far more value than this one.

The Verdict?

Give it a miss.

XML, HTML, XHTML Magic.
Molly E. Holzschlag.
Copyright © 2002 New Riders Publishing.