org.apache.xerces.dom
Class PSVIDocumentImpl

java.lang.Object
  extended by org.apache.xerces.dom.NodeImpl
      extended by org.apache.xerces.dom.ChildNode
          extended by org.apache.xerces.dom.ParentNode
              extended by org.apache.xerces.dom.CoreDocumentImpl
                  extended by org.apache.xerces.dom.DocumentImpl
                      extended by org.apache.xerces.dom.PSVIDocumentImpl
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Document, DocumentEvent, EventTarget, Node, NodeList, DocumentRange, DocumentTraversal

public class PSVIDocumentImpl
extends DocumentImpl

Our own document implementation, which knows how to create an element with PSVI information.

Version:
$Id: PSVIDocumentImpl.java 447266 2006-09-18 05:57:49Z mrglavas $
Author:
Sandy Gao, IBM
See Also:
Serialized Form

Field Summary
 
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, 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
PSVIDocumentImpl()
          Create a document.
PSVIDocumentImpl(DocumentType doctype)
          For DOM2 support.
 
Method Summary
 Node cloneNode(boolean deep)
          Deep-clone a document, including fixing ownerDoc for the cloned children.
 Attr createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
          Create an attribute with PSVI information
 Attr createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String localName)
          Create an attribute with PSVI information
 Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
          Create an element with PSVI information
 Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String localpart)
          Create an element with PSVI information
 DOMConfiguration getDomConfig()
          The configuration used when Document.normalizeDocument is invoked.
 DOMImplementation getImplementation()
          Retrieve information describing the abilities of this particular DOM implementation.
 
Methods inherited from class org.apache.xerces.dom.DocumentImpl
createEvent, createNodeIterator, createNodeIterator, createRange, createTreeWalker, createTreeWalker
 
Methods inherited from class org.apache.xerces.dom.CoreDocumentImpl
abort, adoptNode, clone, createAttribute, createCDATASection, createComment, createDocumentFragment, createDocumentType, createElement, createElementDefinition, createEntity, createEntityReference, createNotation, createProcessingInstruction, createTextNode, getAsync, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getErrorChecking, getFeature, getIdentifier, getIdentifiers, getInputEncoding, getNodeName, getNodeType, getOwnerDocument, getStandalone, getStrictErrorChecking, getTextContent, getUserData, getVersion, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, insertBefore, isValidQName, isXMLName, load, loadXML, normalizeDocument, putIdentifier, removeChild, removeIdentifier, renameNode, replaceChild, saveXML, setAsync, setDocumentURI, setEncoding, setErrorChecking, setInputEncoding, setStandalone, setStrictErrorChecking, setTextContent, setUserData, setVersion, setXmlEncoding, setXmlStandalone, setXmlVersion
 
Methods inherited from class org.apache.xerces.dom.ParentNode
getChildNodes, getFirstChild, getLastChild, getLength, hasChildNodes, isEqualNode, item, normalize, setReadOnly
 
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, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Node
appendChild, compareDocumentPosition, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getParentNode, getPrefix, getPreviousSibling, getUserData, hasAttributes, hasChildNodes, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, setNodeValue, setPrefix, setUserData
 

Constructor Detail

PSVIDocumentImpl

public PSVIDocumentImpl()
Create a document.


PSVIDocumentImpl

public PSVIDocumentImpl(DocumentType doctype)
For DOM2 support. The createDocument factory method is in DOMImplementation.

Method Detail

cloneNode

public Node cloneNode(boolean deep)
Deep-clone a document, including fixing ownerDoc for the cloned children. Note that this requires bypassing the WRONG_DOCUMENT_ERR protection. I've chosen to implement it by calling importNode which is DOM Level 2.

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

Example: Cloning a Text node will copy both the node and the text it contains.

Example: Cloning something that has children -- Element or Attr, for example -- will _not_ clone those children unless a "deep clone" has been requested. A shallow clone of an Attr node will yield an empty Attr of the same name.

NOTE: Clones will always be read/write, even if the node being cloned is read-only, to permit applications using only the DOM API to obtain editable copies of locked portions of the tree.


getImplementation

public DOMImplementation getImplementation()
Retrieve information describing the abilities of this particular DOM implementation. Intended to support applications that may be using DOMs retrieved from several different sources, potentially with different underlying representations.

Specified by:
getImplementation in interface Document
Overrides:
getImplementation in class DocumentImpl

createElementNS

public Element createElementNS(java.lang.String namespaceURI,
                               java.lang.String qualifiedName)
                        throws DOMException
Create an element with PSVI information

Specified by:
createElementNS in interface Document
Overrides:
createElementNS in class CoreDocumentImpl
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:
Throws:
DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.

createElementNS

public Element createElementNS(java.lang.String namespaceURI,
                               java.lang.String qualifiedName,
                               java.lang.String localpart)
                        throws DOMException
Create an element with PSVI information

Overrides:
createElementNS in class CoreDocumentImpl
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 attribute to instantiate.
Returns:
Element A new Element object with the following attributes:
Throws:
DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.

createAttributeNS

public Attr createAttributeNS(java.lang.String namespaceURI,
                              java.lang.String qualifiedName)
                       throws DOMException
Create an attribute with PSVI information

Specified by:
createAttributeNS in interface Document
Overrides:
createAttributeNS in class CoreDocumentImpl
Parameters:
namespaceURI - The namespace URI of the attribute to create. When it is null or an empty string, this method behaves like createAttribute.
qualifiedName - The qualified name of the attribute to instantiate.
Returns:
Attr A new Attr object.
Throws:
DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.

createAttributeNS

public Attr createAttributeNS(java.lang.String namespaceURI,
                              java.lang.String qualifiedName,
                              java.lang.String localName)
                       throws DOMException
Create an attribute with PSVI information

Overrides:
createAttributeNS in class CoreDocumentImpl
Parameters:
namespaceURI - The namespace URI of the attribute to create. When it is null or an empty string, this method behaves like createAttribute.
qualifiedName - The qualified name of the attribute to instantiate.
localName - The local name of the attribute to instantiate.
Returns:
Attr A new Attr object.
Throws:
DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.

getDomConfig

public DOMConfiguration getDomConfig()
The configuration used when Document.normalizeDocument is invoked.

Specified by:
getDomConfig in interface Document
Overrides:
getDomConfig in class CoreDocumentImpl
Since:
DOM Level 3