Main Page | Class Hierarchy | Class List | Class Members

org::jdom::input::SAXBuilder Class Reference

List of all members.

Public Member Functions

 SAXBuilder ()
 SAXBuilder (boolean validate)
 SAXBuilder (String saxDriverClass)
 SAXBuilder (String saxDriverClass, boolean validate)
String getDriverClass ()
JDOMFactory getFactory ()
void setFactory (JDOMFactory factory)
boolean getValidation ()
void setValidation (boolean validate)
ErrorHandler getErrorHandler ()
void setErrorHandler (ErrorHandler errorHandler)
EntityResolver getEntityResolver ()
void setEntityResolver (EntityResolver entityResolver)
DTDHandler getDTDHandler ()
void setDTDHandler (DTDHandler dtdHandler)
XMLFilter getXMLFilter ()
void setXMLFilter (XMLFilter xmlFilter)
boolean getIgnoringElementContentWhitespace ()
void setIgnoringElementContentWhitespace (boolean ignoringWhite)
boolean getReuseParser ()
void setReuseParser (boolean reuseParser)
void setFeature (String name, boolean value)
void setProperty (String name, Object value)
Document build (InputSource in) throws JDOMException, IOException
Document build (InputStream in) throws JDOMException, IOException
Document build (File file) throws JDOMException, IOException
Document build (URL url) throws JDOMException, IOException
Document build (InputStream in, String systemId) throws JDOMException, IOException
Document build (Reader characterStream) throws JDOMException, IOException
Document build (Reader characterStream, String systemId) throws JDOMException, IOException
Document build (String systemId) throws JDOMException, IOException
boolean getExpandEntities ()
void setExpandEntities (boolean expand)

Protected Member Functions

SAXHandler createContentHandler ()
void configureContentHandler (SAXHandler contentHandler)
XMLReader createParser () throws JDOMException
void configureParser (XMLReader parser, SAXHandler contentHandler) throws JDOMException

Detailed Description

Builds a JDOM document from files, streams, readers, URLs, or a SAX org.xml.sax.InputSource instance using a SAX parser. The builder uses a third-party SAX parser (chosen by JAXP by default, or you can choose manually) to handle the parsing duties and simply listens to the SAX events to construct a document. Details which SAX does not provide, such as whitespace outside the root element, are not represented in the JDOM document. Information about SAX can be found at http://www.saxproject.org.

Known issues: Relative paths for a DocType or EntityRef may be converted by the SAX parser into absolute paths.

Version:
Revision
1.89
,
Date
2004/09/03 18:24:28
Author:
Jason Hunter

Brett McLaughlin

Dan Schaffer

Philip Nelson

Alex Rosen


Constructor & Destructor Documentation

org::jdom::input::SAXBuilder::SAXBuilder  )  [inline]
 

Creates a new SAXBuilder which will attempt to first locate a parser via JAXP, then will try to use a set of default SAX Drivers. The underlying parser will not validate.

org::jdom::input::SAXBuilder::SAXBuilder boolean  validate  )  [inline]
 

Creates a new SAXBuilder which will attempt to first locate a parser via JAXP, then will try to use a set of default SAX Drivers. The underlying parser will validate or not according to the given parameter.

Parameters:
validate boolean indicating if validation should occur.

org::jdom::input::SAXBuilder::SAXBuilder String  saxDriverClass  )  [inline]
 

Creates a new SAXBuilder using the specified SAX parser. The underlying parser will not validate.

Parameters:
saxDriverClass String name of SAX Driver to use for parsing.

org::jdom::input::SAXBuilder::SAXBuilder String  saxDriverClass,
boolean  validate
[inline]
 

Creates a new SAXBuilder using the specified SAX parser. The underlying parser will validate or not according to the given parameter.

Parameters:
saxDriverClass String name of SAX Driver to use for parsing.
validate boolean indicating if validation should occur.


Member Function Documentation

Document org::jdom::input::SAXBuilder::build String  systemId  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied URI.

Parameters:
systemId URI for the input
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

Document org::jdom::input::SAXBuilder::build Reader  characterStream,
String  systemId
throws JDOMException, IOException [inline]
 

This builds a document from the supplied Reader. It's the programmer's responsibility to make sure the reader matches the encoding of the file. It's often easier and safer to use an InputStream rather than a Reader, and to let the parser auto-detect the encoding from the XML declaration.

Parameters:
characterStream Reader to read from.
systemId base for resolving relative URIs
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

