org.apache.html.dom
Class HTMLDocumentImpl

java.lang.Object
  extended byorg.apache.xerces.dom.NodeImpl
      extended byorg.apache.xerces.dom.ChildNode
          extended byorg.apache.xerces.dom.ParentNode
              extended byorg.apache.xerces.dom.CoreDocumentImpl
                  extended byorg.apache.xerces.dom.DocumentImpl
                      extended byorg.apache.html.dom.HTMLDocumentImpl
All Implemented Interfaces:
java.lang.Cloneable, org.w3c.dom.Document, org.w3c.dom.events.DocumentEvent, org.w3c.dom.ranges.DocumentRange, org.w3c.dom.traversal.DocumentTraversal, org.w3c.dom.events.EventTarget, org.w3c.dom.html.HTMLDocument, org.w3c.dom.Node, org.w3c.dom.NodeList, java.io.Serializable

public class HTMLDocumentImpl
extends org.apache.xerces.dom.DocumentImpl
implements org.w3c.dom.html.HTMLDocument

Implements an HTML document. Provides access to the top level element in the document, its body and title.

Several methods create new nodes of all basic types (comment, text, element, etc.). These methods create new nodes but do not place them in the document tree. The nodes may be placed in the document tree using Node.appendChild(org.w3c.dom.Node) or Node.insertBefore(org.w3c.dom.Node, org.w3c.dom.Node), or they may be placed in some other document tree.

Note: <FRAMESET> documents are not supported at the moment, neither are direct document writing (open(), write(java.lang.String)) and HTTP attribute methods (getURL(), getCookie()).

Version:
$Revision: 1029426 $ $Date: 2010-10-31 22:55:00 +0530 (Sun, 31 Oct 2010) $
Author:
Assaf Arkin
See Also:
HTMLDocument, Serialized Form

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.

Field Summary
 
Fields inherited from class org.apache.xerces.dom.DocumentImpl
eventListeners, iteratorReferenceQueue, iterators, mutationEvents, rangeReferenceQueue, ranges
 
Fields inherited from class org.apache.xerces.dom.CoreDocumentImpl
actualEncoding, allowGrammarAccess, changes, docElement, docType, encoding, errorChecking, fDocumentURI, identifiers, standalone, userData, version, xmlVersionChanged
 
Fields inherited from class org.apache.xerces.dom.ParentNode
firstChild, fNodeListCache, ownerDocument
 
