diff --git a/doc/html/ApacheDOMC++BindingL2.html b/doc/html/ApacheDOMC++BindingL2.html index ab63e6cbb95baae95cacf1b684136586dce95327..17c0bb0328bac750b2d79bd8def4a1df6236982b 100644 --- a/doc/html/ApacheDOMC++BindingL2.html +++ b/doc/html/ApacheDOMC++BindingL2.html @@ -1158,7 +1158,7 @@ DOMNodeList</font></font> <td><font face="Courier New,Courier"><font size=-1>DOMNode*</font></font></td> -<td><font face="Courier New,Courier"><font size=-1>item(XMLSize_t index) +<td><font face="Courier New,Courier"><font size=-1>item(XMLSize_t index) const = 0;</font></font></td> </tr> @@ -1169,7 +1169,7 @@ DOMNodeList</font></font> <td><font face="Courier New,Courier"><font size=-1>XMLSize_t</font></font></td> -<td><font face="Courier New,Courier"><font size=-1>getLength() = 0;</font></font></td> +<td><font face="Courier New,Courier"><font size=-1>getLength() const = 0;</font></font></td> </tr> <tr ALIGN=LEFT VALIGN=TOP> diff --git a/doc/html/ApacheDOMC++BindingL3.html b/doc/html/ApacheDOMC++BindingL3.html index 98e562d1f3bf4332bf106168da760623806050ad..e8e8deabb895ffa094c67e692f17811b5150245d 100644 --- a/doc/html/ApacheDOMC++BindingL3.html +++ b/doc/html/ApacheDOMC++BindingL3.html @@ -1649,7 +1649,7 @@ DOMNodeList</font></font> <td><font face="Courier New,Courier"><font size=-1>DOMNode*</font></font></td> -<td><font face="Courier New,Courier"><font size=-1>item(XMLSize_t index) +<td><font face="Courier New,Courier"><font size=-1>item(XMLSize_t index) const = 0;</font></font></td> </tr> @@ -1660,7 +1660,7 @@ DOMNodeList</font></font> <td><font face="Courier New,Courier"><font size=-1>XMLSize_t</font></font></td> -<td><font face="Courier New,Courier"><font size=-1>getLength() = 0;</font></font></td> +<td><font face="Courier New,Courier"><font size=-1>getLength() const = 0;</font></font></td> </tr> <tr ALIGN=LEFT VALIGN=TOP> diff --git a/src/xercesc/dom/DOMNodeList.hpp b/src/xercesc/dom/DOMNodeList.hpp index cee9a0292c8fc2c16460591d98502d5271f78417..3112757b037b9c98d2f39a9f8bd438ea5f3c4191 100644 --- a/src/xercesc/dom/DOMNodeList.hpp +++ b/src/xercesc/dom/DOMNodeList.hpp @@ -123,7 +123,7 @@ public: * index. * @since DOM Level 1 */ - virtual DOMNode *item(XMLSize_t index) = 0; + virtual DOMNode *item(XMLSize_t index) const = 0; /** * Returns the number of nodes in the list. @@ -131,7 +131,7 @@ public: * The range of valid child node indices is 0 to <code>length-1</code> inclusive. * @since DOM Level 1 */ - virtual XMLSize_t getLength() = 0; + virtual XMLSize_t getLength() const = 0; //@} }; diff --git a/src/xercesc/dom/impl/DOMDeepNodeListImpl.cpp b/src/xercesc/dom/impl/DOMDeepNodeListImpl.cpp index 6aaf5080bff954540fb463af0fc82d0daf88bb5e..2efb62054b9d99ec8505101c0cabb2e2fc6a28aa 100644 --- a/src/xercesc/dom/impl/DOMDeepNodeListImpl.cpp +++ b/src/xercesc/dom/impl/DOMDeepNodeListImpl.cpp @@ -105,7 +105,7 @@ DOMDeepNodeListImpl::~DOMDeepNodeListImpl() { } -XMLSize_t DOMDeepNodeListImpl::getLength() +XMLSize_t DOMDeepNodeListImpl::getLength() const { // Reset cache to beginning of list item(0); @@ -116,6 +116,10 @@ XMLSize_t DOMDeepNodeListImpl::getLength() } +DOMNode *DOMDeepNodeListImpl::item(XMLSize_t index) const +{ + return ((DOMDeepNodeListImpl*)this)->cacheItem(index); +} // Start from the first child and count forward, 0-based. index>length-1 // should return 0. @@ -127,7 +131,7 @@ XMLSize_t DOMDeepNodeListImpl::getLength() // irrelevant ones. Doing so in a really useful manner would seem // to involve a tree-walk in its own right, or maintaining our data // in a parallel tree. -DOMNode *DOMDeepNodeListImpl::item(XMLSize_t index) +DOMNode *DOMDeepNodeListImpl::cacheItem(XMLSize_t index) { XMLSize_t currentIndexPlus1 = fCurrentIndexPlus1; DOMNode *currentNode = fCurrentNode; diff --git a/src/xercesc/dom/impl/DOMDeepNodeListImpl.hpp b/src/xercesc/dom/impl/DOMDeepNodeListImpl.hpp index c5046242f7af9ce1a7dce1ed8f609ea8348b339a..accfbf10667cd450b5ec9b6ec9bdc4a18e1c42c8 100644 --- a/src/xercesc/dom/impl/DOMDeepNodeListImpl.hpp +++ b/src/xercesc/dom/impl/DOMDeepNodeListImpl.hpp @@ -96,8 +96,9 @@ public: const XMLCh *namespaceURI, const XMLCh *localName); virtual ~DOMDeepNodeListImpl(); - virtual XMLSize_t getLength(); - virtual DOMNode* item(XMLSize_t index); + virtual XMLSize_t getLength() const; + virtual DOMNode* item(XMLSize_t index) const; + DOMNode* cacheItem(XMLSize_t index); private: DOMNode* nextMatchingElementAfter(DOMNode *current); diff --git a/src/xercesc/dom/impl/DOMNodeListImpl.cpp b/src/xercesc/dom/impl/DOMNodeListImpl.cpp index e6536b0e3cd19a51e1ec3ef2e977ebed9ecf6ee3..cfdeeb048e1fcc18170fbeece9a86e5bb4100d5b 100644 --- a/src/xercesc/dom/impl/DOMNodeListImpl.cpp +++ b/src/xercesc/dom/impl/DOMNodeListImpl.cpp @@ -79,7 +79,7 @@ DOMNodeListImpl:: ~DOMNodeListImpl() -XMLSize_t DOMNodeListImpl::getLength(){ +XMLSize_t DOMNodeListImpl::getLength() const{ XMLSize_t count = 0; if (fNode) { DOMNode *node = castToParentImpl(fNode)->fFirstChild; @@ -94,7 +94,7 @@ XMLSize_t DOMNodeListImpl::getLength(){ -DOMNode *DOMNodeListImpl::item(XMLSize_t index){ +DOMNode *DOMNodeListImpl::item(XMLSize_t index) const{ if (fNode) { DOMNode *node = castToParentImpl(fNode)->fFirstChild; for(XMLSize_t i=0; i<index && node!=0; ++i) diff --git a/src/xercesc/dom/impl/DOMNodeListImpl.hpp b/src/xercesc/dom/impl/DOMNodeListImpl.hpp index 2cfa81f4f35bb391a92792c88d0f3670d261edcf..4ab3dbfa3154a14b8e90ef0705376806cec840c1 100644 --- a/src/xercesc/dom/impl/DOMNodeListImpl.hpp +++ b/src/xercesc/dom/impl/DOMNodeListImpl.hpp @@ -98,8 +98,8 @@ private: public: DOMNodeListImpl(DOMNode *node); virtual ~DOMNodeListImpl(); - virtual DOMNode * item(XMLSize_t index); - virtual XMLSize_t getLength(); + virtual DOMNode * item(XMLSize_t index) const; + virtual XMLSize_t getLength() const; }; #endif