XML in a Nutshell, 3rd edition

[ Table of Contents | Sample Chapter (PDF) | Examples | Index | Corrections | Order ]

Book Cover, Peacock One of my favorite comments about The XML Bible came from a reader in Norwich England who wrote on amazon.co.uk, "It would seem to me that if you asked the author to write 10,000 words about the colour blue, he would be able to do it without breaking into a sweat." You know, I probably could write 10,000 words about blue; but I can write short books too, and XML in a Nutshell is the book that proves it. I'd estimate that it covers over twice the material that the XML Bible does in less than half the space (Whether I can write this concisely without the able aid of my coauthor W. Scott Means is still an open question.) In fact, XML in a Nutshell even weighs less than half what the XML Bible weighs, so not only will it not break your budget; it won't break your back either. I still like the XML Bible. I think it's a good book, but even I have to admit that I think twice before packing it in my carry-on luggage.

XML in a Nutshell, 3rd edition, is a complete introduction to the state of the art in XML as of 2004 including elements, attributes, entities, well-formedness, DTDs, schemas, namespaces, RDDL, XLinks, XPointers, XInclude, XPath, XHTML, XSLT, XSL-FO, SAX 2, DOM 3, JAXP, TrAX, Unicode, and more. Very few XML books even attempt to cover this much material, and I guarantee you that none of them do it in this few pages. There is simply no quicker way to learn everything you need to know about XML than by reading this book. It is the most concentrated, cost-effective way to educate yourself about XML.

For those readers who've already learned everything you need to know about XML, I know of no better reference to remind you of the things you've forgotten. Part IV contains detailed references for XML, XSLT, SAX 2, DOM 3, XPath, Schemas, and Unicode; all carefully designed to facilitate fast look-up when you just can't quite remember the name of that XSLT element or the exact signature of that SAX method. Before Scott and I wrote this book, I wasted way too much time searching the specifications of XML, XSLT, DOM and more for little details like the proper namespace for SVG. Now I just flip open XML in a Nutshell, and the answers I need are right there. We wrote the reference work we always wanted to have.

If I've succeeded in piqueing your interest, you should be able to find XML in a Nutshell at almost any bookstore that carries computer books including the online bookstores, Amazon.com, Barnes & Noble, and Powells. If you need to special order it, the ISBN number is 0-596-00764-7. It's $39.95, published by O'Reilly, and written by Elliotte Rusty Harold and W. Scott Means.

Table of Contents

I. XML Concepts
1. Introducing XML
  • The Benefits of XML
  • Portable Data
  • How XML Works
  • The Evolution of XML
2. XML Fundamentals
  • XML Documents and XML Files
  • Elements, Tags, and Character Data
  • Attributes
  • XML Names
  • References
  • CDATA Sections
  • Comments
  • Processing Instructions
  • The XML Declaration
  • Checking Documents for Well-Formedness
3. Document Type Definitions (DTDs)
  • Validation
  • Element Declarations
  • Attribute Declarations
  • General Entity Declarations
  • External Parsed General Entities
  • External Unparsed Entities and Notations
  • Parameter Entities
  • Conditional Inclusion
  • Two DTD Examples
  • Locating Standard DTDs
4. Namespaces
  • The Need for Namespaces
  • Namespace Syntax
  • How Parsers Handle Namespaces
  • Namespaces and DTDs
5. Internationalization
  • Character-Set Metadata
  • The Encoding Declaration
  • Text Declarations
  • XML-Defined Character Sets
  • Unicode
  • ISO Character Sets
  • Platform-Dependent Character Sets
  • Converting Between Character Sets
  • The Default Character Set for XML Documents
  • Character References
  • xml:lang
II. Narrative-like Documents
6. XML as a Document Format
  • SGML's Legacy
  • Narrative Document Structures
  • TEI
  • DocBook
  • OpenOffice
  • WordprocessingML
  • Document Permanence
  • Transformation and Presentation
