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.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- A Topic for Discussion - Open Source Feature-Richness?
- New Products
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- The Secret Password Is...
3 hours 40 min ago
- Keeping track of IP address
5 hours 31 min ago
- Roll your own dynamic dns
10 hours 44 min ago
- Please correct the URL for Salt Stack's web site
13 hours 56 min ago
- Android is Linux -- why no better inter-operation
16 hours 11 min ago
- Connecting Android device to desktop Linux via USB
16 hours 39 min ago
- Find new cell phone and tablet pc
17 hours 38 min ago
19 hours 6 min ago
- Automatically updating Guest Additions
20 hours 15 min ago
- I like your topic on android
21 hours 1 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?