
XML for Dummies
ISBN: 0-7645-0360-X
Authors:
- Ed Tittel. Ed Tittle is the coauthor of numerous books about
networking and the Web. He was a co-author of HTML for Dummies and The
Hip Pocket Guide to HTML. Tittle has been a regular contributor to the
trade press since 1987 and has written over 300 articles for publications
including ComputerWorld, InfoWorld, and NetGuide.
- Norbert Mikula. Norbert Mikula is a graduate of Applied Computer
Science at the University of Klagenfurt in Austria. Currently Mikula is a
Senior On-Line Information Architect with DataChannel in Bellevue, Washington.
He represents DataChannel in various W3C working groups. He is the author of
DXP (DataChannel XML Parser).
- Ramesh Chandak. Ramesh Chandak is a graduate with a Fellowship in
Advanced Engineering Study from MIT. He has worked extensively with the
Intranet. He has authored 11 books and served as technical editor for another
13 titles.
Pages: 377
Intended Audience:
XML for Dummies, like all books in the "Dummies" series is
designed to be an entry-level explanation for those new to XML as well as
serving as a "reference for the rest of us". Like the other books in
the "Dummies" series, the book uses easy-to-understand language,
clever titles and captions (some call it "fluff") and includes clever
cartoons from the 5th Wave by Rich Tennant to illustrate key points. My
favorite cartoon pokes fun at our love of acronyms. It shows a speaker at a
retirement party saying "Here at
MIC, leaders in OEM, it's SOP to wish a happy retirement
to a great MIS like Douglas U. Hodges, or DUH as we have come to
know him." In a world where XML, XSL, CDF, RDF, ICE and even SMIL are
part of our everyday vocabulary, this cartoon holds "special" meaning
for those of us who just struggle to keep up with the times. XML for
Dummies is a true "Dummies" book.
NOTE: If you are looking for a more conventional technical
treatment of the subject and are put off by the "Dummies" style, this
book is not for you. Perhaps a book from the Goldfarb XML Series might be more
to your liking.
The assumptions made for this book are important to understanding both the
tone and the presentation of XML content. The assumptions made when XML for
Dummies was written include:
- You can turn your computer on and off
- You know how to use a mouse and a keyboard
- You are already familiar with HTML and the Web
- You understand a Web browser, Web server, and you know what a plug-in is
and when to use it
- You want to build your own XML documents
Summary:
XML for Dummies has clearly stated goals and the content is
structured to meet these goals:
- Provide an overview of XML's capabilities and terminology
- Provide a comparison of XML with HTML and SGML
- Provide an overview of the XML Standard
- Provide an overview of how to design and build an XML Document
- Provide a review of special-purpose XML tag sets to support such things as
resource definition, chemical and mathematical notations, and push delivery
Now, if you come from a strong SGML background, you may think that XML
for Dummies is too simple and will not be a useful addition to your library.
After all XML is a simple dialect of SGML. Actually, in addition to providing
a good foundation in XML for the beginner, I found many chapters which I think
will be quite valuable to even those experienced in SGML.
The book begins with a bit of history and by covering the basics. One must
remember that the assumption in writing this text is a basic knowledge of HTML,
not SGML. SGML is explained for this audience in very simplistic terms. SGML
people may take exception to some of the simplifications which were made. But
on the whole, if I put myself in the shoes of someone who only knows HTML
tagging, I found the brief description of SGML to be quite understandable.
Chapter 4, "A Blueprint for Extensibility: The XML Spec," is
interesting and quite useful. In this chapter, the authors teach us to read the
XML specification rather than simply rehashing the contents of the specification
as many other texts do. Perhaps the most useful part of this chapter is the
explanation of the Extended Backus-Naur Form grammar (EBNF) which is
used as the formal grammar of the XML specification. The chapter shows us the
basics of EBNF and decodes the XML production rules so we can read the
specification for ourselves.
A chapter which is presented in a very non-SGML way is Chapter 6, "Building
XML Markup". Those who read and write SGML expect that this chapter would
be a discussion of DTD design (in keeping with design methods for SGML).
However, only brief mention of DTD and brief glimpses of SGML DTD syntax are
given. Instead the XML schema language is introduced as a way to create XML
markup for documents or data structures that we want to interchange on the Web.
For those who fit the assumed reader profile, creating tag design in a schema
language is much more straight forward -- after all these readers now understand
the power of tags. In this chapter, the SGML knowledgable may actually be left
in the dust, because of their expectation to see an SGML DTD rather than using
an XML tagged instance to define the XML markup. In this chapter we are asked
to determine the data structures that we want to tag to give special meaning for
data interchange and then code our tagging specification according to a special
XML tag set called an XML schema. Suppose we are interchanging a list of
videocards that is made up of one or more products. SGML folk would expect the
model to be in SGML syntax:
<!ELEMENT videocard (product)+ >
<!ELEMENT product #PCDATA >
But this requires a reliance on SGML syntax which the reading audience does
not possess. So the text shows how to create the tag set using the proposed XML
schema language, and for those who know HTML tags this is much more
understandable and much simpler.
<elementType id="videocard">
<element type="#product" occurs="oneormore">
</elementType>
<elementType id="product">
<string/>
</elementType>
Clearly these authors believe that for the Web it will be an XML-tagged
schema specification rather than a real XML DTD in SGML syntax that will be
read and processed by both applications and human tag set designers.
I found good, general explanations of how the XML family of standards will
address both style specification and new kinds of linking. Again, this is a "Dummies"
book and gives only a basic understanding. Other texts with more detailed and
precise technical descriptions are required for developers and hands-on
implementers.
A strong point of this text are the example XML tag sets. From these
examples, the HTML user can see how XML is different and much more functional
than HTML ever could be. In addition, the book gives us an introduction to
Resource Definition Format (RDF), Channel Definition Format (CDF), Meta Content
Framework (MCF), Math Markup Language (MathML), Web Interface Definition
Language (WIDL), and Synchronized Multimedia Integration Language (SMIL) and
more. This book makes it clear that while XML can be used for publishing and
documents, it also important for data exchange and database connectivity.
XML for Dummies contains a CD-ROM which is organized in separate
modules that reflect the layout of the book. The CD contains electronic code
samples to help those new to XML get started. It also contains two additional
chapters that discuss tools and great XML resources. In addition the CD
contains a comprehensive collection of tools and programs which will help
dummies understand XML and compare it to the HTML they use today.
Overall, I found XML for Dummiesto be a good addition to my
reference library. It clearly will have more value to those who are using HTML
rather than SGML as their starting point. SGML folk will likely find many of
the SGML-oriented discussions too simplistic. In addition, they may find
Chapter 6, which is based on using XML schemas in place of DTDs, rather
confusing. But the good discussion of how to read the XML specification and the
excellent XML application DTDs makes this a book worth buying, no matter what
your background is.
By the way, XML for Dummies features the XML Files as an example of
a Web resource. So take a look!