
The XML Companion
ISBN: 0-201-34285-5
Author:
- Neil Bradley. Mr. Bradley has worked with SGML over 10 years and
now works with XML. He has designed editorial and deliver systems for
publishers in oil, aerospace, telecommunications, and patent industries. He is
a senior technical consultant for TTCG (Thomson Technology Consulting Group).
Bradley wrote The Concise SGML Companion as well.
Pages: 440
Intended Audience:
The XML Companion was written to serve the programmer, analyst, or
consultant that needs to understand the details of XML and how to implement XML
applications. This title builds on the formula that Bradley used in his
previous title, The Concise SGML Companion. Bradley presents an accessible,
in-depth reference to the XML standard as well as providing an extensive
glossary of terms and general tips and techniques for using XML.
NOTE: Although XML has similarities to both SGML and HTML, this
book assumes no prior knowledge of either standard. It is designed to serve
professionals who are starting from ground zero. Therefore, if you already are
conversant in SGML or HTML, you can feel free to skip sections that section.
Also, Bradley has included special "HTML Notes" and "SGML Notes"
that highlight the differences between XML and the respective related
languages.
Summary:
This book is divided into 4 sections. The first section focuses on the XML
Specification (Chapters 1 to 8). This section is intended to be read from
start to finish and will provide the reader with a background for XML, a syntax
overview, XML document markup principles, and entity usage. This section is
rich with diagrams and examples to provide a touchstone or the narrative.
Although the text is intended for those just starting with XML, it is clearly
targeted at a sophisticated, technical audience. Each XML construct that is
followed by a superscript number is linked to a structure chart in Chapter
18, Roadmaps. The structure charts are provided as an aid to steering the
user through the XML standard and the draft XLL standard. XML constructs are
linked through the same superscript number to its definition in the Glossary as
well.
The XML specification chapters clearly provide a concise introduction to
XML. I particularly liked how Bradley highlighted some of the details of the
standard that might escape many upon first reading. For example, Bradley
provides excellent examples of the use of the new "empty" tag syntax;
showing that it can be used for elements that are empty according to the DTD as
well as for elements that have no content in the instance. Explanations of the
rules of case sensitivity, mixed content, reserved attributes, and significant
spaces were excellent as well. The "SGML Notes" and "HTML Notes"
helped readers with an established background avoid the trap of making false
assumptions about XML based on their prior knowledge.
Bradley includes discussions of the concepts of two other XML specifications
that are currently W3C work items. These are XLL (linking) and XSL (style and
transformation). Although the exact syntax of XLL and XSL are likely to change
before these become W3C recommendations, the basic concepts and principles will
likely survive. These chapters give readers valuable insights into the "big
picture."
Working with XML (Chapters 9 to 12) provides readers with valuable
tips and techniques. The section provides the basics in developing software to
read and write XML. Discussions of API's and the Document Object Model (DOM)
are found in here. This section also provides background into advanced XML
topics such as architectural forms, modeling metadata, and the powerful concept
of namespaces. These chapters are highly technical, clearly designed for
programmers.
Related Standards (Chapters 13 to 16) provides readers with
information about additional standards that may be required as an XML
application is developed. A detailed discussion of character sets helps the
reader sort out ASCII, extended ASCII, and unicode. In this section the
versions of HTML are reviewed and SGML is discussed. Again, Bradley focuses on
the technical details which separate XML from these related standards. Finally
a concise discussion of Cascading Style Sheets (CSS) is presented. CSS will
soon be recognized by major browsers to provide style rendering of XML-coded
data. And used with XSL, CSS will provide even more powerful style application
capabilities.
Reference Material (Chapters 17-18 and Glossary) provides many
reference tables, charts, and definitions. This section provides details that
programmers will need on an ongoing basis. Superscript numbering scheme provides
links from the reference section back to discussions and explanations earlier in
the text.
I found the XML Companion to be just that. It provides an
excellent, but concise, introduction to XML. It provides more technical
discussions for those that will be writing XML processors. I particularly like
the way Neil Bradley points out details of the standard that remain mysterious
to many, the way that he relates XML to prior knowledge of other standards, and
the way he provides a complete picture through numerous diagrams, examples, and
explanations of related standards. This book is a must for your XML library!