Fields inherited from class org.apache.xerces.dom.ChildNode
nextSibling, previousSibling
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
HTMLDocumentImpl()
           
 
Method Summary
protected  boolean canRenameElements(java.lang.String newNamespaceURI, java.lang.String newNodeName, org.apache.xerces.dom.ElementImpl el)
           
 org.w3c.dom.Node cloneNode(boolean deep)
          Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
 void close()
          Closes a document stream opened by open()and forces rendering.
 org.w3c.dom.Attr createAttribute(java.lang.String name)
          Creates an Attribute having this Document as its OwnerDoc.
 org.w3c.dom.Element createElement(java.lang.String tagName)
          Creates an element of the type specified.
 org.w3c.dom.Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
          Creates an element of the given qualified name and namespace URI.
 org.w3c.dom.Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String localpart)
          Xerces-specific constructor.
 org.w3c.dom.html.HTMLCollection getAnchors()
          A collection of all the anchor (A) elements in a document with a value for the name attribute.Note.
 org.w3c.dom.html.HTMLCollection getApplets()
          A collection of all the OBJECT elements that includeapplets and APPLET (deprecated) elements ina document.
 org.w3c.dom.html.HTMLElement getBody()
          The element that contains the content for the document.
 java.lang.String getCookie()
          The cookies associated with this document.
 org.w3c.dom.Element getDocumentElement()
          This is a convenience attribute that allows direct access to the child node that is the document element of the document.
 java.lang.String getDomain()
          The domain name of the server that served the document, or a nullstring if the server cannot be identified by a domain name.
 org.w3c.dom.Element getElementById(java.lang.String elementId)
          Returns the Element whose id is given by elementId.
 org.w3c.dom.NodeList getElementsByName(java.lang.String elementName)
          Returns the (possibly empty) collection of elements whosename value is given by elementName.
 org.w3c.dom.NodeList getElementsByTagName(java.lang.String tagName)
          Returns a NodeList of all the Elements in document order with a given tag name and are contained in the document.
 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
          Returns a NodeList of all the Elements with a given local name and namespace URI in document order.
 org.w3c.dom.html.HTMLCollection getForms()
          A collection of all the forms of a document.
 org.w3c.dom.html.HTMLElement getHead()
          Obtains the <HEAD> element in the document, creating one if does not exist before.
 org.w3c.dom.html.HTMLCollection getImages()
          A collection of all the IMG elements in a document.The behavior is limited to IMG elements forbackwards compatibility.
 org.w3c.dom.html.HTMLCollection getLinks()
          A collection of all AREA elements andanchor (A) elements in a documentwith a value for the href attribute.
 java.lang.String getReferrer()
          Returns the URI of the page that linked to this page.
 java.lang.String getTitle()
          The title of a document as specified by the TITLEelement in the head of the document.
 java.lang.String getURL()
          The complete URI of the document.
 void open()
          Note.This method and the ones following allow a user to add to or replace the structuremodel of a document using strings of unparsed HTML.
 void setBody(org.w3c.dom.html.HTMLElement newBody)
           
 void setCookie(java.lang.String cookie)
           
 void setTitle(java.lang.String newTitle)
           
 void write(java.lang.String text)
          Write a string of text to a document stream opened byopen().
 void writeln(java.lang.String text)
          Write a string of text followed by a newline character to a document stream opened by open().
 
Methods inherited from class org.apache.xerces.dom.DocumentImpl
addEventListener, copyEventListeners, createEvent, createNodeIterator, createNodeIterator, createRange, createTreeWalker, createTreeWalker, dispatchAggregateEvents, dispatchAggregateEvents, dispatchEvent, dispatchEventToSubtree, dispatchingEventToSubtree, getEventListeners, getImplementation, removeEventListener, saveEnclosingAttr, setEventListeners
 
Methods inherited from class org.apache.xerces.dom.CoreDocumentImpl
abort, adoptNode, callUserDataHandlers, changed, changes, checkDOMNSErr, checkNamespaceWF, checkQName, clearIdentifiers, clone, cloneNode, createAttributeNS, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createDocumentType, createElementDefinition, createEntity, createEntityReference, createNotation, createProcessingInstruction, createTextNode, getAsync, getBaseURI, getDoctype, getDocumentURI, getDomConfig, getEncoding, getErrorChecking, getFeature, getIdentifier, getIdentifiers, getInputEncoding, getNodeName, getNodeNumber, getNodeNumber, getNodeType, getOwnerDocument, getStandalone, getStrictErrorChecking, getTextContent, getUserData, getUserData, getUserDataRecord, getVersion, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, insertBefore, isKidOK, isValidQName, isXMLName, load, loadXML, normalizeDocument, putIdentifier, removeChild, removeIdentifier, renameNode, replaceChild, saveXML, setAsync, setDocumentURI, setEncoding, setErrorChecking, setInputEncoding, setStandalone, setStrictErrorChecking, setTextContent, setUserData, setUserData, setVersion, setXmlEncoding, setXmlStandalone, setXmlVersion, undeferChildren
 
Methods inherited from class org.apache.xerces.dom.ParentNode
getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, hasChildNodes, isEqualNode, item, normalize, setOwnerDocument, setReadOnly, synchronizeChildren
 
Methods inherited from class org.apache.xerces.dom.ChildNode
getNextSibling, getParentNode, getPreviousSibling
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getContainer, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, getUserDataRecord, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, synchronizeData, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Document
adoptNode, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createEntityReference, createProcessingInstruction, createTextNode, getDoctype, getDocumentURI, getDomConfig, getImplementation, getInputEncoding, getStrictErrorChecking, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, normalizeDocument, renameNode, setDocumentURI, setStrictErrorChecking, setXmlStandalone, setXmlVersion
 
