|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
DOM Level 3 WD Experimental: The DOM Level 3 specification is at the stage of Working Draft, which represents work in progress and thus may be updated, replaced, or obsoleted by other documents at any time. A interface to an object that is able to build a DOM tree from various input sources.
DOMBuilder provides an API for parsing XML documents and
building the corresponding DOM document tree. A DOMBuilder
instance is obtained by invoking the
DOMImplementationLS.createDOMBuilder method.
As specified in [DOM Level 3 Core] , when a document is first made available via the DOMBuilder:
Text node for each block of text. The
Text nodes are in "normal" form: only structure (e.g.
elements, comments, processing instructions, CDATA sections, and entity
references) separates Text nodes, i.e., there are neither
adjacent nor empty Text nodes.
value and nodeValue attributes of an
Attr node initially return the XML 1.0
normalized value. However, if the boolean parameters validate-if-schema and
datatype-normalization are set to true,
depending on the attribute normalization used, the attribute values may
differ from the ones obtained by the XML 1.0 attribute normalization. If
the boolean parameter datatype-normalization is set to
false, the XML 1.0 attribute normalization is guaranteed to
occur, and if attributes list does not contain namespace declarations,
the attributes attribute on Element node
represents the property [attributes] defined in [XML Information set]
. XML Schemas does not modify the XML attribute normalization but
represents their normalized value in an other information item property:
[schema normalized value]XML Schema normalization only occurs if
datatype-normalization is set to true.
Asynchronous DOMBuilder objects are expected to also
implement the events::EventTarget interface so that event
listeners can be registered on asynchronous DOMBuilder
objects.
Events supported by asynchronous DOMBuilder objects are:
LSLoadEvent
LSProgressEvent
Note: All events defined in this specification use the namespace URI "http://www.w3.org/2002/DOMLS". ED: State that a parse operation may fail due to security reasons (DOM LS telecon 20021202).
See also the Document Object Model (DOM) Level 3 Load and Save Specification.
| Field Summary | |
static short |
ACTION_APPEND_AS_CHILDREN
Append the result of the parse operation as children of the context node. |
static short |
ACTION_INSERT_AFTER
Insert the result of the parse operation as the immediately following sibling of the context node. |
static short |
ACTION_INSERT_BEFORE
Insert the result of the parse operation as the immediately preceeding sibling of the context node. |
static short |
ACTION_REPLACE
Replace the context node with the result of the parse operation. |
static short |
ACTION_REPLACE_CHILDREN
Replace all the children of the context node with the result of the parse operation. |
| Method Summary | |
void |
abort()
Abort the loading of the document that is currently being loaded by the DOMBuilder. |
boolean |
getAsync()
True if the DOMBuider is asynchronous, false if it is
synchronous. |
boolean |
getBusy()
True if the DOMBuider is currently busy loading a
document, otherwise false. |
org.apache.xerces.dom3.DOMConfiguration |
getConfig()
The configuration used when a document is loaded. |
DOMBuilderFilter |
getFilter()
When a filter is provided, the implementation will call out to the filter as it is constructing the DOM tree structure. |
Document |
parse(DOMInputSource is)
Parse an XML document from a resource identified by a DOMInputSource. |
Document |
parseURI(java.lang.String uri)
Parse an XML document from a location identified by a URI reference [IETF RFC 2396]. |
Node |
parseWithContext(DOMInputSource is,
Node cnode,
short action)
Parse an XML fragment from a resource identified by a DOMInputSource and insert the content into an existing
document at the position specified with the contextNode
and action arguments. |
void |
setFilter(DOMBuilderFilter filter)
When a filter is provided, the implementation will call out to the filter as it is constructing the DOM tree structure. |
| Field Detail |
public static final short ACTION_APPEND_AS_CHILDREN
Element or a DocumentFragment.public static final short ACTION_REPLACE_CHILDREN
Element or a DocumentFragment.public static final short ACTION_INSERT_BEFORE
Element or a
DocumentFragment.public static final short ACTION_INSERT_AFTER
Element or a
DocumentFragment.public static final short ACTION_REPLACE
Element or a
DocumentFragment.| Method Detail |
public org.apache.xerces.dom3.DOMConfiguration getConfig()
DOMConfiguration object used by the
Document nodes. The DOM application is responsible for
passing the parameters values from the DOMConfiguration
object referenced from the DOMBuilder to the
DOMConfiguration object referenced from the
Document node.
DOMConfiguration objects for
DOMBuider adds the following boolean parameters:
"entity-resolver"DOMEntityResolver object. If this parameter has been
specified, each time a reference to an external entity is encountered
the implementation will pass the public and system IDs to the entity
resolver, which can then specify the actual source of the entity. If
this parameter is not set, the resolution of entities in the document
is implementation dependent.
Note: When the features "LS-Load" or "LS-Save" are
supported, this parameter may also be supported by the
DOMConfiguration object referenced from the
Document node.
"certified"truefalse"charset-overrides-xml-encoding"trueDOMInputSource overrides encodings from the
protocol. false"supported-mediatypes-only"truefalse"unknown-characters"truefalsepublic DOMBuilderFilter getFilter()
DOMConfiguration parameters have been applied. For
example, if "validate" is set to true, the validation is
done before invoking the filter.public void setFilter(DOMBuilderFilter filter)
DOMConfiguration parameters have been applied. For
example, if "validate" is set to true, the validation is
done before invoking the filter.public boolean getAsync()
DOMBuider is asynchronous, false if it is
synchronous.public boolean getBusy()
DOMBuider is currently busy loading a
document, otherwise false.
public Document parse(DOMInputSource is)
throws DOMException
DOMInputSource.is - The DOMInputSource from which the source of
the document is to be read.DOMBuilder is a synchronous
DOMBuilder, the newly created and populated
Document is returned. If the DOMBuilder
is asynchronous, null is returned since the document
object may not yet be constructed when this method returns.DOMException - INVALID_STATE_ERR: Raised if the DOMBuilder's
DOMBuilder.busy attribute is true.
public Document parseURI(java.lang.String uri)
throws DOMException
uri - The location of the XML document to be read.DOMBuilder is a synchronous
DOMBuilder, the newly created and populated
Document is returned. If the DOMBuilder
is asynchronous, null is returned since the document
object may not yet be constructed when this method returns.DOMException - INVALID_STATE_ERR: Raised if the DOMBuilder's
DOMBuilder.busy attribute is true.
public Node parseWithContext(DOMInputSource is,
Node cnode,
short action)
throws DOMException
DOMInputSource and insert the content into an existing
document at the position specified with the contextNode
and action arguments. When parsing the input stream, the
context node is used for resolving unbound namespace prefixes. The
context node's ownerDocument node is used to resolve
default attributes and entity references.
is - The DOMInputSource from which the source
document is to be read. The source document must be an XML
fragment, i.e. anything except a complete XML document, a DOCTYPE
(internal subset), entity declaration(s), notation declaration(s),
or XML or text declaration(s).cnode - The node that is used as the context for the data that
is being parsed. This node must be a Document node, a
DocumentFragment node, or a node of a type that is
allowed as a child of an Element node, e.g. it can not
be an Attribute node.action - This parameter describes which action should be taken
between the new set of node being inserted and the existing
children of the context node. The set of possible actions is
defined above.DOMException - NOT_SUPPORTED_ERR: Raised if the DOMBuilder doesn't
support this method.
DOMBuilder's
DOMBuilder.busy attribute is true.public void abort()
DOMBuilder. If the DOMBuilder is
currently not busy, a call to this method does nothing.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||