background image

StAX Factory Classes

<< Development Goals | XMLOutputFactory Class >>
<< Development Goals | XMLOutputFactory Class >>

StAX Factory Classes

Using StAX
In general, StAX programmers create XML stream readers, writers, and events by using the
XMLInputFactory
, XMLOutputFactory, and XMLEventFactory classes. Configuration is done by
setting properties on the factories, whereby implementation-specific settings can be passed to
the underlying implementation using the setProperty method on the factories. Similarly,
implementation-specific settings can be queried using the getProperty factory method.
The XMLInputFactory, XMLOutputFactory, and XMLEventFactory classes are described below,
followed by discussions of resource allocation, namespace and attribute management, error
handling, and then finally reading and writing streams using the cursor and iterator APIs.
StAX Factory Classes
The StAX factory classes. XMLInputFactory, XMLOutputFactory, and XMLEventFactory, let you
define and configure implementation instances of XML stream reader, stream writer, and event
classes.
XMLInputFactory
Class
The XMLInputFactory class lets you configure implementation instances of XML stream reader
processors created by the factory. New instances of the abstract class XMLInputFactory are
created by calling the newInstance method on the class. The static method
XMLInputFactory.newInstance
is then used to create a new factory instance.
Deriving from JAXP, the XMLInputFactory.newInstance method determines the specific
XMLInputFactory
implementation class to load by using the following lookup procedure:
1. Use the javax.xml.stream.XMLInputFactory system property.
2. Use the lib/xml.stream.properties file in the J2SE Java Runtime Environment (JRE)
directory.
3. Use the Services API, if available, to determine the classname by looking in the
META-INF/services/javax.xml.stream.XMLInputFactory
files in JAR files available to
the JRE.
4. Use the platform default XMLInputFactory instance.
After getting a reference to an appropriate XMLInputFactory, an application can use the factory
to configure and create stream instances.
Table 18­4
lists the properties supported by
XMLInputFactory
. See the StAX specification for a more detailed listing.
Using StAX
Chapter 18 · Streaming API for XML
559