Document org::jdom::input::SAXBuilder::build Reader  characterStream  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied Reader. It's the programmer's responsibility to make sure the reader matches the encoding of the file. It's often easier and safer to use an InputStream rather than a Reader, and to let the parser auto-detect the encoding from the XML declaration.

Parameters:
characterStream Reader to read from
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

Document org::jdom::input::SAXBuilder::build InputStream  in,
String  systemId
throws JDOMException, IOException [inline]
 

This builds a document from the supplied input stream.

Parameters:
in InputStream to read from.
systemId base for resolving relative URIs
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

Document org::jdom::input::SAXBuilder::build URL  url  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied URL.

Parameters:
url URL to read from.
Returns:
Document - resultant Document object.
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed.

Document org::jdom::input::SAXBuilder::build File  file  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied filename.

Parameters:
file File to read from
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

Document org::jdom::input::SAXBuilder::build InputStream  in  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied input stream.

Parameters:
in InputStream to read from
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed.

Document org::jdom::input::SAXBuilder::build InputSource  in  )  throws JDOMException, IOException [inline]
 

This builds a document from the supplied input source.

Parameters:
in InputSource to read from
Returns:
Document resultant Document object
Exceptions:
JDOMException when errors occur in parsing
IOException when an I/O error prevents a document from being fully parsed

void org::jdom::input::SAXBuilder::configureContentHandler SAXHandler  contentHandler  )  [inline, protected]
 

This configures the SAXHandler that will be used to build the Document.

The default implementation simply passes through some configuration settings that were set on the SAXBuilder: setExpandEntities() and setIgnoringElementContentWhitespace().

void org::jdom::input::SAXBuilder::configureParser XMLReader  parser,
SAXHandler  contentHandler
throws JDOMException [inline, protected]
 

This configures the XMLReader to be used for reading the XML document.

The default implementation sets various options on the given XMLReader, such as validation, DTD resolution, entity handlers, etc., according to the options that were set (e.g. via setEntityResolver) and set various SAX properties and features that are required for JDOM internals. These features may change in future releases, so change this behavior at your own risk.

SAXHandler org::jdom::input::SAXBuilder::createContentHandler  )  [inline, protected]
 

This creates the SAXHandler that will be used to build the Document.

Returns:
SAXHandler - resultant SAXHandler object.

XMLReader org::jdom::input::SAXBuilder::createParser  )  throws JDOMException [inline, protected]
 

This creates the XMLReader to be used for reading the XML document.

The default behavior is to (1) use the saxDriverClass, if it has been set, (2) try to obtain a parser from JAXP, if it is available, and (3) if all else fails, use a hard-coded default parser (currently the Xerces parser). Subclasses may override this method to determine the parser to use in a different way.

Returns:
XMLReader - resultant XMLReader object.

String org::jdom::input::SAXBuilder::getDriverClass  )  [inline]
 

Returns the driver class assigned in the constructor, or null if none.

Returns:
the driver class assigned in the constructor

DTDHandler org::jdom::input::SAXBuilder::getDTDHandler  )  [inline]
 

Returns the DTDHandler assigned, or null if none.

Returns:
the DTDHandler assigned

EntityResolver org::jdom::input::SAXBuilder::getEntityResolver  )  [inline]
 

Returns the EntityResolver assigned, or null if none.

Returns:
the EntityResolver assigned

ErrorHandler org::jdom::input::SAXBuilder::getErrorHandler  )  [inline]
 

Returns the ErrorHandler assigned, or null if none.

Returns:
the ErrorHandler assigned, or null if none

boolean org::jdom::input::SAXBuilder::getExpandEntities  )  [inline]
 

Returns whether or not entities are being expanded into normal text content.

Returns:
whether entities are being expanded

JDOMFactory org::jdom::input::SAXBuilder::getFactory  )  [inline]
 

Returns the current org.jdom.JDOMFactory in use.

Returns:
the factory in use

boolean org::jdom::input::SAXBuilder::getIgnoringElementContentWhitespace  )  [inline]
 

Returns whether element content whitespace is to be ignored during the build.

Returns:
whether element content whitespace is to be ignored during the build

boolean org::jdom::input::SAXBuilder::getReuseParser  )  [inline]
 

Returns whether the contained SAX parser instance is reused across multiple parses. The default is true.

Returns:
whether the contained SAX parser instance is reused across multiple parses

boolean org::jdom::input::SAXBuilder::getValidation  )  [inline]
 