Methods inherited from interface org.w3c.dom.Node
appendChild, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

HTMLDocumentImpl

public HTMLDocumentImpl()
Method Detail

getDocumentElement

public org.w3c.dom.Element getDocumentElement()
Description copied from interface: org.w3c.dom.Document
This is a convenience attribute that allows direct access to the child node that is the document element of the document.

Specified by:
getDocumentElement in interface org.w3c.dom.Document

getHead

public org.w3c.dom.html.HTMLElement getHead()
Obtains the <HEAD> element in the document, creating one if does not exist before. The <HEAD> element is the first element in the <HTML> in the document. The <HTML> element is obtained by calling getDocumentElement(). If the element does not exist, one is created.

Called by getTitle(), setTitle(java.lang.String), getBody() and setBody(org.w3c.dom.html.HTMLElement) to assure the document has the <HEAD> element correctly placed.

Returns:
The <HEAD> element

getTitle

public java.lang.String getTitle()
Description copied from interface: org.w3c.dom.html.HTMLDocument
The title of a document as specified by the TITLEelement in the head of the document.

Specified by:
getTitle in interface org.w3c.dom.html.HTMLDocument

setTitle

public void setTitle(java.lang.String newTitle)
Specified by:
setTitle in interface org.w3c.dom.html.HTMLDocument

getBody

public org.w3c.dom.html.HTMLElement getBody()
Description copied from interface: org.w3c.dom.html.HTMLDocument
The element that contains the content for the document. In documentswith BODY contents, returns the BODYelement, and in frameset documents, this returns the outermostFRAMESET element.

Specified by:
getBody in interface org.w3c.dom.html.HTMLDocument

setBody

public void setBody(org.w3c.dom.html.HTMLElement newBody)
Specified by:
setBody in interface org.w3c.dom.html.HTMLDocument

getElementById

public org.w3c.dom.Element getElementById(java.lang.String elementId)
Description copied from interface: org.w3c.dom.html.HTMLDocument
Returns the Element whose id is given by elementId. If no such element exists, returns null. Behavior is not defined if more than one element has this id.

Specified by:
getElementById in interface org.w3c.dom.html.HTMLDocument
See Also:
CoreDocumentImpl.getIdentifier(java.lang.String)

getElementsByName

public org.w3c.dom.NodeList getElementsByName(java.lang.String elementName)
Description copied from interface: org.w3c.dom.html.HTMLDocument
Returns the (possibly empty) collection of elements whosename value is given by elementName.

Specified by:
getElementsByName in interface org.w3c.dom.html.HTMLDocument
Parameters:
elementName - The name attribute value for an element.
Returns:
The matching elements.

getElementsByTagName

public final org.w3c.dom.NodeList getElementsByTagName(java.lang.String tagName)
Description copied from interface: org.w3c.dom.Document
Returns a NodeList of all the Elements in document order with a given tag name and are contained in the document.

Specified by:
getElementsByTagName in interface org.w3c.dom.Document
Parameters:
tagName - The type of Element we want to gather. "*" will be taken as a wildcard, meaning "all elements in the document."
See Also:
DeepNodeListImpl

getElementsByTagNameNS

public final org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                                         java.lang.String localName)
Description copied from interface: org.w3c.dom.Document
Returns a NodeList of all the Elements with a given local name and namespace URI in document order.

Specified by:
getElementsByTagNameNS in interface org.w3c.dom.Document
Parameters:
namespaceURI - The namespace URI of the elements to match on. The special value "*" matches all namespaces. When it is null or an empty string, this method behaves like getElementsByTagName.
localName - The local name of the elements to match on. The special value "*" matches all local names.
Returns:
NodeList A new NodeList object containing all the matched Elements.

createElementNS

public org.w3c.dom.Element createElementNS(java.lang.String namespaceURI,
                                           java.lang.String qualifiedName,
                                           java.lang.String localpart)
                                    throws org.w3c.dom.DOMException
