http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DOMRange Class Reference

List of all members.

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 Methods

Destructor
virtual ~DOMRange ()
 Destructor. More...

Functions introduced in DOM Level 2
virtual DOMNodegetStartContainer () const=0
 DOMNode within which the Range begins. More...

virtual XMLSize_t getStartOffset () const=0
 Offset within the starting node of the Range. More...

virtual DOMNodegetEndContainer () const=0
 DOMNode within which the Range ends. More...

virtual XMLSize_t getEndOffset () const=0
 Offset within the ending node of the Range. More...

virtual bool getCollapsed () const=0
 TRUE if the Range is collapsed. More...

virtual const DOMNodegetCommonAncestorContainer () const=0
 The deepest common ancestor container of the Range's two boundary-points. More...

virtual void setStart (const DOMNode *refNode, XMLSize_t offset)=0
 Sets the attributes describing the start of the Range. More...

virtual void setEnd (const DOMNode *refNode, XMLSize_t offset)=0
 Sets the attributes describing the end of a Range. More...

virtual void setStartBefore (const DOMNode *refNode)=0
 Sets the start position to be before a node. More...

virtual void setStartAfter (const DOMNode *refNode)=0
 Sets the start position to be after a node. More...

virtual void setEndBefore (const DOMNode *refNode)=0
 Sets the end position to be before a node. More...

virtual void setEndAfter (const DOMNode *refNode)=0
 Sets the end of a Range to be after a node. More...

virtual void collapse (bool toStart)=0
 Collapse a Range onto one of its boundary-points. More...

virtual void selectNode (const DOMNode *refNode)=0
 Select a node and its contents. More...

virtual void selectNodeContents (const DOMNode *refNode)=0
 Select the contents within a node. More...

virtual short compareBoundaryPoints (CompareHow how, const DOMRange *sourceRange) const=0
 Compare the boundary-points of two Ranges in a document. More...

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. More...

virtual DOMDocumentFragmentextractContents ()=0
 Moves the contents of a Range from the containing document or document fragment to a new DOMDocumentFragment. More...

virtual DOMDocumentFragmentcloneContents () const=0
 Duplicates the contents of a Range. More...

virtual void insertNode (DOMNode *newNode)=0
 Inserts a node into the DOMDocument or DOMDocumentFragment at the start of the Range. More...

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. More...

virtual DOMRange * cloneRange () const=0
 Produces a new Range whose boundary-points are equal to the boundary-points of the Range. More...

virtual const XMLCh * toString () const=0
 Returns the contents of a Range as a string. More...

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. More...

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. More...


Protected Methods

Hidden constructors
 DOMRange ()

Detailed Description

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification.

Since:
DOM Level 2


Member Enumeration Documentation

enum DOMRange::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
Enumeration values:
START_TO_START 
START_TO_END 
END_TO_END 
END_TO_START 


Constructor & Destructor Documentation

DOMRange::DOMRange   [protected]
 

virtual DOMRange::~DOMRange   [virtual]
 

Destructor.


Member Function Documentation

virtual DOMDocumentFragment* DOMRange::cloneContents   const [pure virtual]
 

Duplicates the contents of a Range.

Returns:
A DOMDocumentFragment that contains content equivalent to this Range.
Exceptions:
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.
Since:
DOM Level 2

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

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

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:
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.
Since:
DOM Level 2

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

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 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

virtual DOMDocumentFragment* DOMRange::extractContents   [pure virtual]
 

Moves the contents of a Range from the containing document or document fragment to a new DOMDocumentFragment.

Returns:
A DOMDocumentFragment 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.
INVALID_STATE_ERR: Raised if detach() has already been invoked on this object.
Since:
DOM Level 2

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

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

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

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

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

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

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

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

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.

virtual void DOMRange::selectNode const DOMNode   refNode [pure virtual]
 

Select a node and its contents.

Parameters:
refNode  The node to select.
Exceptions:
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.
Since:
DOM Level 2

virtual void DOMRange::selectNodeContents const DOMNode   refNode [pure virtual]
 

Select the contents within a node.

Parameters:
refNode  DOMNode to select from
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

virtual void DOMRange::setEnd const DOMNode   refNode,
XMLSize_t    offset
[pure virtual]
 

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 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

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:
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.
Since:
DOM Level 2

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:
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.
Since:
DOM Level 2

virtual void DOMRange::setStart const DOMNode   refNode,
XMLSize_t    offset
[pure virtual]
 

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 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

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:
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.
Since:
DOM Level 2

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:
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.
Since:
DOM Level 2

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 node.
Since:
DOM Level 2

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:


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.