org.apache.commons.jxpath.xml

Class DocumentContainer

Implemented Interfaces:
Container, XMLParser

public class DocumentContainer
extends XMLParser2
implements Container

An XML document container reads and parses XML only when it is accessed. JXPath traverses Containers transparently - you use the same paths to access objects in containers as you do to access those objects directly. You can create XMLDocumentContainers for various XML documents that may or may not be accessed by XPaths. If they are, they will be automatically read, parsed and traversed. If they are not - they won't be read at all.
Version:
$Revision: 1.9 $ $Date: 2004/02/29 14:17:37 $
Author:
Dmitri Plotnikov

Field Summary

static String
MODEL_DOM
static String
MODEL_JDOM

Constructor Summary

DocumentContainer(URL xmlURL)
Use this constructor if the desired model is DOM.
DocumentContainer(URL xmlURL, String model)

Method Summary

Object
getValue()
Reads XML, caches it internally and returns the Document.
Object
parseXML(InputStream stream)
Parses XML using the parser for the specified model.
static void
registerXMLParser(String model, String parserClassName)
Add a class of a custom XML parser.
static void
registerXMLParser(String model, XMLParser parser)
Add an XML parser.
void
setValue(Object value)
Throws an UnsupportedOperationException

Methods inherited from class org.apache.commons.jxpath.xml.XMLParser2

isCoalescing, isExpandEntityReferences, isIgnoringComments, isIgnoringElementContentWhitespace, isNamespaceAware, isValidating, parseXML, setCoalescing, setExpandEntityReferences, setIgnoringComments, setIgnoringElementContentWhitespace, setNamespaceAware, setValidating

Field Details

MODEL_DOM

public static final String MODEL_DOM

MODEL_JDOM

public static final String MODEL_JDOM

Constructor Details

DocumentContainer

public DocumentContainer(URL xmlURL)
Use this constructor if the desired model is DOM.
Parameters:

DocumentContainer

public DocumentContainer(URL xmlURL,
                         String model)
Parameters:
model - is one of the MODEL_* constants defined in this class. It determines which parser should be used to load the XML.

Method Details

getValue

public Object getValue()
Reads XML, caches it internally and returns the Document.
Specified by:
getValue in interface Container

parseXML

public Object parseXML(InputStream stream)
Parses XML using the parser for the specified model.
Specified by:
parseXML in interface XMLParser
Overrides:
parseXML in interface XMLParser2

registerXMLParser

public static void registerXMLParser(String model,
                                     String parserClassName)
Add a class of a custom XML parser. Parsers for the models "DOM" and "JDOM" are pre-registered.

registerXMLParser

public static void registerXMLParser(String model,
                                     XMLParser parser)
Add an XML parser. Parsers for the models "DOM" and "JDOM" are pre-registered.

setValue

public void setValue(Object value)
Throws an UnsupportedOperationException
Specified by:
setValue in interface Container