Xerces-specific constructor. "localName" is passed in, so we don't need to create a new String for it.

Parameters:
namespaceURI - The namespace URI of the element to create.
qualifiedName - The qualified name of the element type to instantiate.
localpart - The local name of the element to instantiate.
Returns:
Element A new Element object with the following attributes:
Throws:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.

createElementNS

public org.w3c.dom.Element createElementNS(java.lang.String namespaceURI,
                                           java.lang.String qualifiedName)
Description copied from interface: org.w3c.dom.Document
Creates an element of the given qualified name and namespace URI.
Per [XML Namespaces] , applications must use the value null as the namespaceURI parameter for methods if they wish to have no namespace.

Specified by:
createElementNS in interface org.w3c.dom.Document
Parameters:
namespaceURI - The namespace URI of the element to create.
qualifiedName - The qualified name of the element type to instantiate.
Returns:
Element A new Element object with the following attributes:

createElement

public org.w3c.dom.Element createElement(java.lang.String tagName)
                                  throws org.w3c.dom.DOMException
Description copied from interface: org.w3c.dom.Document
Creates an element of the type specified. Note that the instance returned implements the Element interface, so attributes can be specified directly on the returned object.
In addition, if there are known attributes with default values, Attr nodes representing them are automatically created and attached to the element.
To create an element with a qualified name and namespace URI, use the createElementNS method.

Specified by:
createElement in interface org.w3c.dom.Document
Parameters:
tagName - The name of the element type to instantiate. For XML, this is case-sensitive. For HTML, the tagName parameter may be provided in any case, but it must be mapped to the canonical uppercase form by the DOM implementation.
Throws:
org.w3c.dom.DOMException

createAttribute

public org.w3c.dom.Attr createAttribute(java.lang.String name)
                                 throws org.w3c.dom.DOMException
Creates an Attribute having this Document as its OwnerDoc. Overrides CoreDocumentImpl.createAttribute(java.lang.String) and returns and attribute whose name is lower case.

Specified by:
createAttribute in interface org.w3c.dom.Document
Parameters:
name - The name of the attribute
Returns:
An attribute whose name is all lower case
Throws:
DOMException(INVALID_NAME_ERR) - if the attribute name is not acceptable
org.w3c.dom.DOMException

getReferrer

public java.lang.String getReferrer()
Description copied from interface: org.w3c.dom.html.HTMLDocument
Returns the URI of the page that linked to this page. The value isan empty string if the user navigated to the page directly (notthrough a link, but, for example, via a bookmark).

Specified by:
getReferrer in interface org.w3c.dom.html.HTMLDocument

getDomain

public java.lang.String getDomain()
Description copied from interface: org.w3c.dom.html.HTMLDocument
The domain name of the server that served the document, or a nullstring if the server cannot be identified by a domain name.

Specified by:
getDomain in interface org.w3c.dom.html.HTMLDocument

getURL

public java.lang.String getURL()
Description copied from interface: org.w3c.dom.html.HTMLDocument
The complete URI of the document.

Specified by:
getURL in interface org.w3c.dom.html.HTMLDocument

getCookie

public java.lang.String getCookie()
Description copied from interface: org.w3c.dom.html.HTMLDocument
The cookies associated with this document. If there are none, thevalue is an empty string. Otherwise, the value is a string: asemicolon-delimited list of "name, value" pairs for all the cookiesassociated with the page. For example, name=value;expires=date.

Specified by:
getCookie in interface org.w3c.dom.html.HTMLDocument

setCookie

public void setCookie(java.lang.String cookie)
Specified by:
setCookie in interface org.w3c.dom.html.HTMLDocument

getImages

public org.w3c.dom.html.HTMLCollection getImages()
Description copied from interface: org.w3c.dom.html.HTMLDocument
A collection of all the IMG elements in a document.The behavior is limited to IMG elements forbackwards compatibility.

Specified by:
getImages in interface org.w3c.dom.html.HTMLDocument

getApplets

