#include <DOMRange.hpp>
Public Types | |||
Public Contants | |||
enum | CompareHow { START_TO_START = 0, START_TO_END = 1, END_TO_END = 2, END_TO_START = 3 } | ||
Constants CompareHow. More... | |||
Public Member Functions | |||
Destructor | |||
virtual | ~DOMRange () | ||
Destructor. | |||
Functions introduced in DOM Level 2 | |||
virtual DOMNode * | getStartContainer () const =0 | ||
DOMNode within which the Range begins
| |||
virtual XMLSize_t | getStartOffset () const =0 | ||
Offset within the starting node of the Range. | |||
virtual DOMNode * | getEndContainer () const =0 | ||
DOMNode within which the Range ends
| |||
virtual XMLSize_t | getEndOffset () const =0 | ||
Offset within the ending node of the Range. | |||
virtual bool | getCollapsed () const =0 | ||
TRUE if the Range is collapsed
| |||
virtual const DOMNode * | getCommonAncestorContainer () const =0 | ||
The deepest common ancestor container of the Range's two boundary-points. | |||
virtual void | setStart (const DOMNode *refNode, XMLSize_t offset)=0 | ||
Sets the attributes describing the start of the Range. | |||
virtual void | setEnd (const DOMNode *refNode, XMLSize_t offset)=0 | ||
Sets the attributes describing the end of a Range. | |||
virtual void | setStartBefore (const DOMNode *refNode)=0 | ||
Sets the start position to be before a node. | |||
virtual void | setStartAfter (const DOMNode *refNode)=0 | ||
Sets the start position to be after a node. | |||
virtual void | setEndBefore (const DOMNode *refNode)=0 | ||
Sets the end position to be before a node. | |||
virtual void | setEndAfter (const DOMNode *refNode)=0 | ||
Sets the end of a Range to be after a node. | |||
virtual void | collapse (bool toStart)=0 | ||
Collapse a Range onto one of its boundary-points. | |||
virtual void | selectNode (const DOMNode *refNode)=0 | ||
Select a node and its contents. | |||
virtual void | selectNodeContents (const DOMNode *refNode)=0 | ||
Select the contents within a node. | |||
virtual short | compareBoundaryPoints (CompareHow how, const DOMRange *sourceRange) const =0 | ||
Compare the boundary-points of two Ranges in a document. | |||
virtual void | deleteContents ()=0 | ||
Removes the contents of a Range from the containing document or document fragment without returning a reference to the removed content. | |||
virtual DOMDocumentFragment * | extractContents ()=0 | ||
Moves the contents of a Range from the containing document or document fragment to a new DOMDocumentFragment. | |||
virtual DOMDocumentFragment * | cloneContents () const =0 | ||
Duplicates the contents of a Range. | |||
virtual void | insertNode (DOMNode *newNode)=0 | ||
Inserts a node into the DOMDocument or DOMDocumentFragment at the start of the Range. | |||
virtual void | surroundContents (DOMNode *newParent)=0 | ||
Reparents the contents of the Range to the given node and inserts the node at the position of the start of the Range. | |||
virtual DOMRange * | cloneRange () const =0 | ||
Produces a new Range whose boundary-points are equal to the boundary-points of the Range. | |||
virtual const XMLCh * | toString () const =0 | ||
Returns the contents of a Range as a string. | |||
virtual void | detach ()=0 | ||
Called to indicate that the Range is no longer in use and that the implementation may relinquish any resources associated with this Range. | |||
Non-standard Extension | |||
virtual void | release ()=0 | ||
Called to indicate that this Range is no longer in use and that the implementation may relinquish any resources associated with it. | |||
Protected Member Functions | |||
Hidden constructors | |||
DOMRange () | |||
DOMRange (const DOMRange &) |
See also the Document Object Model (DOM) Level 2 Traversal and Range Specification.
Constants CompareHow.
START_TO_START:
Compare start boundary-point of sourceRange
to start boundary-point of Range on which compareBoundaryPoints
is invoked.
START_TO_END:
Compare start boundary-point of sourceRange
to end boundary-point of Range on which compareBoundaryPoints
is invoked.
END_TO_END:
Compare end boundary-point of sourceRange
to end boundary-point of Range on which compareBoundaryPoints
is invoked.
END_TO_START:
Compare end boundary-point of sourceRange
to start boundary-point of Range on which compareBoundaryPoints
is invoked.
xercesc::DOMRange::DOMRange | ( | ) | [inline, protected] |
xercesc::DOMRange::DOMRange | ( | const DOMRange & | ) | [inline, protected] |
virtual xercesc::DOMRange::~DOMRange | ( | ) | [inline, virtual] |
Destructor.
virtual DOMDocumentFragment* xercesc::DOMRange::cloneContents | ( | ) | const [pure virtual] |
Duplicates the contents of a Range.
DOMException | HIERARCHY_REQUEST_ERR: Raised if a DOMDocumentType node would be extracted into the new DOMDocumentFragment. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual DOMRange* xercesc::DOMRange::cloneRange | ( | ) | const [pure virtual] |
Produces a new Range whose boundary-points are equal to the boundary-points of the Range.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual void xercesc::DOMRange::collapse | ( | bool | toStart | ) | [pure virtual] |
Collapse a Range onto one of its boundary-points.
toStart | If TRUE, collapses the Range onto its start; if FALSE, collapses it onto its end. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual short xercesc::DOMRange::compareBoundaryPoints | ( | CompareHow | how, |
const DOMRange * | sourceRange | ||
) | const [pure virtual] |
Compare the boundary-points of two Ranges in a document.
how | A code representing the type of comparison, as defined above. |
sourceRange | The Range on which this current Range is compared to. |
sourceRange
. DOMException | WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same DOMDocument or DOMDocumentFragment. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual void xercesc::DOMRange::deleteContents | ( | ) | [pure virtual] |
Removes the contents of a Range from the containing document or document fragment without returning a reference to the removed content.
DOMException | NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the Range is read-only or any of the nodes that contain any of the content of the Range are read-only. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual void xercesc::DOMRange::detach | ( | ) | [pure virtual] |
Called to indicate that the Range is no longer in use and that the implementation may relinquish any resources associated with this Range.
Subsequent calls to any methods or attribute getters on this Range will result in a DOMException
being thrown with an error code of INVALID_STATE_ERR
.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual DOMDocumentFragment* xercesc::DOMRange::extractContents | ( | ) | [pure virtual] |
Moves the contents of a Range from the containing document or document fragment to a new DOMDocumentFragment.
DOMException | NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the Range is read-only or any of the nodes which contain any of the content of the Range are read-only. HIERARCHY_REQUEST_ERR: Raised if a DOMDocumentType node would be extracted into the new DOMDocumentFragment. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual bool xercesc::DOMRange::getCollapsed | ( | ) | const [pure virtual] |
TRUE if the Range is collapsed
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual const DOMNode* xercesc::DOMRange::getCommonAncestorContainer | ( | ) | const [pure virtual] |
The deepest common ancestor container of the Range's two boundary-points.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual DOMNode* xercesc::DOMRange::getEndContainer | ( | ) | const [pure virtual] |
DOMNode within which the Range ends
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual XMLSize_t xercesc::DOMRange::getEndOffset | ( | ) | const [pure virtual] |
Offset within the ending node of the Range.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual DOMNode* xercesc::DOMRange::getStartContainer | ( | ) | const [pure virtual] |
DOMNode within which the Range begins
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual XMLSize_t xercesc::DOMRange::getStartOffset | ( | ) | const [pure virtual] |
Offset within the starting node of the Range.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
virtual void xercesc::DOMRange::insertNode | ( | DOMNode * | newNode | ) | [pure virtual] |
Inserts a node into the DOMDocument or DOMDocumentFragment at the start of the Range.
If the container is a DOMText node, this will be split at the start of the Range (as if the DOMText node's splitText method was performed at the insertion point) and the insertion will occur between the two resulting DOMText nodes. Adjacent DOMText nodes will not be automatically merged. If the node to be inserted is a DOMDocumentFragment node, the children will be inserted rather than the DOMDocumentFragment node itself.
newNode | The node to insert at the start of the Range |
DOMException | NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the start of the Range is read-only. WRONG_DOCUMENT_ERR: Raised if newNode and the container of the start of the Range were not created from the same document. HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type that does not allow children of the type of newNode or if newNode is an ancestor of the container. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if newNode is an DOMAttr, DOMEntity, DOMNotation, or DOMDocument node. |
virtual void xercesc::DOMRange::release | ( | ) | [pure virtual] |
virtual void xercesc::DOMRange::selectNode | ( | const DOMNode * | refNode | ) | [pure virtual] |
Select a node and its contents.
refNode | The node to select. |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an DOMEntity, DOMNotation or DOMDocumentType node or if refNode is a DOMDocument, DOMDocumentFragment, DOMAttr, DOMEntity, or DOMNotation node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::selectNodeContents | ( | const DOMNode * | refNode | ) | [pure virtual] |
Select the contents within a node.
refNode | DOMNode to select from |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an DOMEntity, DOMNotation or DOMDocumentType node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setEnd | ( | const DOMNode * | refNode, |
XMLSize_t | offset | ||
) | [pure virtual] |
Sets the attributes describing the end of a Range.
refNode | The refNode value. This parameter must be different from null . |
offset | The endOffset value. |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an DOMEntity, DOMNotation, or DOMDocumentType node. |
DOMException | INDEX_SIZE_ERR: Raised if offset is negative or greater than the number of child units in refNode . Child units are 16-bit units if refNode is a type of DOMCharacterData node (e.g., a DOMText or DOMComment node) or a DOMProcessingInstruction node. Child units are Nodes in all other cases. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setEndAfter | ( | const DOMNode * | refNode | ) | [pure virtual] |
Sets the end of a Range to be after a node.
refNode | Range ends after refNode . |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is not a DOMAttr, DOMDocument or DOMDocumentFragment node or if refNode is a DOMDocument, DOMDocumentFragment, DOMAttr, DOMEntity, or DOMNotation node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setEndBefore | ( | const DOMNode * | refNode | ) | [pure virtual] |
Sets the end position to be before a node.
refNode | Range ends before refNode |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is not an DOMAttr, DOMDocument, or DOMDocumentFragment node or if refNode is a DOMDocument, DOMDocumentFragment, DOMAttr, DOMEntity, or DOMNotation node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setStart | ( | const DOMNode * | refNode, |
XMLSize_t | offset | ||
) | [pure virtual] |
Sets the attributes describing the start of the Range.
refNode | The refNode value. This parameter must be different from null . |
offset | The startOffset value. |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an DOMEntity, DOMNotation, or DOMDocumentType node. |
DOMException | INDEX_SIZE_ERR: Raised if offset is negative or greater than the number of child units in refNode . Child units are 16-bit units if refNode is a type of DOMCharacterData node (e.g., a DOMText or DOMComment node) or a DOMProcessingInstruction node. Child units are Nodes in all other cases. INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setStartAfter | ( | const DOMNode * | refNode | ) | [pure virtual] |
Sets the start position to be after a node.
refNode | Range starts after refNode |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is not an DOMAttr, DOMDocument, or DOMDocumentFragment node or if refNode is a DOMDocument, DOMDocumentFragment, DOMAttr, DOMEntity, or DOMNotation node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::setStartBefore | ( | const DOMNode * | refNode | ) | [pure virtual] |
Sets the start position to be before a node.
refNode | Range starts before refNode |
DOMRangeException | INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is not an DOMAttr, DOMDocument, or DOMDocumentFragment node or if refNode is a DOMDocument, DOMDocumentFragment, DOMAttr, DOMEntity, or DOMNotation node. |
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. WRONG_DOCUMENT_ERR: Raised if refNode was created from a different document than the one that created this range. |
virtual void xercesc::DOMRange::surroundContents | ( | DOMNode * | newParent | ) | [pure virtual] |
Reparents the contents of the Range to the given node and inserts the node at the position of the start of the Range.
newParent | The node to surround the contents with. |
DOMException | NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of either boundary-point of the Range is read-only. WRONG_DOCUMENT_ERR: Raised if newParent and the container of the start of the Range were not created from the same document. HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type that does not allow children of the type of newParent or if newParent is an ancestor of the container or if node would end up with a child node of a type not allowed by the type of node . INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |
DOMRangeException | BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a non-text node. INVALID_NODE_TYPE_ERR: Raised if node is an DOMAttr, DOMEntity, DOMDocumentType, DOMNotation, DOMDocument, or DOMDocumentFragment node. |
virtual const XMLCh* xercesc::DOMRange::toString | ( | ) | const [pure virtual] |
Returns the contents of a Range as a string.
This string contains only the data characters, not any markup.
DOMException | INVALID_STATE_ERR: Raised if detach() has already been invoked on this object. |