XML in a Nutshell: A Desktop Quick Reference


XML, the Extensible Markup Language, is a W3C endorsed standard for document markup. Because of its ability to deliver portable data, XML is positioned to be a key web application technology.

Given the complexity and incredible potential of this powerful markup language, it is clear that every serious developer using XML for data or text formatting and transformation will need a comprehensive, easy-to- access desktop reference in order to take advantage of XML's full potential. ...

See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (44) from $1.99   
  • New (4) from $5.36   
  • Used (40) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2009

Feedback rating:


Condition: New
0596000588 *BRAND NEW* Ships Same Day or Next!

Ships from: Springfield, VA

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


XML, the Extensible Markup Language, is a W3C endorsed standard for document markup. Because of its ability to deliver portable data, XML is positioned to be a key web application technology.

Given the complexity and incredible potential of this powerful markup language, it is clear that every serious developer using XML for data or text formatting and transformation will need a comprehensive, easy-to- access desktop reference in order to take advantage of XML's full potential. XML in a Nutshell will assist developers in formatting files and data structures correctly for use in XML documents.

XML defines a basic syntax used to mark up data with simple, human-readable tags, and provides a standard format for computer documents. This format is flexible enough to be customized for transforming data between applications as diverse as web sites, electronic data inter-change, voice mail systems, and wireless devices, to name a few.

Developers can either write their own programs that interact with, massage, and manipulate the data in XML documents, or they can use off-the-shelf software like web browsers and text editors to work with XML documents. Either choice gives them access to a wide range of free libraries in a variety of languages that can read and write XML.

The XML specification defines the exact syntax this markup must follow: how elements are delimited by tags, what a tag looks like, what names are acceptable for elements, where attributes are placed, and so forth. XML doesn't have a fixed set of tags and elements that are supposed to work for everybody in all areas of interest for all time. It allows developers and writers to define the elements they need as they need them.

Although XML is quite flexible in the elements it allows to be defined, it is quite strict in many other respects. XML in a Nutshell covers the fundamental rules that all XML documents and authors must adhere to, detailing the grammar that specifies where tags may be placed, what they must look like, which element names are legal, how attributes attach to elements, and much more.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Trying to capture all of XML in one compact book is like trying to capture the universe moments after the Big Bang: Things are expanding in an awful hurry. But this tutorial and reference comes close.

Elliotte Rusty Harold and W. Scott Means organize XML in a Nutshell -- and by extension XML itself -- into four sections. The first offers clear, to-the-point explanations of the key concepts every XML user and developer needs to understand -- from elements and attributes to well-formedness, DTDs to namespaces. Section II covers the XML technologies most widely used in what the authors call "narrative-centric" documents -- from web pages through gigantic Defense Department documentation manuals. Here's where they introduce XHTML, basic XSL Transformations, XPath, Xlinks, Xpointers, Cascading Style Sheets, and the evolving XSL Formatting Objects specification.

Section III addresses XML's role as the data format of choice for Internet-based information sharing and storage. Harold and Means introduce XML programming models, then offer quick introductions to both DOM and SAX.

Like most O'Reilly ...in a Nutshell books, XML in a Nutshell ends with a comprehensive reference section, presenting syntax, descriptions, attributes, and in the case of DOM, Java bindings and example code.

There are a few things missing -- for example, coverage of SOAP, and of specialized XML applications such as MathML. But overall, the book succeeds admirably in its goals: to become your first-line source whenever you need to learn something new about XML. (Bill Camarda) (Bill Camarda)

Bill Camarda is a consultant and writer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Introduces the basic rules of XML syntax for document markup, the details of document type definition (DTD) creation, and the APIs used to read and write XML documents in a variety of programming languages. A series of quick-reference chapters lists syntax rules for XPath, XSLT, SAX, and DOM. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780596000585
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 1/1/2001
  • Series: O'Reilly Nutshell Series
  • Edition description: Older Edition
  • Pages: 498
  • Product dimensions: 6.01 (w) x 8.99 (h) x 1.01 (d)

Meet the Author

Elliotte Rusty Harold is originally from New Orleans to which he returns periodically in search of a decent bowl of gumbo. However, he currently resides in the Prospect Heights neighborhood of Brooklyn with his wife Beth and dog Thor. He's a frequent speaker at industry conferences including Software Development, Dr. Dobb's Architecture & Design World, SD Best Practices, Extreme Markup Languages, and too many user groups to count. His open source projects include the XOM Library for processing XML with Java and the Amateur media player.

Read More Show Less

Read an Excerpt

Chapter 9: XPath

XPath is a non-XML language used to identify particular parts of XML documents. XPath lets you write expressions that refer to the document's first person element, the seventh child element of the third person element, the ID attribute of the first person element whose contents are the string "Fred Jones," all xml-stylesheet processing instructions in the document's prolog, and so forth. XPath indicates nodes by position, relative position, type, content, and several other criteria. XSLT uses XPath expressions to match and select particular elements in the input document for copying into the output document or further processing. XPointer uses XPath expressions to identify the particular point in or part of an XML document that an XLink links to.

XPath expressions can also represent numbers, strings, or Booleans, so XSLT stylesheets carry out simple arithmetic for numbering and cross-referencing figures, tables, and equations. String manipulation in XPath lets XSLT perform tasks like making the title of a chapter uppercase in a headline, but mixed case in a reference in the body text.

