00001 #ifndef DOMRange_HEADER_GUARD_
00002 #define DOMRange_HEADER_GUARD_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 #include <xercesc/util/XercesDefs.hpp>
00065
00066 XERCES_CPP_NAMESPACE_BEGIN
00067
00068 class DOMNode;
00069 class DOMDocumentFragment;
00070
00075 class DOMRange {
00076 protected:
00077
00078
00079
00082 DOMRange() {};
00083 DOMRange(const DOMRange &) {};
00084 DOMRange & operator = (const DOMRange &) {return *this;};
00086
00087 public:
00088
00089
00090
00097 virtual ~DOMRange() {};
00099
00100
00101
00102
00130 enum CompareHow {
00131 START_TO_START = 0,
00132 START_TO_END = 1,
00133 END_TO_END = 2,
00134 END_TO_START = 3
00135 };
00136
00138
00139
00140
00141
00144
00145
00146
00155 virtual DOMNode* getStartContainer() const = 0;
00156
00165 virtual XMLSize_t getStartOffset() const = 0;
00166
00175 virtual DOMNode* getEndContainer() const = 0;
00176
00185 virtual XMLSize_t getEndOffset() const = 0;
00186
00195 virtual bool getCollapsed() const = 0;
00196
00206 virtual const DOMNode* getCommonAncestorContainer() const = 0;
00207
00208
00209
00210
00233 virtual void setStart(const DOMNode *refNode, XMLSize_t offset) = 0;
00234
00257 virtual void setEnd(const DOMNode *refNode, XMLSize_t offset) = 0;
00258
00275 virtual void setStartBefore(const DOMNode *refNode) = 0;
00276
00293 virtual void setStartAfter(const DOMNode *refNode) = 0;
00294
00311 virtual void setEndBefore(const DOMNode *refNode) = 0;
00312
00329 virtual void setEndAfter(const DOMNode *refNode) = 0;
00330
00331
00332
00333
00344 virtual void collapse(bool toStart) = 0;
00345
00362 virtual void selectNode(const DOMNode *refNode) = 0;
00363
00378 virtual void selectNodeContents(const DOMNode *refNode) = 0;
00379
00397 virtual short compareBoundaryPoints(CompareHow how, const DOMRange* sourceRange) const = 0;
00398
00412 virtual void deleteContents() = 0;
00413
00429 virtual DOMDocumentFragment* extractContents() = 0;
00430
00443 virtual DOMDocumentFragment* cloneContents() const = 0;
00444
00473 virtual void insertNode(DOMNode *newNode) = 0;
00474
00500 virtual void surroundContents(DOMNode *newParent) = 0;
00501
00512 virtual DOMRange* cloneRange() const = 0;
00513
00524 virtual const XMLCh* toString() const = 0;
00525
00538 virtual void detach() = 0;
00539
00541
00542
00543
00544
00554 virtual void release() = 0;
00556 };
00557
00558
00559 XERCES_CPP_NAMESPACE_END
00560
00561 #endif