Chapter 1. Creating and Parsing an XML Document

One of the first programming exercises an XML developer wants to do is create and parse an XML document. The Java API for XML Processing (JAXP) includes an API to create and parse XML documents. Oracle XDK 11g provides an API in the oracle.xml.parsers.v2 package that overrides some of the classes in the JAXP API. It also implements some additional interfaces such as DocumentEditVAL, ElementEditVAL, and NSResolver, which we shall discuss in later chapters. XDK also provides parser factory and parser classes in the oracle.xml.jaxp package that override the parser classes in the javax.xml.parsers package.

In this chapter we shall create an XML document, catalog.xml, and parse the XML document in JDeveloper.

The XML document that will be created and parsed is listed here:

<?xml version = '1.0' encoding = 'UTF-8'?>
<catalog>
<journal:journal journal:title="Oracle Magazine"
journal:publisher="Oracle Publishing" journal:edition=
"March-April 2008" xmlns:journal=
"http://xdk.com/catalog/journal">
<journal:article journal:section="Oracle Developer">
<journal:title>Declarative Data Filtering</journal:title>
<journal:author>Steve Muench</journal:author>
</journal:article>
</journal:journal>
<journal title="Oracle Magazine" publisher="Oracle
Publishing" edition="September-October 2008 ">
<article section="FEATURES">
<title>Share 2.0</title>
<author>Alan Joch</author>
</article>
</journal>
</catalog>

Some of the elements and attributes in the example XML document are in the namespace identified by URI http://xdk.com/catalog/journal, and namespace prefix journal. For example, the journal:journal element and the journal:edition attribute namespace nodes are included to demonstrate the creating and parsing of namespace nodes respectively.

The APIs of the oracle.xml.parsers.v2 and oracle.xml.jaxp packages are used to create and parse example XML documents. The oracle.xml.parsers.v2 package provides APIs for DOM (Document Object Model) and SAX (Simple API for XML) parsing. The oracle.xml.jaxp package provides APIs for obtaining parsers for DOM and SAX parsing.