7. XML on the Web
  • Direct Display of XML in Browsers
  • Authoring Compound Documents with Modular XHTML
  • Prospects for Improved Web Search Methods
8. XSL Transformations (XSLT)
  • An Example Input Document
  • xsl:stylesheet and xsl:transform
  • Stylesheet Processors
  • Templates and Template Rules
  • Calculating the Value of an Element with xsl:value-of
  • Applying Templates with xsl:apply-templates
  • The Built-in Template Rules
  • Modes
  • Attribute Value Templates
  • XSLT and Namespaces
  • Other XSLT Elements
9. XPath
  • The Tree Structure of an XML Document
  • Location Paths
  • Compound Location Paths
  • Predicates
  • Unabbreviated Location Paths
  • General XPath Expressions
  • XPath Functions
10. XLinks
  • Simple Links
  • Link Behavior
  • Link Semantics
  • Extended Links
  • Linkbases
  • DTDs for XLinks
11. XPointers
  • XPointers on URLs
  • XPointers in Links
  • Shorthand Pointers
  • Child Sequences
  • Namespaces
  • Points
  • Ranges
12. XInclude
  • The include Element
  • Including Text Files
  • Content Negotiation
  • Fallbacks
  • XPointers
13. Cascading Style Sheets (CSS)
  • The Levels of CSS
  • CSS Syntax
  • Associating Stylesheets with XML Documents
  • Selectors
  • The Display Property
  • Pixels, Points, Picas, and Other Units of Length
  • Font Properties
  • Text Properties
  • Colors
14. XSL Formatting Objects (XSL-FO)
  • XSL Formatting Objects
  • The Structure of an XSL-FO Document
  • Laying Out the Master Pages
  • XSL-FO Properties
  • Choosing Between CSS and XSL-FO
15. Resource Directory Description Language (RDDL)
  • What's at the End of a Namespace URL?
  • RDDL Syntax
  • Natures
  • Purposes
III. Record-like Documents
16. XML as a Data Format
  • Why Use XML for Data?
  • Developing Record-Like XML Formats
  • Sharing Your XML Format
17. XML Schemas
  • Overview
  • Schema Basics
  • Working with Namespaces
  • Complex Types
  • Empty Elements
  • Simple Content
  • Mixed Content
  • Allowing Any Content
  • Controlling Type Derivation
18. Programming Models
  • Common XML Processing Models
  • Common XML Processing Issues
  • Generating XML Documents
19. Document Object Model (DOM)
  • DOM Foundations
  • Structure of the DOM Core
  • Node and Other Generic Interfaces
  • Specific Node-Type Interfaces
  • The DOMImplementation Interface
  • DOM Level 3 Interfaces
  • Parsing a Document with DOM
  • A Simple DOM Application
20. Simple API for XML (SAX)
  • The ContentHandler Interface
  • Features and Properties
  • Filters
IV. Reference
21. XML Reference
  • How to Use This Reference
  • Annotated Sample Documents
  • XML Syntax
  • Constraints
  • XML 1.0 Document Grammar
  • XML 1.1 Document Grammar
22. Schemas Reference
  • The Schema Namespaces
  • Schema Elements
  • Built-in Types
  • Instance Document Attributes
23. XPath Reference
  • The XPath Data Model
  • Data Types
  • Location Paths
  • Predicates
  • XPath Functions
24. XSLT Reference
  • The XSLT Namespace
  • XSLT Elements
  • XSLT Functions
  • TrAX
25. DOM Reference
  • Object Hierarchy
  • Object Reference
26. SAX Reference
  • The org.xml.sax Package
  • The org.xml.sax.helpers Package
  • SAX Features and Properties
  • The org.xml.sax.ext Package
27. Character Sets
  • Character Tables
  • HTML4 Entity Sets
  • Other Unicode Blocks

[ Cafe con Leche | Examples | Corrections | Index | Order ]

Copyright 2004 Elliotte Rusty Harold
Last Modified September 22, 2004