Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
gnu.xml.dom.DomNode
gnu.xml.dom.DomDocument
Note that when this checks names for legality, it uses an approximation of the XML rules, not the real ones. Specifically, it uses Unicode rules, with sufficient tweaks to pass a majority of basic XML conformance tests. (The huge XML character tables are hairy to implement.)
Constructor Summary | |
| |
|
Method Summary | |
Node | |
Node |
|
Attr |
|
Attr |
|
CDATASection |
|
CDATASection |
|
Comment |
|
DocumentFragment |
|
Element |
|
Element |
|
EntityReference |
|
XPathExpression |
|
XPathNSResolver |
|
NodeIterator |
|
ProcessingInstruction |
|
Text |
|
Text |
|
TreeWalker |
|
Object |
|
String |
|
DocumentType |
|
Element |
|
String | |
DOMConfiguration | |
Element |
|
DOMImplementation |
|
String |
|
String |
|
boolean | |
String |
|
boolean | |
String | |
Node |
|
Node |
|
boolean |
|
String |
|
String |
|
void | |
Node |
|
Node |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
static void |
|
public DomDocument()
Constructs a Document node, associating it with an instance of the DomImpl class.Note that this constructor disables character checking. It is normally used when connecting a DOM to an XML parser, and duplicating such checks is undesirable. When used for purposes other than connecting to a parser, you should re-enable that checking.
- See Also:
DomDocument
protected DomDocument(DOMImplementation impl)
Constructs a Document node, associating it with the specified implementation. This should only be used in conjunction with a specialized implementation; it will normally be called by that implementation.
- See Also:
DomImpl
,DomDocument
public Node appendChild(Node newChild)
DOM L1 Appends the specified node to this node's list of children, enforcing the constraints that there be only one root element and one document type child.
- Specified by:
- appendChild in interface Node
- Overrides:
- appendChild in interface DomNode
public Attr createAttribute(String name)
DOM L1 Returns a newly created attribute with the specified name.
- Specified by:
- createAttribute in interface Document
public Attr createAttributeNS(String namespaceURI, String name)
DOM L2 Returns a newly created attribute with the specified name and namespace information.
- Specified by:
- createAttributeNS in interface Document
public CDATASection createCDATASection(String value)
DOM L1 Returns a newly created CDATA section node with the specified value.
- Specified by:
- createCDATASection in interface Document
public CDATASection createCDATASection(char[] buf, int off, int len)
Returns a newly created CDATA section node with the specified value.
public Comment createComment(String value)
DOM L1 Returns a newly created comment node with the specified value.
- Specified by:
- createComment in interface Document
public DocumentFragment createDocumentFragment()
DOM L1 Returns a newly created document fragment.
- Specified by:
- createDocumentFragment in interface Document
public Element createElement(String name)
DOM L1 Returns a newly created element with the specified name.
- Specified by:
- createElement in interface Document
public Element createElementNS(String namespaceURI, String name)
DOM L2 Returns a newly created element with the specified name and namespace information.
- Specified by:
- createElementNS in interface Document
public EntityReference createEntityReference(String name)
DOM L1 Returns a newly created reference to the specified entity. The caller should populate this with the appropriate children and then mark it as readonly.
- Specified by:
- createEntityReference in interface Document
- See Also:
DomNode.makeReadonly()
public XPathExpression createExpression(String expression, XPathNSResolver resolver) throws XPathException, DOMException
Creates a parsed XPath expression with resolved namespaces. This is useful when an expression will be reused in an application since it makes it possible to compile the expression string into a more efficient internal form and preresolve all namespace prefixes which occur within the expression.
- Specified by:
- createExpression in interface XPathEvaluator
- Parameters:
expression
- The XPath expression string to be parsed.resolver
- Theresolver
permits translation of all prefixes, including thexml
namespace prefix, within the XPath expression into appropriate namespace URIs. If this is specified asnull
, any namespace prefix within the expression will result inDOMException
being thrown with the codeNAMESPACE_ERR
.
- Returns:
- The compiled form of the XPath expression.
- Throws:
XPathException
- INVALID_EXPRESSION_ERR: Raised if the expression is not legal according to the rules of theXPathEvaluator
.DOMException
- NAMESPACE_ERR: Raised if the expression contains namespace prefixes which cannot be resolved by the specifiedXPathNSResolver
.
public XPathNSResolver createNSResolver(Node nodeResolver)
Adapts any DOM node to resolve namespaces so that an XPath expression can be easily evaluated relative to the context of the node where it appeared within the document. This adapter works like the DOM Level 3 methodlookupNamespaceURI
on nodes in resolving the namespaceURI from a given prefix using the current information available in the node's hierarchy at the time lookupNamespaceURI is called. also correctly resolving the implicit xml prefix.
- Specified by:
- createNSResolver in interface XPathEvaluator
- Parameters:
nodeResolver
- The node to be used as a context for namespace resolution.
- Returns:
XPathNSResolver
which resolves namespaces with respect to the definitions in scope for a specified node.
public NodeIterator createNodeIterator(Node root, int whatToShow, NodeFilter filter, boolean expandEntities)
DOM L2 (Traversal) Returns a newly created node iterator. Don't forget to detach this iterator when you're done using it!
- Specified by:
- createNodeIterator in interface DocumentTraversal
- See Also:
DomIterator
public ProcessingInstruction createProcessingInstruction(String target, String data)
DOM L1 Returns a newly created processing instruction.
- Specified by:
- createProcessingInstruction in interface Document
public Text createTextNode(String value)
DOM L1 Returns a newly created text node with the specified value.
- Specified by:
- createTextNode in interface Document
public Text createTextNode(char[] buf, int off, int len)
Returns a newly created text node with the specified value.
public TreeWalker createTreeWalker(Node root, int whatToShow, NodeFilter filter, boolean expandEntities)
- Specified by:
- createTreeWalker in interface DocumentTraversal
public Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) throws XPathException, DOMException
Evaluates an XPath expression string and returns a result of the specified type if possible.
- Specified by:
- evaluate in interface XPathEvaluator
- Parameters:
expression
- The XPath expression string to be parsed and evaluated.contextNode
- Thecontext
is context node for the evaluation of this XPath expression. If the XPathEvaluator was obtained by casting theDocument
then this must be owned by the same document and must be aDocument
,Element
,Attribute
,Text
,CDATASection
,Comment
,ProcessingInstruction
, orXPathNamespace
node. If the context node is aText
or aCDATASection
, then the context is interpreted as the whole logical text node as seen by XPath, unless the node is empty in which case it may not serve as the XPath context.resolver
- Theresolver
permits translation of all prefixes, including thexml
namespace prefix, within the XPath expression into appropriate namespace URIs. If this is specified asnull
, any namespace prefix within the expression will result inDOMException
being thrown with the codeNAMESPACE_ERR
.type
- If a specifictype
is specified, then the result will be returned as the corresponding type.For XPath 1.0 results, this must be one of the codes of theXPathResult
interface.result
- Theresult
specifies a specific result object which may be reused and returned by this method. If this is specified asnull
or the implementation does not reuse the specified result, a new result object will be constructed and returned.For XPath 1.0 results, this object will be of typeXPathResult
.
- Returns:
- The result of the evaluation of the XPath expression.For XPath 1.0 results, this object will be of type
XPathResult
.
- Throws:
XPathException
- INVALID_EXPRESSION_ERR: Raised if the expression is not legal according to the rules of theXPathEvaluator
i
TYPE_ERR: Raised if the result cannot be converted to return the specified type.DOMException
- NAMESPACE_ERR: Raised if the expression contains namespace prefixes which cannot be resolved by the specifiedXPathNSResolver
.
WRONG_DOCUMENT_ERR: The Node is from a document that is not supported by thisXPathEvaluator
.
NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath context node or the request type is not permitted by thisXPathEvaluator
.
public String getBaseURI()
The absolute base URI of this node ornull
if the implementation wasn't able to obtain an absolute URI. This value is computed as described in . However, when theDocument
supports the feature "HTML" [DOM Level 2 HTML] , the base URI is computed using first the value of the href attribute of the HTML BASE element if any, and the value of thedocumentURI
attribute from theDocument
interface otherwise.
- Specified by:
- getBaseURI in interface Node
- Overrides:
- getBaseURI in interface DomNode
- Since:
- DOM Level 3
public final DocumentType getDoctype()
DOM L1 Returns the document's DocumentType, or null.
- Specified by:
- getDoctype in interface Document
public final Element getDocumentElement()
DOM L1 Returns the document's root element, or null.
- Specified by:
- getDocumentElement in interface Document
public Element getElementById(String id)
DOM L1 (relocated in DOM L2) Returns the element with the specified "ID" attribute, or null.Returns null unless
Consumer
was used to populate internal DTD declaration information, using package-private APIs. If that internal DTD information is available, the document may be searched for the element with that ID.
- Specified by:
- getElementById in interface Document
public final DOMImplementation getImplementation()
DOM L1 Returns the document's DOMImplementation.
- Specified by:
- getImplementation in interface Document
public String getInputEncoding()
DOM L3
- Specified by:
- getInputEncoding in interface Document
public final String getNodeName()
DOM L1 Returns the constant "#document".
- Specified by:
- getNodeName in interface Node
- Overrides:
- getNodeName in interface DomNode
public boolean getStrictErrorChecking()
- Specified by:
- getStrictErrorChecking in interface Document
public String getXmlEncoding()
DOM L3
- Specified by:
- getXmlEncoding in interface Document
public boolean getXmlStandalone()
- Specified by:
- getXmlStandalone in interface Document
public Node importNode(Node src, boolean deep)
DOM L2 Makes a copy of the specified node, with all nodes "owned" by this document and with children optionally copied. This type of standard utility has become, well, a standard utility.Note that EntityReference nodes created through this method (either directly, or recursively) never have children, and that there is no portable way to associate them with such children.
Note also that there is no requirement that the specified node be associated with a different document. This differs from the cloneNode operation in that the node itself is not given an opportunity to participate, so that any information managed by node subclasses will be lost.
- Specified by:
- importNode in interface Document
public Node insertBefore(Node newChild, Node refChild)
DOM L1 Inserts the specified node in this node's list of children, enforcing the constraints that there be only one root element and one document type child.
- Specified by:
- insertBefore in interface Node
- Overrides:
- insertBefore in interface DomNode
public boolean isDefaultNamespace(String namespaceURI)
This method checks if the specifiednamespaceURI
is the default namespace or not.
- Specified by:
- isDefaultNamespace in interface Node
- Overrides:
- isDefaultNamespace in interface DomNode
- Parameters:
namespaceURI
- The namespace URI to look for.
- Returns:
- Returns
true
if the specifiednamespaceURI
is the default namespace,false
otherwise.
- Since:
- DOM Level 3
public String lookupNamespaceURI(String prefix)
Look up the namespace URI associated to the given prefix, starting from this node.
See for details on the algorithm used by this method.
- Specified by:
- lookupNamespaceURI in interface Node
- Overrides:
- lookupNamespaceURI in interface DomNode
- Parameters:
prefix
- The prefix to look for. If this parameter isnull
, the method will return the default namespace URI if any.
- Returns:
- Returns the associated namespace URI or
null
if none is found.
- Since:
- DOM Level 3
public String lookupPrefix(String namespaceURI)
Look up the prefix associated to the given namespace URI, starting from this node. The default namespace declarations are ignored by this method.
See for details on the algorithm used by this method.
- Specified by:
- lookupPrefix in interface Node
- Overrides:
- lookupPrefix in interface DomNode
- Parameters:
namespaceURI
- The namespace URI to look for.
- Returns:
- Returns an associated namespace prefix if found or
null
if none is found. If more than one prefix are associated to the namespace prefix, the returned namespace prefix is implementation dependent.
- Since:
- DOM Level 3
public void normalizeDocument()
- Specified by:
- normalizeDocument in interface Document
public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException
- Specified by:
- renameNode in interface Document
public Node replaceChild(Node newChild, Node refChild)
DOM L1 Replaces the specified node in this node's list of children, enforcing the constraints that there be only one root element and one document type child.
- Specified by:
- replaceChild in interface Node
- Overrides:
- replaceChild in interface DomNode
public void setBuilding(boolean flag)
Sets thebuilding
flag. Mutation events in the document are not reported.
public void setCheckWellformedness(boolean flag)
Sets whether to check for document well-formedness. If true, an exception will be raised if a second doctype or root element node is added to the document.
public void setDocumentURI(String documentURI)
- Specified by:
- setDocumentURI in interface Document
public void setInputEncoding(String inputEncoding)
public void setStrictErrorChecking(boolean strictErrorChecking)
- Specified by:
- setStrictErrorChecking in interface Document
public void setXmlEncoding(String encoding)
public void setXmlStandalone(boolean xmlStandalone)
- Specified by:
- setXmlStandalone in interface Document
public void setXmlVersion(String xmlVersion)
- Specified by:
- setXmlVersion in interface Document
public static void verifyXmlName(String name)
Deprecated. This method is deprecated and may be removed in future versions of GNU JAXP
Throws a DOM exception if the specified name is not a legal XML 1.0 Name.