XML in a Nutshell, 2nd edition
Update: The third edition of the XML in a Nutshell has been published.
I'm keeping this page here to support readers who bought the
first edition, as well as for readers of translations,
since many of the translations are still based on the second edition.
However, if you want the most current information,
you should go to the third edition page
instead. It is substantially improved over the second edition
with lots of new and updated material. New topics include XML 1.1 and XInclude.
It is completely up-to-date with the state of the art in XML as of 2004.
If you're buying a new copy, you'll want to make sure you get the third edition.
The third edition has black ribbon across the upper-left hand corner saying "3rd Edition".
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
and at just about half the price.
(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, 2nd edition, is a complete introduction to the state of the art
in XML as of mid-2002 including elements, attributes, entities, well-formedness, DTDs, schemas,
namespaces, RDDL, XLinks, XPointers, XPath, XHTML,
XSLT, XSL-FO, SAX2, DOM2, 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, SAX2, DOM2, 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-00292-0.
It's $39.95, published by O'Reilly, and written by Elliotte
Rusty Harold and W. Scott Means.
Preface
-
- Part I. XML Concepts
-
- Chapter 1. Introducing XML
-
- The Benefits of XML
- Portable Data
- How XML Works
- The Evolution of XML
- Chapter 2. XML Fundamentals
-
- XML Documents and XML Files
- Elements, Tags, and Character Data
- Attributes
- XML Names
- Entity References
- CDATA Sections
- Comments
- Processing Instructions
- The XML Declaration
- Checking Documents for Well-Formedness
- Chapter 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
- Chapter 4. Namespaces
-
- The Need for Namespaces
- Namespace Syntax
- How Parsers Handle Namespaces
- Namespaces and DTDs
- Chapter 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
- Part II. Narrative-Centric Documents
-
- Chapter 6. XML as a Document Format
-
- SGML's Legacy
- Narrative Document Structures
- TEI
- DocBook
- Document Permanence
- Transformation and Presentation
- Chapter 7. XML on the Web
-
- XHTML
- Direct Display of XML in Browsers
- Authoring Compound Documents with Modular XHTML
- Prospects for Improved Web-Search Methods
- Chapter 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
- Chapter 9. XPath
-
- The Tree Structure of an XML Document
- Location Paths
- Compound Location Paths
- Predicates
- Unabbreviated Location Paths
- General XPath Expressions
- XPath Functions
- Chapter 10. XLinks
-
- Simple Links
- Link Behavior
- Link Semantics
- Extended Links
- Linkbases
- DTDs for XLinks
- Chapter 11. XPointers
-
- XPointers on URLs
- XPointers in Links
- Bare Names
- Child Sequences
- Namespaces
- Points
- Ranges
- Chapter 12. Cascading Style Sheets (CSS)
-
- The Three 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
- Chapter 13. 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
- Chapter 14. Resource Directory Description Language (RDDL)
-
- What's at the End of a Namespace URL?
- RDDL Syntax
- Natures
- Purposes
- Part III. Data-Centric XML
-
- Chapter 15. XML as a Data Format
-
- Why Use XML for Data?
- Developing Data-Oriented XML Formats
- Sharing Your XML format
- Chapter 16. XML Schemas
-
- Overview
- Schema Basics
- Working with Namespaces
- Complex Types
- Empty Elements
- Simple Content
- Mixed Content
- Allowing Any Content
- Controlling Type Derivation
- Chapter 17. Programming Models
-
- Common XML Processing Models
- Common XML Processing Issues
- Chapter 18. Document Object Model (DOM)
-
- DOM Foundations
- Structure of the DOM Core
- Node and Other Generic Interfaces
- Specific Node-Type Interfaces
- The DOMImplementation Interface
- Parsing a Document with DOM
- A Simple DOM Application
- Chapter 19. Simple API for XML (SAX)
-
- The ContentHandler Interface
- SAX Features and Properties
- Filters
- Part IV. Reference
-
- Chapter 20. XML 1.0 Reference
-
- How to Use This Reference
- Annotated Sample Documents
- XML Syntax
- Constraints
- XML Document Grammar
- Chapter 21. Schemas Reference
-
- The Schema Namespaces
- Schema Elements
- Primitive Types
- Instance Document Attributes
- Chapter 22. XPath Reference
-
- The XPath Data Model
- Data Types
- Location Paths
- Predicates
- XPath Functions
- Chapter 23. XSLT Reference
-
- The XSLT Namespace
- XSLT Elements
- XSLT Functions
- TrAX
- Chapter 24. DOM Reference
-
- Object Hierarchy
- Object Reference
- Chapter 25. SAX Reference
-
- The org.xml.sax Package
- The org.xml.sax.helpers Package
- SAX Features and Properties
- The org.xml.sax.ext Package
- Chapter 26. Character Sets
-
- Character Tables
- HTML4 Entity Sets
- Other Unicode Blocks
- Chapter Index
Copyright 2002, 2004 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified November 8, 2004