books

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!