The definitive XML professional reference.
Leverage your HTML or SGML expertise.
Systematic, detailed and precise.
Co-authored by Charles F. Goldfarb, inventor of SGML.
CD-ROM includes great XML tools!
This thorough, accurate reference will be the foundation of your XML resource library for years to come. Co-authored by the inventor of SGML -- the markup language that "started it all" -- The XML Handbook will help any sophisticated HTML or SGML user move to XML quickly and successfully.
Start by understanding what XML is, why it came to be, and how it differs from SGML and HTML. Learn the fundamentals of XML structure and syntax, including prologs and instances, declarations and DTDs, attributes, entities, hyperlinking, addressing, XSL stylesheets, and XML and RDF metadata.
Learn all you need to know to build "killer" Web sites with XML. Then, discover just how far you can go with XML, by taking an expert tour of five leading-edge applications: Channel Definition Format (CDF), XTEI, CML, MathML and ICE. You'll find a detailed, practical overview of XML editors, parsers and other software, so you can pick the best tools for your applications. The accompanying CD-ROM brings together an amazing set of XML resources:
Whether you're an advanced HTML or SGML user, Web developer, or document professional, this is the most useful, comprehensive guide to XML you can find.
1. THE WHO, WHAT, AND WHY OF XML.
1. Why XML?
Text formatters and SGML. HTML and the Web. Conclusion.
2. Where is XML going?
Beyond HTML. Database publishing . Electronic commerce. Metadata. Science on the Web.
3. Just enough XML.
The goal. Elements: The logical structure. Unicode: The character set. Entities: The physical structure. Markup. Document types. Well-formedness and validity. Hyperlinking and Addressing. Stylesheets. Conclusion.
4. XML in the Real World.
Is XML for documents or for data? Endless spectrum of application opportunities. XML tools. XML jargon demystifier. Conclusion.
2. What You Can Do with XML.
5. Personalized frequent-flyer Web site.
Today's frequent-flyer sites. What's wrong with today's Web model? A better model for doing business on the Web. An XML-enabled frequent-flyer Web site. Understanding the Softland Air scenario. Towards the Brave New Web.
6. Building an online auction Web site.
Getting data from the middle tier. Building the user interface. Updating the data source from the client. Conclusion.
7. XML and EDI: The new Web commerce.
What is EDI? Traditional EDI: Built on outdated principles. The new EDI: Leveraging XML and the Internet. Conclusion.
8. Supply chain integration .
Linking up a supply chain. Supply chain integration requirements. The B2B Integration Server. Overview of the system. The manufacturer services. The supplier services. Conclusion.
9. Comparison shopping service.
Web site. Shopping online for books. The Junglee Shopping Guide. How the Shopping Guide works. Conclusion.
10. Natural language translation.
Mistakes can be costly. It's a small world. Business challenges. Translations today. New directions. In the real world.
11.Securities regulation filings.
Visualizing an XML document. An EDGAR Submission with XML. Conclusion.
12. Help Desk automation.
The hapless Help Desk. How the Solution System works. Using the Help Desk Solution System.
13. Extended linking.
The Shop notes application. Other applications of extended linking. Strong link typing. Conclusion.
3. WHAT'S BEING DONE WITH XML.
14. Hitachi Semiconductor.
Introduction. The business case. Phase 1: Creating a single source file. Phase 2: Automating transformations with XML. "Publishing on steroids." Facilitation of Web-based searching. Quantifiable savings. Conclusion: A new dimension of automation.
15. The Washington Post.
The Post Web site. Job searching online. How JobCanopy works. Summary.
16. Frank Russell Company.
Background. Project strategy considerations. Identifying the needs. Create an abstract architecture. Implement applications. Conclusion.
17. Agent Discovery.
Agent Discovery. Picture this. What is Web automation? Discovering common ground. What about XML? Architecture principles. Conclusion.
18. Major Corporation.
Background. First generation: Client/server. Second generation: Three-tier. Summary.
19. City Of Providence.
The Providence Guide prototype. Information architecture. Conversion to XML. Generating the electronic book. Web delivery. Dynamic Web delivery. Updating the XML data. Revising the Electronic Book. Summary.
20. International Organization for Standardization.
ISO 12083; DTDs for publishers. Adapting ISO 12083 to XML. Conclusion.
4. Tools for Working with XML.
21. FrameMaker+ SGML: Editing+ composition.
Leveraging information. XML authoring functions. Automated formatting and composition. Document fragments. Publishing the document. Customization and preparation.
22. ADEPT¥Editor: Edit for content management.
Automated document systems. What information warrants these tools? Characteristics to consider.
23. XMetaL: Friendly XML editing.
Familiar interface. HTML markup transition. Structured editing. Extend XML capabilities to outside authors.
24. DynaTag visual conversion environment.
Concepts of document conversion. Preparing for electronic publishing.
25. XML Styler: Graphical XSL stylesheet editor.
Introduction to XSL. Creating a stylesheet with XML Styler. XSL patterns. XSL actions. Conclusion.
26. Astoria: Flexible content management.
Components are everywhere. A content management implementation.
27. POET Content Management Suite.
Managing the information life cycle. The POET Content Management Suite.
28. HoTMetaL Application Server.
Dynamic descriptive markup. How HoTMetaL APPS works. Functionality can be friendly.
29. Junglee Virtual DBMS.
Why virtual database technology? How the VDBMS works. Applications of VDB technology.
30. Free XML software.
What do we mean by "free?" The best XML free software.
5. THE TECHNOLOGY OF XML.
31. XML Basics.
Syntactic details. Prolog vs. Instance. The logical structure. Elements. Attributes. The Prolog. Markup Miscellany. Summary.
32. Creating a Document Type Definition.
Document Type Declaration. Internal and external subset. Element type declarations. Element type content specification. Content models. Attributes. Notation Declarations.
33. Entities: Breaking Up is easy to do.
Overview. Entity details. Classifications of entities. Internal general entities. External parsed general entities. Unparsed entities. Internal and external parameter entities. Markup may not span entity boundaries. External identifiers. Conclusion.
34. XML Linking Language(Xlink.
Basic concepts. Addressing. Uniform Resource Identifier (URI). Referring to Ids. Location terms. Conclusion.
35. Extensible Style Language (XSL).
36. Advanced Features.
Conditional sections. Character references. Processing instructions. Standalone document declaration. Is that all there is?
37. Reading the XML specification.
A look at XML's grammar. Constant strings. Names. Occurrence indicators. Combining rules. Conclusion.
38. WIDL and XML RPC.
XML alone is not quite enough. WIDL the IDL. Remote procedure calls. Integrating applications. Interoperability attained.
Introduction. The Schema Element Type. The ElementType Declaration. Properties and Content Models. Default Values. Aliases and Correlatives. Class Hierarchies. Elements which are References. Attributes as References. Constraints & Additional Properties. Using Elements from Other Schemas. XML-Specific Elements. Entity declaration element types. External declarations element type. Datatypes. Mapping between Schemas.
40. The XML SPECtacular.
Base standards. XML applications.
About the CD-ROM.
The World Wide Web is undergoing a radical change that will introduce wonderful services for users and amazing new opportunities for Web site developers and businesses.
HTML - the HyperText Markup Language - made the Web the world's library. Now its sibling, XML - the Extensible Markup Language has begun to make the Web the world's commercial and financial hub. XML has just been approved as a W3C Recommendation, and already there are millions of XML files out there, with more coming online every day.
You can see why by comparing XML and HTML. Both are based on SGML -- the International Standard for structured information P but look at the difference:
Friendly Computer Shop
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, with XML you create your own tags, so they 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 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 Brave New Web of smart, structured information. Your broker sends your account data to Quicken using XML. Your ÒpushÓ technology channel definitions are in XML. Everything from math to multimedia, chemistry to CommerceNet, is using XML or is preparing to start.
You should be too!
Welcome to the Brave New XML Web.
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.
Both assertions are nonsense ... XML and SGML don't even compete.
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, 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 invented SGML, I'm proud of it, and I'm awed that such a staggering volume of the world's mission-critical information is represented in it.
I'm also proud of XML. I'm proud of my friend Jon Bosak who made it happen, and I'm excited 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.
I am writing this the day after a meeting of the ISO committee that develops the SGML standard. We had the largest attendance in our 20-year history at that meeting. Interest in SGML has never been higher. You should share that interest if you produce documents on the scale of an Airbus or Boeing. For the rest of us, there's XML.
About our sponsors:
With 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. Our solution was to seek out companies with real products and realistic applications and tell their stories in sufficient detail that readers can see for themselves what is believable.
The application chapters are about what can be done with XML, extrapolating from actual experience with one or more users or prototype implementations. The case studies describe the XML experiences of specific named enterprises.
Some applications and case studies were done with full SGML before XML had a formal existence, but are within XML's capabilities. These are described as having been done with XML. Part of the proof of XML's viability is that people have used its core functions for over a decade.
The primary purpose of the tool chapters is to provide the vicarious experience of using a variety of XML tools without the effort of obtaining evaluation copies and installing them. They also provide useful information about uses and benefits of XML in general, which supplements the application-oriented discussions in the earlier parts of the book.
There are also two sponsored chapters on new XML-related technologies.
All sponsored chapters are identified with the name of the sponsor, and sometimes with the names of the experts who prepared the original text. All of the chapters were edited by me, sometimes extensively, in order to integrate them into the book. The editing objectives were to establish consistency of terminology and style, and to eliminate unnecessary duplication among the chapters. I believe the result was faithful to the intentions of the expert preparers with regard to bringing out the important characteristics of their applications and products.
The sponsorship program was organized by Linda Burman, the president of L. A. Burman Associates, a consulting company that provides marketing and business development services to the XML and SGML industries.
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 fourteen sponsors are:
nAdobe Systems Incorporated, http://www.adobe.com nArborText, Inc., http://www.arbortext.com nChrystal Software, http://www.chrystal.com nFrank Russell Company Advanced Technology Labs, http://www.russell.com nInso Corporation, http://www.inso.com nInterleaf, Inc., http://www.interleaf.com nISOGEN International, http://www.isogen.com nJunglee Corporation, http://www.junglee.com nMicrosoft Corporation, http://www.microsoft.com nMicrostar Software Ltd., http://www.microstar.com nPOET Corporation, http://www.poet.com nSoftQuad Inc., http://www.sq.com nTexcel International, http://www.texcel.com nwebMethods, http://www.webmethods.com
The principal acknowledgment in a book of this nature has to be to the people who created the subject matter. In this case, I take special pleasure in the fact that all of them are friends and colleagues of long standing in the SGML community.
Tim Bray and C. Michael Sperberg-McQueen were the original editors of the XML specification, later joined by Jean Paoli. Dan Connolly put the project on the W3C Òtodo listÓ and shepherded it through the approval process.
But all of them agree that, if a single person is to be thanked for XML, it is Jon Bosak. Jon not only sparked the original ideas and recruited the team, but organized and chairs the W3C XML Working Group. As Tim put it: "Without Jon, XML wouldn't have happened. He was the prime mover."
Regarding the content of the book, Paul and I would like to thank Jean Paoli, Eliot Kimber, David Siegel, Andy Goldfarb, Lars Marius Garshol, and Steve Newcomb for contributing great material; Bryan Bell, inventor of MIDI and document system architect extraordinaire, for his advice and support; Steve Pepper and Bob DuCharme for talent-spotting and Richard Lander for his insights into XSL.
We also thank Lilia Prescod, Thea Prescod, and Linda Goldfarb for serving as our useability test laboratory. That means they read lots of chapters and complained until we made them clear enough.
Prentice Hall PTR uses Adobe FrameMaker to compose the books in my series. We thank Lani Hajagos of Adobe for providing Paul and me with copies.
Paul and I designed, and Paul implemented, an SGML-based production system for the book. It uses James Clark's Jade DSSSL processor, FrameMaker+SGML, and some ingenious FrameMaker plug-ins designed and implemented by Doug Yagaloff of Caxton, Inc. We thank Doug, and also Randy Kelley, for their wizard-level FrameMaker consulting advice.
But a great production system is nothing without a great Production Editor. We were fortunate to have Patti Guerrieri, who epitomizes grace P and skill P under fire. She coped with an untested system and a book that doubled in size, and still met the deadline.
This was my second project in which Linda Burman served as marketing consultant. I thank her P again P for her sage counsel and always cheerful encouragement.
My personal thanks, also, to Mark Taub, now an Editor-in-Chief at Prentice Hall PTR, for his help, encouragement, and management of the project.
As the senior author, I gave myself the preface to write. I'm senior because Paul's folks were conceiving him about the same time that I was conceiving SGML. (In return, Paul got to write the history chapter, because for him it really is history.)
This gives me the opportunity to thank Paul publicly for the tremendous reservoir of talent, energy, and good humor that he brought to the project. The book benefitted not just from his XML knowledge and fine writing skills, but from his expertise in SGML, Jade, and FrameMaker that enabled us to automate the production of the book (with the previously acknowledged help from our friends).
Thanks, Paul. Charles F. Goldfarb Saratoga, CA May 15, 1998