XML Handbook with CD-ROM, 4th edition
Authors: Charles F. Goldfarb, Paul Prescod
Venue:  (2001)

From the Book:PrefaceWhen Paul Prescod and I wrote the first edition of this bookfour years and 100,000 copies agoXML was brand new and the subject of extraordinary hype. It promised to provide universal data interchange, revolutionize publishing on the Web, and transform distributed computing.Those claims were amazing, not just because of the extent of the promised impact, but because of the diversity of the areas affected. More amazingly, the claims have largely been fulfilled. With the support of the entire computer industry, an XML-based infrastructure is being constructed for modern computing; indeed, for modern business itself.In some ways, though, the construction site resembles the Tower of Babel. The professionals in the areas affected by XML tend to talk and write about it in their own way, from each area's unique perspective, and in its specialized jargon.But not in The XML Handbook!From the first edition, our aim has been to integrate and unify the teaching of XML so that any tech industry professional can learn it, regardless of background. And by "learn it" we mean not just the technical details but the way that XML is used. Specifically: We use a unified standards-based vocabulary consistently. We explain when particular disciplines or industries use terms in conflicting or ambiguous ways. We explain all technical concepts as we introduce them, even the basics, but we don't indulge in "simplification by distortion". We clarify without sacrificing accuracy. We describe major trends, applications, and product categories objectively, employing the unified vocabulary, so you can see clearlyhow they relate to one another and to XML technology.As a result, developers with diverse backgrounds found they could get the full picture of XML from The XML Handbook. Moreover, they also found they could encourage management to read the book and learn why XML is so important to the enterprise.XML in a nutshellHTMLthe HyperText Markup Languagemade the Web the world's library. XMLthe Extensible Markup Languageis its sibling, and it is making the Web the world's commercial and financial hub.In the process, the Web is becoming much more than a static library. Increasingly, users are accessing the Web for "Web pages" that aren't actually on the shelves. Instead, the pages are generated dynamically from information available to the Web server. That information can come from databases on the Web server, from the site owner's enterprise databases, or even from other websites.And that dynamic information needn't be served up raw. It can be analyzed, extracted, sorted, styled, and customized to create a personalized Web experience for the end-user. To coin a phrase, Web pages are evolving into Web services.For this kind of power and flexibility, XML is the markup language of choice. You can see why by comparing XML and HTML. Both are based on SGMLthe International Standard for structured informationbut look at the difference:In HTML:<p>P200 Laptop<br>Friendly Computer Shop<br>$1438In XML:<product><model>P200 Laptop</model><dealer>Friendly Computer Shop</dealer><price>$1438</price></product>Both of these may appear the same in your browser, but the XML data is smart data. HTML tells how the data should look, but XML tells you what it means.With XML, your browser knows there is a product, and it knows the model, dealer, and price. From a group of these it can show you the cheapest product or closest dealer without going back to the server.Unlike HTML, XML allows custom tags that can describe exactly what you need to know. Because of that, your client-side applications can access data sources anywhere on the Web, in any format. New "middle-tier" servers sit between the data sources and the client, translating everything into your own task-specific XML.But XML data isn't just smart data, it's also a smart document. That means when you display the information, the model name can be in a different font from the dealer name, and the lowest price can be highlighted in green. Unlike HTML, where text is just text to be rendered in a uniform way, with XML text is smart, so it can control the rendition.And you don't have to decide whether your information is data or documents; in XML, it is always both at once. You can do data processing or document processing or both at the same time.With that kind of flexibility, it's no wonder that we're starting to see a new Web of smart, structured information. It's a "Semantic Web" in which computers understand the meaning of the data they share.Your broker sends your account data to Quicken using XML. Your imaging software keeps its templates in XML. Everything from math to multi-media, chemistry to commerce, wireless to Web services, is using XML or is preparing to start.The XML Handbook will help you get started too!What about SGML?This book is about XML. You won't find feature comparisons to SGML, or footnotes with nerdy observations like "the XML empty-element tag does not contradict the rule that every element has a start-tag and an end-tag because, in SGML terms, it is actually a start-tag followed immediately by a null end-tag". Nevertheless, for readers who use SGML, it is worth addressing the question of how XML and SGML relate. There has been a lot of speculation about this.Some claim that XML will replace SGML because there will be so much free and low-cost software. Others assert that XML users, like HTML users before them, will discover that they need more of SGML and will eventually migrate to the full standard.The truth is that XML is a simplified subset of SGML. The subsetting was optimized for the Web environment, which implies data-processing-oriented (rather than publishing-oriented), short life-span (in fact, usually dynamically-generated) information. The vast majority of XML documents will be created by computer programs and processed by other programs, then destroyed. Humans will never see them.Eliot Kimber, who was a member of both the XML and SGML standards committees, says:There are certain use domains for which XML is simply not sufficient and where you need the additional features of SGML. These applications tend to be very large scale and of long term; e.g., aircraft maintenance information, government regulations, power plant documentation, etc. Any one of them might involve a larger volume of information than the entire use of XML on the Web. A single model of commercial aircraft, for example, requires some four million unique pages of documentation that must be revised and republished quarterly. Multiply that by the number of models produced by companies like Airbus and Boeing and you get a feel for the scale involved.I agree with Eliot. I invented SGML, I'm proud of it, and I'm awed that such a staggering volume of the world's mission-critical information is rep-resented in it.I'm gratified that SGML made the Web possible and that the Society for Technical Communication awarded joint Honorary Fellowships to the Web's inventor, Tim Berners-Lee, and myself in recognition of the synergy.But I'm also proud of XML. I'm proud of my friend Jon Bosak who made it happen, and I'm glad that the World Wide Web is becoming XML-based.If you are new to XML, don't worry about any of this. All you need to know is that the XML subset of SGML has been in use for a decade or more, so you can trust it.SGML still keeps the airplanes flying, the nuclear plants operating safely, and the defense departments in a state of readiness. You should look into it if you produce documents on the scale of an Airbus or Boeing. For the rest of us, there's XML.About our sponsorsWith all the buzz surrounding a hot technology like XML, it can be tough for a newcomer to distinguish the solid projects and realistic applications from the fluff and the fantasies. It is tough for authors as well, to keep track of all that is happening in a field expanding as rapidly as this one.In this case, the solution to both problems was to seek support and expert help from friends in the industry. I know the leading companies in the XML arena and know they have experience with both proven and leading-edge applications and products.In the usual way of doing things, had we years to write this book, we would have interviewed each company to learn about its strategies, products and/or application experiences, written some chapters, asked the companies to review them, etc., and gone on to the next company. To save time and improve accuracy, we engaged in parallel processing. I spoke with each sponsor, agreed on subject matter for a chapter that would fit the book plan, and asked them to write the first draft.I used their materials as though they were my own interview notesediting, rewriting, deleting, and augmenting as necessary to achieve my objective for the chapter in the context of the book. I used consistent standards-based terminology and an objective factual style. All sponsored chapters are identified with the name of the sponsor, and usually with the names of the experts who contributed to it. I'd like to take this opportunity to thank them for being so generous with their time and knowledge.We are grateful to our sponsors just as we are grateful to you, our readers. Both of you together make it possible for The XML Handbook to exist. In the interests of everyone, we make our own editorial decisions and we don't recommend or endorse any product or service offerings over any others.Our thirty-four sponsors are: Adobe Systems Incorporated, http://www.adobe.com/products/framemaker Altova, Inc., http://www.xmlspy.com Auto-trol Technology http://www.auto-trol.com Business Layers, http://www.businesslayers.com Chrystal Software, http://www.chrystal.com eidon GmbH, http://www.eidon-products.com Four J's Development Tools, http://www.4js.com Hewlett-Packard Company, http://www.hp.bluestone.com HostBridge Technology, http://www.hostbridge.com IBM Corporation, http://www.ibm.com/xml IBM Informix, http://www.informix.com ICE Authoring Group, http://www.icestandard.org Infoteria Corporation, http://www.infoteria.com Innodata Corporation, http://www.innodata.com Intel Corporation, http://www.intel.com/eBusiness Intelligent Compression Technologies, Inc., http://www.ictcompress.com Interwoven, Inc., http://www.interwoven.com Liquent, http://www.liquent.com Microsoft Corporation, http://msdn.microsoft.com/xml Mozquito Technologies AG, http://www.mozquito.com NeoCore, http://www.neocore.com Oracle Corporation, http://www.oracle.com/xml Peregrine Systems, http://www.peregrine.com Profium Ltd., http://www.profium.com Sequoia Software, http://www.sequoiasoftware.com Software AG, http://java.sun.com/xml Synth-Bank LLC, http://www.synthbank.com TIBCO Software Inc., http://www.extensibility.com Vertical Computer Systems/Emily Solutions, http://www.emilysolutions.com Voxeo Corporation, http://community.voxeo.com XCare.net, http://www.xcare.net XMLCities, Inc., http://www.XMLCities.com XyEnterprise, http://www.xyenterprise.comHow to use this bookThe XML Handbook has eighteen parts, consisting of 69 chapters, that we intend for you to read in order.Well, if authors didn't have dreams they wouldn't be authors.In reality, we know that our readers have diverse professional and technical backgrounds and won't all take the same route through a book this large and wide-ranging. Here are some hints for planning your trip.To start, you can get the best feel for the subject matter by reading the Table of Contents and the introductions to each part. The introductions are less than a page long and usually epitomize the subject area of the part in addition to introducing the chapters within it.Part One contains introductory tutorials and establishes the terminology used in the remainder of the book. Please read it first.Parts Two through Fourteen cover different application domains. The chapters are application discussions, case studies, and tool category discussions, plus some introductory discussions and tutorials. You can read them with only the preceding parts (especially Part One) as background, althoug want to complete the remaining tutorials first. 2Those can be found in Parts Fifteen through Seventeen. We strove to keep them friendly and understandable for readers without a background in subjects not covered in this book. Tutorials whose subject matter thwarted that goal are labeled as being a tad tougher so you will know what to expect, but not to discourage you from reading them.Part Eighteen contains resources: guides to the CD-ROM and to public XML vocabularies, an acronym dictionary, and a guide to the other books in this series.