Returns whether validation is to be performed during the build.

Returns:
whether validation is to be performed during the build

XMLFilter org::jdom::input::SAXBuilder::getXMLFilter  )  [inline]
 

Returns the XMLFilter used during parsing, or null if none.

Returns:
the XMLFilter used during parsing

void org::jdom::input::SAXBuilder::setDTDHandler DTDHandler  dtdHandler  )  [inline]
 

This sets custom DTDHandler for the Builder.

Parameters:
dtdHandler DTDHandler

void org::jdom::input::SAXBuilder::setEntityResolver EntityResolver  entityResolver  )  [inline]
 

This sets custom EntityResolver for the Builder.

Parameters:
entityResolver EntityResolver

void org::jdom::input::SAXBuilder::setErrorHandler ErrorHandler  errorHandler  )  [inline]
 

This sets custom ErrorHandler for the Builder.

Parameters:
errorHandler ErrorHandler

void org::jdom::input::SAXBuilder::setExpandEntities boolean  expand  )  [inline]
 

This sets whether or not to expand entities for the builder. A true means to expand entities as normal content. A false means to leave entities unexpanded as EntityRef objects. The default is true.

When this setting is false, the internal DTD subset is retained; when this setting is true, the internal DTD subset is not retained.

Note that Xerces (at least up to 1.4.4) has a bug where entities in attribute values will be misreported if this flag is turned off, resulting in entities to appear within element content. When turning entity expansion off either avoid entities in attribute values, or use another parser like Crimson. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6111

Parameters:
expand boolean indicating whether entity expansion should occur.

void org::jdom::input::SAXBuilder::setFactory JDOMFactory  factory  )  [inline]
 

This sets a custom JDOMFactory for the builder. Use this to build the tree with your own subclasses of the JDOM classes.

Parameters:
factory JDOMFactory to use

void org::jdom::input::SAXBuilder::setFeature String  name,
boolean  value
[inline]
 

This sets a feature on the SAX parser. See the SAX documentation for

NOTE: SAXBuilder requires that some particular features of the SAX parser be set up in certain ways for it to work properly. The list of such features may change in the future. Therefore, the use of this method may cause parsing to break, and even if it doesn't break anything today it might break parsing in a future JDOM version, because what JDOM parsers require may change over time. Use with caution.

Parameters:
name The feature name, which is a fully-qualified URI.
value The requested state of the feature (true or false).

void org::jdom::input::SAXBuilder::setIgnoringElementContentWhitespace boolean  ignoringWhite  )  [inline]
 

Specifies whether or not the parser should elminate whitespace in element content (sometimes known as "ignorable whitespace") when building the document. Only whitespace which is contained within element content that has an element only content model will be eliminated (see XML Rec 3.2.1). For this setting to take effect requires that validation be turned on. The default value of this setting is false.

Parameters:
ignoringWhite Whether to ignore ignorable whitespace

void org::jdom::input::SAXBuilder::setProperty String  name,
Object  value
[inline]
 

This sets a property on the SAX parser. See the SAX documentation for more information.

NOTE: SAXBuilder requires that some particular properties of the SAX parser be set up in certain ways for it to work properly. The list of such properties may change in the future. Therefore, the use of this method may cause parsing to break, and even if it doesn't break anything today it might break parsing in a future JDOM version, because what JDOM parsers require may change over time. Use with caution.

Parameters:
name The property name, which is a fully-qualified URI.
value The requested value for the property.

void org::jdom::input::SAXBuilder::setReuseParser boolean  reuseParser  )  [inline]
 

Specifies whether this builder shall reuse the same SAX parser when performing subsequent parses or allocate a new parser for each parse. The default value of this setting is true (parser reuse).

Note: As SAX parser instances are not thread safe, the parser reuse feature should not be used with SAXBuilder instances shared among threads.

Parameters:
reuseParser Whether to reuse the SAX parser.

void org::jdom::input::SAXBuilder::setValidation boolean  validate  )  [inline]
 

This sets validation for the builder.

Parameters:
validate boolean indicating whether validation should occur.

void org::jdom::input::SAXBuilder::setXMLFilter XMLFilter  xmlFilter  )  [inline]
 

This sets a custom org.xml.sax.XMLFilter for the builder.

Parameters:
xmlFilter the filter to use


The documentation for this class was generated from the following file:
Generated on Thu Dec 9 10:42:05 2004 for JDOM by  doxygen 1.3.9.1