Xerces-C++: DOMRange Class Reference (original) (raw)

#include <[xercesc/dom/DOMRange.hpp](DOMRange%5F8hpp%5Fsource.html)>

Public Types
Public Constants
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](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.").
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](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") 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

CompareHow

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.

Since

DOM Level 2

Enumerator
START_TO_START
START_TO_END
END_TO_END
END_TO_START

DOMRange() [1/2]

DOMRange::DOMRange ( ) protected

DOMRange() [2/2]

DOMRange::DOMRange ( const DOMRange & ) protected
virtual DOMRange::~DOMRange ( ) virtual

Destructor.

cloneContents()

Duplicates the contents of a Range.

Returns

A [DOMDocumentFragment](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") that contains content equivalent to this Range.

Exceptions

Since

DOM Level 2

cloneRange()

virtual DOMRange * DOMRange::cloneRange ( ) const pure virtual

Produces a new Range whose boundary-points are equal to the boundary-points of the Range.

Returns

The duplicated Range.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

collapse()

virtual void DOMRange::collapse ( bool toStart) pure virtual

Collapse a Range onto one of its boundary-points.

Parameters

toStart If TRUE, collapses the Range onto its start; if FALSE, collapses it onto its end.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

compareBoundaryPoints()

virtual short DOMRange::compareBoundaryPoints ( CompareHow how, const DOMRange * sourceRange ) const pure virtual

Compare the boundary-points of two Ranges in a document.

Parameters

how A code representing the type of comparison, as defined above.
sourceRange The Range on which this current Range is compared to.

Returns

-1, 0 or 1 depending on whether the corresponding boundary-point of the Range is respectively before, equal to, or after the corresponding boundary-point of sourceRange.

Exceptions

Since

DOM Level 2

deleteContents()

virtual void 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.

Exceptions

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.

Since

DOM Level 2

detach()

virtual void 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](classDOMException.html) being thrown with an error code of INVALID_STATE_ERR.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

extractContents()

Moves the contents of a Range from the containing document or document fragment to a new [DOMDocumentFragment](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.").

Returns

A [DOMDocumentFragment](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") containing the extracted contents.

Exceptions

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](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object."). INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getCollapsed()

virtual bool DOMRange::getCollapsed ( ) const pure virtual

TRUE if the Range is collapsed.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getCommonAncestorContainer()

virtual const DOMNode * DOMRange::getCommonAncestorContainer ( ) const pure virtual

The deepest common ancestor container of the Range's two boundary-points.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getEndContainer()

virtual DOMNode * DOMRange::getEndContainer ( ) const pure virtual

DOMNode within which the Range ends.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getEndOffset()

virtual XMLSize_t DOMRange::getEndOffset ( ) const pure virtual

Offset within the ending node of the Range.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getStartContainer()

virtual DOMNode * DOMRange::getStartContainer ( ) const pure virtual

DOMNode within which the Range begins.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

getStartOffset()

virtual XMLSize_t DOMRange::getStartOffset ( ) const pure virtual

Offset within the starting node of the Range.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2

insertNode()

virtual void DOMRange::insertNode ( DOMNode * newNode) pure virtual

Inserts a node into the DOMDocument or [DOMDocumentFragment](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") 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](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") node, the children will be inserted rather than the [DOMDocumentFragment](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") node itself.

Parameters

newNode The node to insert at the start of the Range

Exceptions

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.

Since

DOM Level 2

release()

virtual void DOMRange::release ( ) pure virtual

Called to indicate that this Range is no longer in use and that the implementation may relinquish any resources associated with it.

(release() will call detach() where appropriate)

Access to a released object will lead to unexpected result.

selectNode()

virtual void DOMRange::selectNode ( const DOMNode * refNode) pure virtual

Select a node and its contents.

Parameters

refNode The node to select.

Exceptions

Since

DOM Level 2

selectNodeContents()

virtual void DOMRange::selectNodeContents ( const DOMNode * refNode) pure virtual

Select the contents within a node.

Parameters

Exceptions

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.

Since

DOM Level 2

setEnd()

Sets the attributes describing the end of a Range.

Parameters

refNode The refNode value. This parameter must be different from null.
offset The endOffset value.

Exceptions

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](classDOMProcessingInstruction.html "The DOMProcessingInstruction interface represents a "processinginstruction", used in XML as a way to ...") 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.

Since

DOM Level 2

setEndAfter()

virtual void DOMRange::setEndAfter ( const DOMNode * refNode) pure virtual

Sets the end of a Range to be after a node.

Parameters

refNode Range ends after refNode.

Exceptions

Since

DOM Level 2

setEndBefore()

virtual void DOMRange::setEndBefore ( const DOMNode * refNode) pure virtual

Sets the end position to be before a node.

Parameters

refNode Range ends before refNode

Exceptions

Since

DOM Level 2

setStart()

Sets the attributes describing the start of the Range.

Parameters

refNode The refNode value. This parameter must be different from null.
offset The startOffset value.

Exceptions

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](classDOMProcessingInstruction.html "The DOMProcessingInstruction interface represents a "processinginstruction", used in XML as a way to ...") 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.

Since

DOM Level 2

setStartAfter()

virtual void DOMRange::setStartAfter ( const DOMNode * refNode) pure virtual

Sets the start position to be after a node.

Parameters

refNode Range starts after refNode

Exceptions

Since

DOM Level 2

setStartBefore()

virtual void DOMRange::setStartBefore ( const DOMNode * refNode) pure virtual

Sets the start position to be before a node.

Parameters

refNode Range starts before refNode

Exceptions

Since

DOM Level 2

surroundContents()

virtual void 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.

Parameters

newParent The node to surround the contents with.

Exceptions

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](classDOMDocumentFragment.html "DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.") node.

Since

DOM Level 2

toString()

virtual const XMLCh * DOMRange::toString ( ) const pure virtual

Returns the contents of a Range as a string.

This string contains only the data characters, not any markup.

Returns

The contents of the Range.

Exceptions

DOMException INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.

Since

DOM Level 2


The documentation for this class was generated from the following file: