You are previewing Essential XML: Beyond Markup.
O'Reilly logo
Essential XML: Beyond Markup

Book Description

The Extensible Markup Language (XML) has been anointed as the universal duct tape for all software integration problems despite XML's relatively humble origins in the world of document management systems. Essential XML presents a software engineering-focused view of XML and investigates how XML can be used as a component integration technology much like COM or CORBA. Written for software developers and technical managers, this book demonstrates how XML can be used as the glue between independently developed software components (or in the marketecture terminology du jour, how XML can act as the backplane for B2B e-commerce applications).

Authors Don Box, Aaron Skonnard, and John Lam cover the key issues, technologies, and techniques involved in using XML as the adhesive between disparate software components and environments. They explain the fundamental abstractions and concepts that permeate all XML technologies, primarily those documented in the XML Information Set (Infoset). XML-based approaches to metadata, declarative, and procedural programming through transformation and programmatic interfaces are covered. Don Box, co-author of the Simple Object Access Protocol (SOAP) specification, provides readers with insight into this emerging XML messaging technology for bridging COM, CORBA, EJB, and the Web.

Readers acquire a better understanding of XML's inner workings and come to see how its platform, language, and vendor independence--along with its accessibility--make it an extraordinarily effective solution for software interoperation.


Table of Contents

  1. Copyright
  2. Preface
  3. Beyond Markup
    1. Document Basics
    2. Names
    3. Processing Instructions
    4. Entities
    5. Types and XML
    6. Serialization Details
    7. Where Are We?
  4. Programming XML
    1. Simple API For XML Version 2 (SAX2)
    2. Auxiliary SAX Interfaces
    3. SAX and I/O
    4. SAX Error Handling
    5. The Glue of SAX: XMLReader
    6. The Document Object Model
    7. The Object Model
    8. The DOM and Factories
    9. The Node Interface
    10. Parents and Children
    11. Nonhierarchical Nodes
    12. Text Nodes
    13. Element and Attribute Nodes
    14. Document, Document Type, and Entity Nodes
    15. Bulk Insertion Using Document Fragment
    16. DOM Error Handling
    17. Implementation vs Interface
    18. DOM Traversal
    19. Where Are We?
  5. Navigation
    1. XPath Basics
    2. XPath Expressions
    3. XPath Functions
    4. XPath Abbreviations
    5. Navigation and URIs
    6. URI + XPath == XPointer
    7. Ranges and Points
    8. Where Are We?
  6. XML Schemas
    1. Schema Basics
    2. Type Definitions
    3. Element Declarations
    4. Complex Types
    5. Content Models and Particles
    6. Attributes
    7. Extensibility
    8. Types Revisited
    9. Reference and Uniqueness Constraints
    10. Where Are We?
  7. Transforms
    1. XSLT Basics
    2. Template-based Programming
    3. Namespaces and XSLT
    4. Generated Output
    5. Multiple Stylesheets
    6. Pattern-based Templates
    7. Controlling Output
    8. Where Are We?
  8. Beyond Interface-based Programming
    1. Where Are We?
    2. Leaving Home
    3. XML as a Better Component Model
    4. Documents as Messages
    5. Where Are We Going?
  9. The XML Information Set (Infoset)
    1. W3C Working Draft 20 December–1999
    2. Abstract
    3. Status of this Document
    4. Contents
    5. Introduction
    6. Information Items
    7. Example
    8. Conformance
    9. What is not in the Information Set
    10. References
    11. Appendix A: XML 1.0 Reporting Requirements (informative)
    12. Appendix B: RDF Schema (informative)
  10. XML Productions
    1. Sorted by production number
    2. Sorted by name
    3. Character Tables
  11. Example Gallery
    1. SAX/DOM Examples
    2. XPath Expressions
    3. Programming XPath
    4. XML Schema Examples
    5. XSLT Examples
    6. Programming XSLT