[Originally written for the review column in .NET Developers Journal]

Written by Neil Bradley

Addison Wesley ISBN 0321136179 $39.99 Score: 6/10

It may seem strange to include a review of this purely XML related tome in the .NET Developer’s Journal, but when you consider that a good proportion of the .NET Framework and all of Office uses XML in one form or another to function, it isn’t really. What better way to start getting to grips with XML than to start with schemas and develop your own grammars for later use?

Matching the structure of the schema specification itself, The XML Schema Companion covers the definition of a document’s structure and the definition of custom data types in separate sections. It also throws in a discussion of DTDs and the XML Namespaces standard as further reference material at the end of the book. The first section of the book works through the elements of a schema in a top-down fashion introducing the idea of a document model and then starting with the root element of a schema doc on into the child elements and so on. Likewise, the second section starts with the root elements for schema type definitions and works its steady way through the elements and permutations you will encounter as you write. And it’s good. And it’s factually complete. But does it serve its reader well? Well not really.

Let’s get this straight. Most of the information on schemas you’re likely to need from day to day is contained in this book. It's just a pain extracting it. Most of the problem here lies in that the book has the rigid structure of a pure reference for schema developers but is written as a beginners guide for newcomers. It’s almost as if the author wrote a much larger book and then tried to condense it. At each step the facts presented are qualified with text and very short, tightly focussed examples pertaining to the one thing talked about. Complexities are passed on into the later chapters in the section and while you understand for the most part what the author is teaching at the time, what you don’t get is a sense of the whole. You’re left wondering where the bigger examples are that show all the pieces of the schema we’ve met so far in context with each other. Part beginner, part complete reference and really succeeding as neither, if this is to be a beginner book, let’s have more examples. If it’s a reference, let’s have all the facts in one place and less chatter.

The XML Schema Companion is author Neil Bradley’s fourth in this series and it shows. The structure of this book is solid, his writing is consistent and the subject matter is covered fully and well. The three just can't agree what the book is setting out to do is all. Ultimately, this is a useful desktop book for people already familiar with Schemas but there are better books both for beginners and for those who need a quick reference on this topic.

Buy this at Amazon UK