public org.w3c.dom.html.HTMLCollection getApplets()
Description copied from interface: org.w3c.dom.html.HTMLDocument
A collection of all the OBJECT elements that includeapplets and APPLET (deprecated) elements ina document.

Specified by:
getApplets in interface org.w3c.dom.html.HTMLDocument

getLinks

public org.w3c.dom.html.HTMLCollection getLinks()
Description copied from interface: org.w3c.dom.html.HTMLDocument
A collection of all AREA elements andanchor (A) elements in a documentwith a value for the href attribute.

Specified by:
getLinks in interface org.w3c.dom.html.HTMLDocument

getForms

public org.w3c.dom.html.HTMLCollection getForms()
Description copied from interface: org.w3c.dom.html.HTMLDocument
A collection of all the forms of a document.

Specified by:
getForms in interface org.w3c.dom.html.HTMLDocument

getAnchors

public org.w3c.dom.html.HTMLCollection getAnchors()
Description copied from interface: org.w3c.dom.html.HTMLDocument
A collection of all the anchor (A) elements in a document with a value for the name attribute.Note. For reasons of backwardscompatibility, the returned set of anchors only contains those anchors created with the name attribute, not those created with the id attribute.

Specified by:
getAnchors in interface org.w3c.dom.html.HTMLDocument

open

public void open()
Description copied from interface: org.w3c.dom.html.HTMLDocument
Note.This method and the ones following allow a user to add to or replace the structuremodel of a document using strings of unparsed HTML. At the time of writing alternate methods for providing similar functionality for both HTML and XML documents were being considered. The following methodsmay be deprecated at some point in the future in favor of a more general-purpose mechanism.
Open a document stream for writing. If a document exists in the target, this method clears it.

Specified by:
open in interface org.w3c.dom.html.HTMLDocument

close

public void close()
Description copied from interface: org.w3c.dom.html.HTMLDocument
Closes a document stream opened by open()and forces rendering.

Specified by:
close in interface org.w3c.dom.html.HTMLDocument

write

public void write(java.lang.String text)
Description copied from interface: org.w3c.dom.html.HTMLDocument
Write a string of text to a document stream opened byopen(). The text is parsed into the document's structuremodel.

Specified by:
write in interface org.w3c.dom.html.HTMLDocument
Parameters:
text - The string to be parsed into some structure in the document structuremodel.

writeln

public void writeln(java.lang.String text)
Description copied from interface: org.w3c.dom.html.HTMLDocument
Write a string of text followed by a newline character to a document stream opened by open(). The text is parsed into the document's structure model.

Specified by:
writeln in interface org.w3c.dom.html.HTMLDocument
Parameters:
text - The string to be parsed into some structure in the document structuremodel.

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Description copied from interface: org.w3c.dom.Node
Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent ( parentNode is null) and no user data. User data associated to the imported node is not carried over. However, if any UserDataHandlers has been specified along with the associated data these handlers will be called with the appropriate parameters before this method returns.
Cloning an Element copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any children it contains unless it is a deep clone. This includes text contained in an the Element since the text is contained in a child Text node. Cloning an Attr directly, as opposed to be cloned as part of an Element cloning operation, returns a specified attribute (specified is true). Cloning an Attr always clones its children, since they represent its value, no matter whether this is a deep clone or not. Cloning an EntityReference automatically constructs its subtree if a corresponding Entity is available, no matter whether this is a deep clone or not. Cloning any other type of node simply returns a copy of this node.
Note that cloning an immutable subtree results in a mutable copy, but the children of an EntityReference clone are readonly . In addition, clones of unspecified Attr nodes are specified. And, cloning Document, DocumentType, Entity, and Notation nodes is implementation dependent.

Specified by:
cloneNode in interface org.w3c.dom.Node
Parameters:
deep - boolean, iff true replicate children
Returns:
org.w3c.dom.Node

canRenameElements

protected boolean canRenameElements(java.lang.String newNamespaceURI,
                                    java.lang.String newNodeName,
                                    org.apache.xerces.dom.ElementImpl el)


Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.