|
|||||||||
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"
true
false
"charset-overrides-xml-encoding"
true
DOMInputSource
overrides encodings from the
protocol. false
"supported-mediatypes-only"
true
false
"unknown-characters"
true
false
public 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 |