<< 1 >>
Rating: Summary: From beginning to the end, XML Schema is explained Review: Neil Bradley in his fourth book tells you everything you would ever want to know about XML Schemas or better knows as XSD for XML Schema Definition. With the popularity that various XML technologies are attracting these days, every developer, architect and designer needs to know what XML Schema is and how it used. This topic is covered in many other books, but Bradley's book has by far the most extensive, comprehensive and thorough coverage of the topic. It shows that author truly understand the topic at hand, and can convey the message clearly to the reader. The organization of the book starts with the author explaining how the XML Schema standard defines a template that documents created based on that template must conform to, followed by showing the reader how to define reusable data blocks based on the XML Schema language, and it finishes with XML Schema related topic such as namespaces and a rather complete overview what's out there and where to get more information.
Schemas are in a whole different category all by themselves. Every XML document, standard, protocol - basically anything that has anything to do with XML needs to use or to interact with XML Schema in one or another. XML Schemas are used to model both data and narrative XML documents, which means that if you are ever planning on interacting with XML, you better understand XML schemas. I thought that this topic will be very easy, and there is nothing to it... I was wrong. There is a whole lot to cover and once you read Bradley's book you'll know what I am talking about. The standard for schemas is so extensive, that the first few chapters of his book are spent on what the different terminologies mean and how they interrelate. For example, the difference between narrative data (data where the sequence of events and representation matters greatly) and datacenteric documents (order of presenting the data does not matter), and the difference between the schema definition author (the person who creates the schemas) versus the document instance author (people who create well-formed documents) and many others alike. After talking about the basics, the author spends a great deal of time explaining the various components of the XML schema such as elements, attributes, simple data type, complex data types, etc... Understanding these topics is essential in reading the following chapters of the book.
The author uses the same examples throughout the end, so the reader can follow the text and actually understand the topic while the author is presenting it. The code samples are just great. Since the topic is rather abstract, the author had spent a great deal of time using examples to demonstrate the topic at hand better. There were times that I read the example first, and then I went back to read the text, because the visualization is the key in this topic. As with any programming or technical book, the topic and examples start simple and they get much harder as you read the book. The same goes with this book, but the interesting thing is that if you don't know enough about namespaces, the author sends you off to one of the accompanying chapters to read to get ready. The chances are that you don't know enough about namespaces, and the "reference" topics included towards the end of the book become very valuable as you read this book. I thought that I knew namespaces rather well until I read the following:
"... namespaces do not exist as physical entities. There is no namespace definition markup language and no namespace file, object, or interface. ... namespaces are just a concept. This fact alone has led to much unnecessary confusion..."
In all the books and all the articles and the press and ... that I have read on XML, this little but rather important concept was left out. In one chapter the author has shed more light on a topic of namespaces than an entire book that one would find on the topic. The moral of the story is to read this book cover-to-cover. Even if you think you know it all, still spend the time to read this book. I was amazed at how complicated XML Schemas could get and how powerful they really are.
Some of the advanced topics covered include inheritance and pattern recognition. Both topics are very well explained and covered well. If you know regular expression from Perl, then pattern recognition in schema world would look very familiar to you. The same regular expression rules that are covered in Perl, govern the patterns matching in XML Schemas. What the author adds is concrete examples of how this technique can be used to build powerful schemas. Inheritance is another interesting topic in schemas, as inheritance has made XML schemas very object oriented. Some of your favorite concepts in Java map directly into schemas, and the author actually made table cross referencing the various "key phrases" in Java versus XML Schemas. If you are coming from the OO world of C++ or Java, take a look at this table first. If you are at all familiar with the Eiffel language, you would have a greater appreciation for some of the features of XML Schemas such as the ability to redefine an element or to extend specific parts of a schema.
In closing, if you think you know XML Schema's, think again. This book covers the topic in detail and does so very well. I would recommend this book to be read by any schema designer or a valuable reference for anyone interface with any XML technology.
Rating: Summary: Solid reference work Review: This is a solid reference work on XML Schema. I wouldn't go looking to it for advice on how to solve particular problems with XML Schema. But if you are looking for a quick reference guide that covers all of the syntax with annotated examples then you have come to the right place. The graphics, which are light-weight and to the point help to illustrate the key points.Two minor complaints are that the structure of the book is odd (chapters at the end of the book which are clearly appendices are structured as chapters), and the index is also a little short. On the positive note, XML schema is not a particularly exciting topic and Neil's tone keeps it a light and interesting read. So far this is the best book I have read on the subject.
Rating: Summary: Namespaces are the key concept Review: You probably know that XML is descended from SGML, and it thus inherited DTDs, which were then the only means of specifying a document model. That proved adequate for SGML, but its limitations soon became clear in XML. Several alternatives were proposed, but XML Schema seems to be winning. Thus Bradley has delivered a timely exposition. He covers all the features clearly. A brief mention is made of its competitors, Relax NG and Schematron. But they do seem to be fading fast. The most interesting part of Bradley's text are the chapters on namespaces. Other aspects of Schema are lower level and, while useful, are frankly mundane. By contrast, namespaces are the critical feature of Schema. They let you build on pre-existing schemas that have been published on the web. And you can publish your schemas so that others might benefit. You and those in your field or industry can cooperatively derive a net gain by agreeing and publishing standard definitions. A Network effect. I assume that you are familiar with HTML. In that, the crucial element are the hyperlinks (the href and src attributes in certain tags). It is these that put the "H" in HTML. Without them, HTML just becomes a limited page markup language. It is that ability to link to arbitrary locations on the Internet which produced the Web. Likewise, in the much heralded Web Services, these exchange data via XML. Which in turn depends on XML Schema to build consistent hyperlinked semantics. You should read Bradley's chapters on namespaces thoroughly.
<< 1 >>
|