public class DocumentTypeImpl extends ParentNode implements DocumentType
DocumentType is an Extended DOM feature, used in XML documents but not in HTML.
Note that Entities and Notations are no longer children of the DocumentType, but are parentless nodes hung only in their appropriate NamedNodeMaps.
This area is UNDERSPECIFIED IN REC-DOM-Level-1-19981001 Most notably, absolutely no provision was made for storing and using Element and Attribute information. Nor was the linkage between Entities and Entity References nailed down solidly.
Modifier and Type | Field and Description |
---|---|
protected NamedNodeMapImpl |
elements
Elements.
|
protected NamedNodeMapImpl |
entities
Entities.
|
protected String |
internalSubset |
protected String |
name
Document type name.
|
protected NamedNodeMapImpl |
notations
Notations.
|
protected String |
publicID |
protected String |
systemID |
firstChild, fNodeListCache, ownerDocument
nextSibling, previousSibling
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
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 and Description |
---|
DocumentTypeImpl(CoreDocumentImpl ownerDocument,
String name)
Factory method for creating a document type node.
|
DocumentTypeImpl(CoreDocumentImpl ownerDocument,
String qualifiedName,
String publicID,
String systemID)
Factory method for creating a document type node.
|
Modifier and Type | Method and Description |
---|---|
Node |
cloneNode(boolean deep)
Clones the node.
|
NamedNodeMap |
getElements()
NON-DOM: Access the collection of ElementDefinitions.
|
NamedNodeMap |
getEntities()
Access the collection of general Entities, both external and
internal, defined in the DTD.
|
String |
getInternalSubset()
Introduced in DOM Level 2.
|
String |
getName()
Name of this document type.
|
String |
getNodeName()
Returns the document type name
|
protected int |
getNodeNumber()
NON-DOM
Get the number associated with this doctype.
|
short |
getNodeType()
A short integer indicating what type of node this is.
|
NamedNodeMap |
getNotations()
Access the collection of Notations defined in the DTD.
|
String |
getPublicId()
Introduced in DOM Level 2.
|
String |
getSystemId()
Introduced in DOM Level 2.
|
String |
getTextContent()
This attribute returns the text content of this node and its
descendants.
|
Object |
getUserData(String key)
Retrieves the object associated to a key on a this node.
|
protected Hashtable |
getUserDataRecord() |
boolean |
isEqualNode(Node arg)
DOM Level 3 WD- Experimental.
|
void |
setInternalSubset(String internalSubset)
NON-DOM.
|
protected void |
setOwnerDocument(CoreDocumentImpl doc)
NON-DOM
set the ownerDocument of this node and its children
|
void |
setReadOnly(boolean readOnly,
boolean deep)
NON-DOM: Subclassed to flip the entities' and notations' readonly switch
as well.
|
void |
setTextContent(String textContent)
This attribute returns the text content of this node and its
descendants.
|
Object |
setUserData(String key,
Object data,
UserDataHandler handler)
Associate an object to a key on this node.
|
getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, getOwnerDocument, hasChildNodes, insertBefore, item, normalize, removeChild, replaceChild, synchronizeChildren
getNextSibling, getParentNode, getPreviousSibling
addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getContainer, getFeature, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, synchronizeData, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
appendChild, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix
protected String name
protected NamedNodeMapImpl entities
protected NamedNodeMapImpl notations
protected NamedNodeMapImpl elements
protected String publicID
protected String systemID
protected String internalSubset
public DocumentTypeImpl(CoreDocumentImpl ownerDocument, String name)
public DocumentTypeImpl(CoreDocumentImpl ownerDocument, String qualifiedName, String publicID, String systemID)
public String getPublicId()
Return the public identifier of this Document type.
getPublicId
in interface DocumentType
public String getSystemId()
Return the system identifier of this Document type.
getSystemId
in interface DocumentType
public void setInternalSubset(String internalSubset)
Set the internalSubset given as a string.
public String getInternalSubset()
Return the internalSubset given as a string.
getInternalSubset
in interface DocumentType
public short getNodeType()
getNodeType
in interface Node
getNodeType
in class NodeImpl
public String getNodeName()
getNodeName
in interface Node
getNodeName
in class NodeImpl
public Node cloneNode(boolean deep)
cloneNode
in interface Node
cloneNode
in class ParentNode
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.
public String getTextContent() throws DOMException
NodeImpl
Text
node containing the string
this attribute is set to. On getting, no serialization is performed,
the returned string does not contain any markup. No whitespace
normalization is performed, the returned string does not contain the
element content whitespaces . Similarly, on setting, no parsing is
performed either, the input string is taken as pure textual content.
Node type | Content |
---|
Node type | Content |
---|---|
ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE | concatenation of the textContent
attribute value of every child node, excluding COMMENT_NODE and
PROCESSING_INSTRUCTION_NODE nodes |
ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE |
nodeValue |
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE | null |
getTextContent
in interface Node
getTextContent
in class ParentNode
DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.public void setTextContent(String textContent) throws DOMException
NodeImpl
Text
node containing the string
this attribute is set to. On getting, no serialization is performed,
the returned string does not contain any markup. No whitespace
normalization is performed, the returned string does not contain the
element content whitespaces . Similarly, on setting, no parsing is
performed either, the input string is taken as pure textual content.
Node type | Content |
---|---|
ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, DOCUMENT_FRAGMENT_NODE | concatenation of the textContent
attribute value of every child node, excluding COMMENT_NODE and
PROCESSING_INSTRUCTION_NODE nodes |
ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE |
nodeValue |
DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE | null |
setTextContent
in interface Node
setTextContent
in class ParentNode
DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.public boolean isEqualNode(Node arg)
isEqualNode
in interface Node
isEqualNode
in class ParentNode
arg
- The node to compare equality with.true
otherwise false
.protected void setOwnerDocument(CoreDocumentImpl doc)
setOwnerDocument
in class ParentNode
protected int getNodeNumber()
getNodeNumber
in class NodeImpl
public String getName()
getName
in interface DocumentType
public NamedNodeMap getEntities()
<!doctype example SYSTEM "ex.dtd" [ <!ENTITY foo "foo"> <!ENTITY bar "bar"> <!ENTITY % baz "baz"> ]>
The Entities map includes foo and bar, but not baz. It is promised that only Nodes which are Entities will exist in this NamedNodeMap.
For HTML, this will always be null.
Note that "built in" entities such as & and < should be converted to their actual characters before being placed in the DOM's contained text, and should be converted back when the DOM is rendered as XML or HTML, and hence DO NOT appear here.
getEntities
in interface DocumentType
public NamedNodeMap getNotations()
getNotations
in interface DocumentType
public void setReadOnly(boolean readOnly, boolean deep)
setReadOnly
in class ParentNode
readOnly
- True or false as desired.deep
- If true, children are also toggled. Note that this will
not change the state of an EntityReference or its children,
which are always read-only.NodeImpl.setReadOnly(boolean, boolean)
public NamedNodeMap getElements()
ElementDefinitionImpl
public Object setUserData(String key, Object data, UserDataHandler handler)
NodeImpl
getUserData
with the
same key.setUserData
in interface Node
setUserData
in class NodeImpl
key
- The key to associate the object to.data
- The object to associate to the given key, or
null
to remove any existing association to that key.handler
- The handler to associate to that key, or
null
.DOMObject
previously associated to
the given key on this node, or null
if there was none.public Object getUserData(String key)
NodeImpl
setUserData
with the same key.getUserData
in interface Node
getUserData
in class NodeImpl
key
- The key the object is associated to.DOMObject
associated to the given key
on this node, or null
if there was none.protected Hashtable getUserDataRecord()
getUserDataRecord
in class NodeImpl
Copyright © 2017 JBoss by Red Hat. All rights reserved.