XML in a Nutshell
Update: The second 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 first edition.
However, if you want the most current information,
you should go to the second edition page
instead. It is substantially improved over the first edition
with lots of new and updated material
and is completely up-to-date with the state of the art in XML as of 2002.
If you're buying a new copy, you'll want to make sure you get the second edition.
The second edition has black ribbon across the upper-left hand corner saying "Second 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, is a complete introduction to the state of the art
in XML as of early 2001 including well-formedness, DTDs, namespaces, XLinks, XPointers, XPath, XHTML,
XSLT, XSL-FO, SAX2, DOM2, 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, 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 I 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 and
Barnes & Noble.
If you need to special order it, the ISBN number is 0-596-00058-8.
It's $29.95, published by O'Reilly, and written by Elliotte
Rusty Harold and W. Scott Means.
- Preface
- Part I. XML Concepts
- Chapter 1. Introducing XML
-
- What XML Offers
- 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
-
- 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
-
- 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
-
- An Example Input Document
- xsl:stylesheet and xsl:transform
- Stylesheet Processors
- Templates
- 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
- Points
- Ranges
- Chapter 12. Cascading Stylesheets (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
- Master Pages
- XSL-FO Properties
- Choosing Between CSS and XSL-FO
- Part III. Data-Centric Documents
- Chapter 14. XML as a Data Format
-
- Programming Applications of XML
- Describing Data
- Support for Programmers
- Chapter 15. Programming Models
-
- Event- Versus Object-Driven Models
- Programming Language Support
- Non-Standard Extensions
- Transformations
- Processing Instructions
- Links and References
- Notations
- What You Get Is Not What You Saw
- Chapter 16. Document Object Model (DOM)
-
- DOM Core
- DOM Strengths and Weaknesses
- Parsing a Document with DOM
- The Node Interface
- Specific Node Types
- The DOMImplementation Interface
- A Simple DOM Application
- Chapter 17. SAX
-
- The ContentHandler Interface
- SAX Features and Properties
- Part IV. Reference
- Chapter 18. XML 1.0 Reference
-
- How to Use This Reference
- Annotated Sample Documents
- Key to XML Syntax
- Well-Formedness
- Validity
- Global Syntax Structures
- DTD (Document Type Definition)
- Document Body
- XML Document Grammar
- Chapter 19. XPath Reference
-
- The XPath Data Model
- Datatype
- Location Paths
- Predicates
- XPath Functions
- Chapter 20. XSLT Reference
-
- The XSLT Namespace
- XSLT Elements
- XSLT Functions
- Chapter 21. DOM Reference
-
- Object Hierarchy
- Object Reference
- Chapter 22. SAX Reference
-
- The org.xml.sax Package
- The org.xml.sax.helpers Package
- SAX Features and Properties
- The org.xml.sax.ext Package
- Chapter 23. Character Sets
-
- Character Tables
- HTML4 Entity Sets
- Other Unicode Blocks
- Index
Copyright 2001-2003 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified January 4, 2003