Chapter 6. XML

Introduction

Extensible Markup Language (XML) went from a risky buzzword to a ubiquitous data format in a few short years, bringing with it an overwhelming array of tools, standards, APIs, and technologies. World Wide Web Consortium’s (W3C) publication of the initial XML recommendation in 1998 redefined the way information is represented, stored, and exchanged, and it seems that a new standard involving XML is created every month: XSL, XML Query, XPointer, XPath, XLink, XHTML, SVG, MathML, XForms, XML Encryption, SOAP, XML-RPC, WSDL, XML Schema, RelaxNG, TREX, and the list continues. Such standards are accompanied by an almost endless series of standard APIs, such as SAX and DOM. To further complicate matters, Sun Microsystems has created a number of Java APIs to handle most everything XML, including JAXP, TrAX, JAXB, JAXM, JAX-RPC, JAXR, and SAAJ. It would take years to become an expert in each of these standards, tools, and APIs, and, because of this, most programmers focus on the tip of the iceberg: SAX, DOM, a little XPath, DTD, and XML Schema. This chapter focuses on parsing and data binding; reading a XML document and creating an XML document from a set of objects.

More than a few developers have noted that parsing a simple XML document with SAX or DOM can be an unreasonably complex task, especially if one is simply attempting to create a prototype. With SAX, you need to write a series of callback methods like startElement( ) and endElement(), and in DOM, you ...

Get Jakarta Commons Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.