The Tree Structure of an XML Document

An XML document is a tree made up of nodes. Some nodes contain other nodes. One root node ultimately contains all other nodes. XPath is a language for picking nodes and sets of nodes out of this tree. From the perspective of XPath, there are seven kinds of nodes:

  • The root node
  • Element nodes
  • Text nodes
  • Attribute nodes
  • Comment nodes
  • Processing instruction nodes
  • Namespace nodes

Note the constructs not included in this list: CDATA sections, entity references, and document type declarations. XPath operates on an XML document after these items have merged into the document. For instance, XPath cannot identify the first CDATA section in a document or tell whether a particular attribute value was included directly in the source element start tag or merely defaulted from the declaration of the attribute in the DTD.

Consider the document in Example 9-1. This document exhibits all seven types of nodes. Figure 9-1 is a diagram of this document's tree structure....

...The XPath data model has several inobvious features. First, the tree's root node is not the same as its root element. The tree's root node contains the entire document, including the root element and comments and processing instructions that occur before the root element start tag or after the root element end tag. In Example 9-1, the root node contains the xml-stylesheet processing instruction and the root element people.

The XPath data model does not include everything in the document. In particular, the XML declaration and DTD are not addressable via XPath. However, if the DTD provides default values for any attributes, then XPath recognizes those attributes. The homepage element has an xlink:type attribute supplied by the DTD. Similarly, any references to parsed entities are resolved. Entity references, character references, and CDATA sections are not individually identifiable, though any data they contain is addressable. For example, XSLT does not enable you to make all text in CDATA sections bold because XPath doesn't know what text is and isn't part of a CDATA section.

Finally, xmlns attributes are reported as namespace nodes. They are not considered attribute nodes, though a non-namespace aware parser will see them as such. Furthermore these nodes are attached to every element and attribute node for which that declaration has scope. They are not just attached to the single element where the namespace is declared.

Location Paths

The most useful XPath expression is a location path. A location path uses at least one location step to identify a set of nodes in a document. This set may be empty, contain a single node, or contain several nodes. These nodes can be element, attribute, namespace, text, comment, processing instruction, root nodes, or any combination of them.

The Root Location Path

The simplest location path is the one that selects the document's root node. This path is simply the forward slash /. (You'll notice that a lot of XPath syntax was deliberately chosen to be similar to the syntax used by the Unix shell. Here / is the root of a Unix filesystem and / is the root node of an XML document.) For example, this XSLT template uses the XPath pattern / to match the entire input document tree and wrap it in an html element...

Read More Show Less

Table of Contents


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


 XML Names

 Entity References

 CDATA Sections


 Processing Instructions

 The XML Declaration

 Checking Documents for Well-Formedness

Chapter 3. Document Type Definitions


 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


 ISO Character Sets

 Platform-Dependent Character Sets

 Converting Between Character Sets

 The Default Character Set for XML Documents

 Character References


Part II.Narrative-Centric Documents

Chapter 6. XML as a Document Format

 SGML's Legacy

 Narrative Document Structures



 Document Permanence

 Transformation and Presentation

Chapter 7. XML on the Web


 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


 Calculating the Value of an Element with xsl:value-of

 Applying Templates with xsl:apply-templates

 The Built-in Template Rules


 Attribute Value Templates

 XSLT and Namespaces

 Other XSLT Elements

Chapter 9. XPath

 The Tree Structure of an XML Document

 Location Paths

 Compound Location Paths


 Unabbreviated Location Paths

 General XPath Expressions

 XPath Functions

Chapter 10. XLinks

 Simple Links

 Link Behavior

 Link Semantics

 Extended Links


 DTDs for XLinks

Chapter 11. XPointers

 XPointers on URLs

 XPointers in Links

 Bare Names

 Child Sequences



Chapter 12. Cascading Stylesheets (CSS)

 The Three Levels of CSS

 CSS Syntax

 Associating Stylesheets with XML Documents


 The Display Property

 Pixels, Points, Picas, and Other Units of Length

 Font Properties

 Text Properties


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


 Processing Instructions

 Links and References


 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



 Global Syntax Structures

 DTD (Document Type Definition)

 Document Body

 XML Document Grammar

Chapter 19. XPath Reference

 The XPath Data Model


 Location Paths


 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


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 3 Customer Reviews
  • Anonymous

    Posted November 29, 2002

    Bad organization and some typo errors.

    after reading some parts of the book, and trying to use it as a reference, I found some typo errors and I'm really confused with the organization, personally, I don't recommed it.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted July 3, 2002

    Useful reference - more XSLT would be nice

    This book has definitely served me well, but it is becoming outdated. The character tables are extremely useful and the explanations are very good. I think the authors made the best attempt possible to tackle a buzzword that actually turned out to be a misunderstood and dry subject matter. They may have over explained certain elementary concepts as a result. Over all this is a very useful reference book. If the 2nd edition has significantly more emphasis on XSLT, I will probably buy it. More emphasis on real world examples instead of 'let's review the rules again' would have been nice.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted April 19, 2002

    Fair guide to XML

    This is a bit outdated but still useful. I had some problems with syntax and errors but I still think you might find useful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 3 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)