org.apache.xerces.dom
Class CDATASectionImpl

java.lang.Object
  |
  +--org.apache.xerces.dom.NodeImpl
        |
        +--org.apache.xerces.dom.CharacterDataImpl
              |
              +--org.apache.xerces.dom.TextImpl
                    |
                    +--org.apache.xerces.dom.CDATASectionImpl
Direct Known Subclasses:
DeferredCDATASectionImpl

public class CDATASectionImpl
extends TextImpl
implements CDATASection

XML provides the CDATA markup to allow a region of text in which most of the XML delimiter recognition does not take place. This is intended to ease the task of quoting XML fragments and other programmatic information in a document's text without needing to escape these special characters. It's primarily a convenience feature for those who are hand-editing XML.

CDATASection is an Extended DOM feature, and is not used in HTML contexts.

Within the DOM, CDATASections are treated essentially as Text blocks. Their distinct type is retained in order to allow us to properly recreate the XML syntax when we write them out.

Reminder: CDATA IS NOT A COMPLETELY GENERAL SOLUTION; it can't quote its own end-of-block marking. If you need to write out a CDATA that contains the ]]> sequence, it's your responsibility to split that string over two successive CDATAs at that time.

CDATA does not participate in Element.normalize() processing.

Since:
PR-DOM-Level-1-19980818.
Version:
 
See Also:
Serialized Form

Fields inherited from class org.apache.xerces.dom.TextImpl
ignorableWhitespace
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
ELEMENT_DEFINITION_NODE, fInternalSetNodeValue, MUTATION_AGGREGATE, MUTATION_ALL, MUTATION_LOCAL, MUTATION_NONE, MUTATIONEVENTS, name, nextSibling, ownerDocument, parentNode, previousSibling, readOnly, syncData, userData, value
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
CDATASectionImpl(DocumentImpl ownerDoc, java.lang.String data)
          Factory constructor for creating a CDATA section.
 
Method Summary
 Node cloneNode(boolean deep)
          Returns a duplicate of a given node.
 java.lang.String getNodeName()
          Returns the node name.
 short getNodeType()
          A short integer indicating what type of node this is.
 
Methods inherited from class org.apache.xerces.dom.TextImpl
isIgnorableWhitespace, setIgnorableWhitespace, splitText
 
Methods inherited from class org.apache.xerces.dom.CharacterDataImpl
appendData, deleteData, getChildNodes, getData, getLength, insertData, replaceData, setData, substringData
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, changed, dispatchEvent, finalize, getAttributes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getReadOnly, getUserData, hasChildNodes, insertBefore, item, normalize, removeChild, removeEventListener, replaceChild, setNodeValue, setPrefix, setReadOnly, setUserData, supports, synchronizeData, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CDATASectionImpl

public CDATASectionImpl(DocumentImpl ownerDoc,
                        java.lang.String data)
Factory constructor for creating a CDATA section.
Method Detail

getNodeType

public short getNodeType()
A short integer indicating what type of node this is. The named constants for this value are defined in the org.w3c.dom.Node interface.
Overrides:
getNodeType in class TextImpl

getNodeName

public java.lang.String getNodeName()
Returns the node name.
Overrides:
getNodeName in class TextImpl

cloneNode

public Node cloneNode(boolean deep)
Returns a duplicate of a given node. You can consider this a generic "copy constructor" for nodes. The newly returned object should be completely independent of the source object's subtree, so changes in one after the clone has been made will not affect the other.

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.

Overrides:
cloneNode in class TextImpl
Tags copied from interface: Node
Parameters:
deep - If true , recursively clone the subtree under the specified node; if false , clone only the node itself (and its attributes, if it is an Element ).
Returns:
The duplicate node.


Copyright © 1999 Apache XML Project. All Rights Reserved.