The XML Handbook, Second Edition
Authors: Charles F. Goldfarb and Paul Prescod
Publisher: Prentice Hall
Price: $44.99 US
Reviewer: Daniel Lazenby
Some see XML as a new technology and books on how to use this new language regularly appear. In reality, it is not a new language, but one of those ten-year-old technologies that reappears on the scene as fresh and new. For an authoritative reference on this flexible language and its possibilities, you cannot get better credentials than Charles Goldfarb and Paul Prescod. Goldfarb is the inventor of the Standard Generalized Markup Language (SGML). Prescod was a member of the World Wide Web Consortium (W3C) that created the XML subset of the SGML standard. Besides the expertise of these two people, the book brings together the experience, projects and products of 27 national and multinational corporations. The included CD-ROM contains a warehouse of trial and free software programs and related XML information.
The handbook is divided into 13 parts and 66 chapters. These 13 parts can be further organized into two groups, tutorials and sponsored chapters. Part 1, Part XI and Part XII are XML tutorials. Industry experts from 27 corporations contributed chapters to the book, which are contained in parts II through X and organized by areas of interest. These chapters are clearly marked as sponsor-supplied. Part XIII is a guide to the CD-ROM and other XML-related books. There are too many chapters to list in this article. To see the table of contents, visit http://www.phptr.com/ and search for the book title. The search will produce a web page containing the book's table of contents, a sample chapter, and a list of the corporate sponsors.
I found two paths through the book. The authors recommend reading Part I before going down either path. One path skips over the sponsor chapters and follows the tutorials. The other path wanders around, and within, the sponsor chapters. The tutorial path seems to support the more technical reader who is interested in learning to read and write proper XML documents. The sponsors' path seems to support the more business-oriented person who is interested it finding ways to enhance, automate, or webify their business processes.
The tutorials present the XML Language Version 1.0 and describe how to read/use XML-related specifications. The tutorials in Part I walk you through a high-level overview of XML's beginnings, the problem XML solves and major business areas benefitting from XML, as well as terms, definitions and the use and misuse of XML jargon. Part I tutorials are a prerequisite for the tutorials in Part XI, which focus on creating document-type definitions, creating XML documents, combining and sharing text between documents, formatting and validating a document's structure. One can easily jump from the tutorials of Part I to the tutorials of Part XI without hindering the book's overall flow or the reader's learning/exploration experience. For those with a thirst to know more XML details, there is Part XII, which demonstrates how to read seven XML-related specifications of the W3C. These tutorials require a thorough understanding of the material in Part XI and may be read in any order.
The sponsored chapters in Parts II through X cover several areas of interest by presenting a collection of application, tool and case study discussions. These discussions are grouped by: middle-tier servers, e-commerce, portals, publishing, content management, content acquisition, style sheets, navigation, and XML and Programming. This part of the book is not hands-on. It is more of a here is where XML has been used and what it has accomplished. Application discussions lean more toward the conceptual end of the spectrum. They offer high-level ideas about where XML has been (or may be) used to solve business problems. Most of these discussions include a conceptual or architectural representation of the application being discussed. Tool discussions vary greatly between the various authors. Nevertheless, each author concentrates on what their tool can do with XML, rather than how to use the tool. As one might expect, case studies are a bit more concrete since they tend to examine real-world examples of what was set up. Often, they include snippets of XML used to create the page or function being presented.
The book concludes with a synopsis of free programs contained on the CD-ROM and in other XML-related books. The accompanying CD-ROM contains a virtual warehouse of trial and free software, white papers, specifications, markup and code samples, demos and sponsor product information. The 125 XML-centric software programs are not crippled, or time-limited, and are presented as free-use programs. Each of the 27 corporations is represented on the CD-ROM: some with just a link to their web site; others provide demos or information about their projects and products. Most of the CD-ROM product demonstrations require a Windows platform to perform properly. In some cases, there is “free” software for both Windows and Linux/UNIX platforms. Some free software includes source code. Links to a set of important XML web sites are also provided on the CD-ROM.
After I owned this book for a while, I begin to reread it from its index. I found the index to be robust, and it seems to contain an adequately detailed listing.
After reading this book, you will not have any programs or reusable code snippets. What you will have is knowledge of XML, a collection of XML tools and tool sources and a reliable XML Version 1.0 reference.
Daniel Lazenby (email@example.com) first encountered UNIX in 1983 and discovered Linux in 1994.