gareth 2003/08/20 04:31:22 Modified: c/Projects/Win32/VC6/xerces-all/XercesLib XercesLib.dsp c/Projects/Win32/VC7/xerces-all/XercesLib XercesLib.vcproj c/doc/html ApacheDOMC++BindingL3.html c/src/xercesc/dom DOM.hpp DOMDocument.hpp Makefile.in c/src/xercesc/dom/impl DOMDocumentImpl.cpp DOMDocumentImpl.hpp Added: c/src/xercesc/dom DOMXPathEvaluator.hpp DOMXPathException.cpp DOMXPathException.hpp DOMXPathExpression.hpp DOMXPathNSResolver.hpp DOMXPathNamespace.hpp DOMXPathResult.hpp Log: Added Level 3 XPath interfaces. Updated documentation, windows project files and Makefile. Revision Changes Path 1.150 +27 -0 xml-xerces/c/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp Index: XercesLib.dsp =================================================================== RCS file: /home/cvs/xml-xerces/c/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp,v retrieving revision 1.149 retrieving revision 1.150 diff -u -r1.149 -r1.150 --- XercesLib.dsp 20 Jun 2003 18:45:41 -0000 1.149 +++ XercesLib.dsp 20 Aug 2003 11:31:21 -0000 1.150 @@ -3135,6 +3135,31 @@ # End Source File # Begin Source File +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathNamespace.hpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathNSResolver.hpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathResult.hpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathEvaluator.hpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathException.hpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\..\..\src\xercesc\dom\DOMXPathExpression.hpp +# End Source File +# Begin Source File + + SOURCE=..\..\..\..\..\src\xercesc\dom\DOMWriterFilter.hpp # End Source File # End Group @@ -3144,3 +3169,5 @@ # End Source File # End Target # End Project + + 1.25 +18 -0 xml-xerces/c/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj Index: XercesLib.vcproj =================================================================== RCS file: /home/cvs/xml-xerces/c/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- XercesLib.vcproj 22 Jul 2003 08:51:00 -0000 1.24 +++ XercesLib.vcproj 20 Aug 2003 11:31:21 -0000 1.25 @@ -1835,6 +1835,24 @@ RelativePath="..\..\..\..\..\src\xercesc\dom\DOMTypeInfo.hpp"> </File> <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathNamespace.hpp"> + </File> + <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathNSResolver.hpp"> + </File> + <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathResult.hpp"> + </File> + <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathEvaluator.hpp"> + </File> + <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathException.hpp"> + </File> + <File + RelativePath="..\..\..\..\..\src\xercesc\dom\DOMXPathExpression.hpp"> + </File> + <File RelativePath="..\..\..\..\..\src\xercesc\dom\DOMUserDataHandler.hpp"> </File> <File 1.17 +623 -10 xml-xerces/c/doc/html/ApacheDOMC++BindingL3.html Index: ApacheDOMC++BindingL3.html =================================================================== RCS file: /home/cvs/xml-xerces/c/doc/html/ApacheDOMC++BindingL3.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ApacheDOMC++BindingL3.html 19 May 2003 11:29:59 -0000 1.16 +++ ApacheDOMC++BindingL3.html 20 Aug 2003 11:31:22 -0000 1.17 @@ -23,11 +23,10 @@ <p><br>This document contains the Experimental Apache Recommended C++ Language binding for the <a href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/">Document Object Model Level 3.0 Core</a>, and for the subset of <a href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">Document -Object Model Level 3.0 Abstract Schemas and Load and Save</a>. Both -are W3C Working Draft of 09 April 2002. +Object Model Level 3.0 Abstract Schemas and Load and Save</a> , as well as the <a href="http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/">Document Object Model Level 3.0 XPath</a>. <p>The definitions are divided into <a href="#A: Document Object Model: Core">Core</a>, and -<a href="#B: Document Object Model: Load and Save">Load and Save</a>. +<a href="#B: Document Object Model: Load and Save">Load and Save</a> and <a href="#C: Document Object Model: XPath">XPath</a>. The headers are also available in Xerces-C++ distribution. <p>Note: <ol> @@ -128,6 +127,13 @@ </td> </tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td>Xerces-C++ 2.4</td> +<td ALIGN=LEFT VALIGN=TOP>Modified +<br>- added DOM Level 3 XPath interfaces +</td> +</tr> + </table> <p> @@ -4397,19 +4403,626 @@ </table> </div> -<div class='div1'> -<div id="Divider"> -<hr WIDTH="100%"></div> -</div> -<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="620" > + + +<hr WIDTH="100%"> +<h2> +<a NAME="C: Document Object Model: XPath"></a><u><font color="#000000"><a href="#C++ Language Binding for DOM Level 3">C: +Document Object Model: XPath</a></font></u></h2> + + + + +<h3> +<font color="#000000">DOMXPathEvaluator.hpp:</font></h3> + +<div id="DOMXPathEvaluator"><font face="Courier New,Courier"><font size=-1>classDOMXPathEvaluator</font></font> +<table> + <tr ALIGN=LEFT VALIGN=TOP> -<td ALIGN=CENTER><i><font color="#0086B2"><font size=-1>Copyright © -2001 The Apache Software Foundation. All Rights Reserved.</font></font></i></td> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>const DOMXPathExpression*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>createExpression(const XMLCh *expression, const DOMXPathNSResolver *resolver) = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>const DOMXPathNSResolver*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>createNSResolver(DOMNode *nodeResolver) = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>void*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>evaluate(const XMLCh *expression, DOMNode *contextNode, const DOMXPathNSResolver *resolver, unsigned short type, void* result) = 0; +</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> </tr> </table> -</div> -</div> + + + + +<h3> +<font color="#000000">DOMXPathException.hpp:</font></h3> + +<div id="DOMXPathException"><font face="Courier New,Courier"><font size=-1>classDOMXPathException</font></font> +<table> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>enum</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>ExceptionCode {</font></font></td> + +<td></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>INVALID_EXPRESSION_ERR</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 51,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>TYPE_ERR</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 52,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + +<h3> +<font color="#000000">DOMXPathExpression.hpp:</font></h3> + +<div id="DOMXPathExpression"><font face="Courier New,Courier"><font size=-1>class +DOMXPathExpression</font></font> +<table> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>void*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>evaluate(DOMNode *contextNode, unsigned short type, void* result) const = 0;</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + + + + + +<h3> +<font color="#000000">DOMXPathNamespace.hpp:</font></h3> + +<div id="DOMXPathNamespace"><font face="Courier New,Courier"><font size=-1>classDOMXPathNamespace</font></font> +<table> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>enum</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>XPathNodeType {</font></font></td> + +<td></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>XPATH_NAMESPACE_NODE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 13,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>DOMElement</font></font></td> +<td><font face="Courier New,Courier"><font size=-1>*getOwnerElement() const = 0;</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + + + + +<h3> +<font color="#000000">DOMXPathNSResolver.hpp:</font></h3> + +<div id="DOMXPathNSResolver"><font face="Courier New,Courier"><font size=-1>class +DOMXPathNSResolver</font></font> +<table> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>const XMLCh*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>lookupNamespaceURI(const XMLCh* prefix) const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>const XMLCh*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>lookupPrefix(const XMLCh* URI) const = 0;</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + + + + + +<h3> +<font color="#000000">DOMXPathResult.hpp:</font></h3> + +<div id="DOMXPathResult"><font face="Courier New,Courier"><font size=-1>class +DOMXPathResult</font></font> +<table> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>{</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>public:</font></font></td> + +<td></td> + +<td></td> + +<td></td> + +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>enum</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>resultType {</font></font></td> + +<td></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>ANY_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 0,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>NUMBER_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 1,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>STRING_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 2,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>BOOLEAN_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 3,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> + +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>UNORDERED_NODE_ITERATOR_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 4,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>ORDERED_NODE_ITERATOR_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 5,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>UNORDERED_NODE_SNAPSHOT_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 6,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>ORDERED_NODE_SNAPSHOT_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 7,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>ANY_UNORDERED_NODE_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 8,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>FIRST_ORDERED_NODE_TYPE</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>= 9,</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>bool</font></font></td> + + + + +<td><font face="Courier New,Courier"><font size=-1>getBooleanValue() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>bool</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>getInvalidIteratorState() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>double</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>getNumberValue() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>short</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>getResultType() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>DOMNode</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>*getSingleNodeValue() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>unsigned long</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>getSnapshotLength() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>const XMLCh*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>getStringValue() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>DOMNode*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>iterateNext() const = 0;</font></font></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP> +<td></td> + +<td><font face="Courier New,Courier"><font size=-1>virtual</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>DOMNode*</font></font></td> + +<td><font face="Courier New,Courier"><font size=-1>snapshotItem(unsigned long index) const = 0;</font></font></td> +</tr> +<tr ALIGN=LEFT VALIGN=TOP> +<td><font face="Courier New,Courier"><font size=-1>};</font></font></td> + +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + +<td></td> + +<td></td> + +<td></td> + + +</tr> +</table> +</div> + +<div class='div1'> +<div id="Divider"> +<hr WIDTH="100%"></div> +</div> + +<table BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="620" > +<tr ALIGN=LEFT VALIGN=TOP> +<td ALIGN=CENTER><i><font color="#0086B2"><font size=-1>Copyright © +2001 The Apache Software Foundation. All Rights Reserved.</font></font></i></td> +</tr> +</table> +</div> +</div> + + </body> </html> 1.11 +7 -1 xml-xerces/c/src/xercesc/dom/DOM.hpp Index: DOM.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/DOM.hpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- DOM.hpp 31 Mar 2003 15:47:03 -0000 1.10 +++ DOM.hpp 20 Aug 2003 11:31:22 -0000 1.11 @@ -111,6 +111,12 @@ #include <xercesc/dom/DOMWriter.hpp> #include <xercesc/dom/DOMWriterFilter.hpp> +#include <xercesc/dom/DOMXPathEvaluator.hpp> +#include <xercesc/dom/DOMXPathNSResolver.hpp> +#include <xercesc/dom/DOMXPathException.hpp> +#include <xercesc/dom/DOMXPathExpression.hpp> +#include <xercesc/dom/DOMXPathResult.hpp> +#include <xercesc/dom/DOMXPathNamespace.hpp> #endif 1.15 +4 -1 xml-xerces/c/src/xercesc/dom/DOMDocument.hpp Index: DOMDocument.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/DOMDocument.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- DOMDocument.hpp 14 May 2003 19:23:20 -0000 1.14 +++ DOMDocument.hpp 20 Aug 2003 11:31:22 -0000 1.15 @@ -65,6 +65,7 @@ #include "DOMNode.hpp" #include "DOMDocumentRange.hpp" #include "DOMDocumentTraversal.hpp" +#include "DOMXPathEvaluator.hpp" XERCES_CPP_NAMESPACE_BEGIN @@ -100,8 +101,10 @@ */ class CDOM_EXPORT DOMDocument: public DOMDocumentRange, + public DOMXPathEvaluator, public DOMDocumentTraversal, public DOMNode { + protected: // ----------------------------------------------------------------------- 1.15 +11 -4 xml-xerces/c/src/xercesc/dom/Makefile.in Index: Makefile.in =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/Makefile.in,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- Makefile.in 5 May 2003 21:21:15 -0000 1.14 +++ Makefile.in 20 Aug 2003 11:31:22 -0000 1.15 @@ -85,7 +85,7 @@ DOMCDATASection.hpp \ DOMCharacterData.hpp \ DOMComment.hpp \ - DOMConfiguration.hpp \ + DOMConfiguration.hpp \ DOMDocument.hpp \ DOMDocumentRange.hpp \ DOMDocumentTraversal.hpp \ @@ -119,7 +119,13 @@ DOMUserDataHandler.hpp \ DOMWriter.hpp \ DOMWriterFilter.hpp \ - StDOMNode.hpp + StDOMNode.hpp \ + DOMXPathNamespace.hpp \ + DOMXPathNSResolver.hpp \ + DOMXPathResult.hpp \ + DOMXPathEvaluator.hpp \ + DOMXPathException.hpp \ + DOMXPathExpression.hpp DOM_CPP_PRIVHEADERS = @@ -127,7 +133,8 @@ DOM_CPP_OBJECTS = \ DOMException.$(TO) \ - DOMRangeException.$(TO) + DOMRangeException.$(TO) \ + DOMXPathException.$(TO) all:: includes $(DOM_CPP_OBJECTS) impl deprecated 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathEvaluator.hpp Index: DOMXPathEvaluator.hpp =================================================================== #ifndef DOMXPathEvaluator_HEADER_GUARD_ #define DOMXPathEvaluator_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include <xercesc/util/XercesDefs.hpp> XERCES_CPP_NAMESPACE_BEGIN class DOMXPathNSResolver; class DOMXPathExpression; class DOMNode; /** * The evaluation of XPath expressions is provided by <code>DOMXPathEvaluator</code>. * In a DOM implementation which supports the XPath 3.0 feature, the <code>DOMXPathEvaluator</code> * interface will be implemented on the same object which implements the Document interface permitting * it to be obtained by casting or by using the DOM Level 3 getInterface method. In this case the * implementation obtained from the Document supports the XPath DOM module and is compatible * with the XPath 1.0 specification. * Evaluation of expressions with specialized extension functions or variables may not * work in all implementations and is, therefore, not portable. XPathEvaluator implementations * may be available from other sources that could provide specific support for specialized extension * functions or variables as would be defined by other specifications. * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathEvaluator { protected: // ----------------------------------------------------------------------- // Hidden constructors // ----------------------------------------------------------------------- /** @name Hidden constructors */ //@{ DOMXPathEvaluator() {}; //@} private: // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- /** @name Unimplemented constructors and operators */ //@{ DOMXPathEvaluator(const DOMXPathEvaluator &); DOMXPathEvaluator& operator = (const DOMXPathEvaluator&); //@} public: // ----------------------------------------------------------------------- // All constructors are hidden, just the destructor is available // ----------------------------------------------------------------------- /** @name Destructor */ //@{ /** * Destructor * */ virtual ~DOMXPathEvaluator() {}; //@} // ----------------------------------------------------------------------- // Virtual DOMDocument interface // ----------------------------------------------------------------------- /** @name Functions introduced in DOM Level 3 */ //@{ /** * Creates a parsed XPath expression with resolved namespaces. This is useful * when an expression will be reused in an application since it makes it * possible to compile the expression string into a more efficient internal * form and preresolve all namespace prefixes which occur within the expression. * @param expression of type XMLCh - The XPath expression string to be parsed. * @param resolver of type <code>XPathNSResolver</code> - The resolver permits * translation of all prefixes, including the xml namespace prefix, within the XPath expression * into appropriate namespace URIs. If this is specified as null, any namespace * prefix within the expression will result in <code>DOMException</code> being thrown with the * code NAMESPACE_ERR. * @return <code>XPathExpression</code> The compiled form of the XPath expression. * @exception <code>XPathException</code> * INVALID_EXPRESSION_ERR: Raised if the expression is not legal according to the * rules of the <code>DOMXPathEvaluator</code>. * @exception DOMException * NAMESPACE_ERR: Raised if the expression contains namespace prefixes which cannot * be resolved by the specified <code>XPathNSResolver</code>. * @since DOM Level 3 */ virtual const DOMXPathExpression* createExpression(const XMLCh *expression, const DOMXPathNSResolver *resolver) = 0; /** Adapts any DOM node to resolve namespaces so that an XPath expression can be * easily evaluated relative to the context of the node where it appeared within * the document. This adapter works like the DOM Level 3 method lookupNamespaceURI * on nodes in resolving the namespaceURI from a given prefix using the current * information available in the node's hierarchy at the time lookupNamespaceURI * is called. also correctly resolving the implicit xml prefix. * @param nodeResolver of type <code>DOMNode</code> The node to be used as a context * for namespace resolution. * @return <code>XPathNSResolver</code> <code>XPathNSResolver</code> which resolves namespaces * with respect to the definitions in scope for a specified node. */ virtual const DOMXPathNSResolver* createNSResolver(DOMNode *nodeResolver) = 0; /** * Evaluates an XPath expression string and returns a result of the specified * type if possible. * @param expression of type XMLCh The XPath expression string to be parsed * and evaluated. * @param contextNode of type <code>DOMNode</code> The context is context node * for the evaluation * of this XPath expression. If the <code>DOMXPathEvaluator</code> was obtained by * casting the <code>DOMDocument</code> then this must be owned by the same * document and must be a <code>DOMDocument</code>, <code>DOMElement</code>, * <code>DOMAttribute</code>, <code>DOMText</code>, <code>DOMCDATASection</code>, * <code>DOMComment</code>, <code>DOMProcessingInstruction</code>, or * <code>XPathNamespace</code> node. If the context node is a <code>DOMText</code> or * a <code>DOMCDATASection</code>, then the context is interpreted as the whole * logical text node as seen by XPath, unless the node is empty in which case it * may not serve as the XPath context. * @param resolver of type <code>XPathNSResolver</code> The resolver permits * translation of all prefixes, including the xml namespace prefix, within * the XPath expression into appropriate namespace URIs. If this is specified * as null, any namespace prefix within the expression will result in * <code>DOMException</code> being thrown with the code NAMESPACE_ERR. * @param type of type unsigned short - If a specific type is specified, then * the result will be returned as the corresponding type. * For XPath 1.0 results, this must be one of the codes of the <code>XPathResult</code> * interface. * @param result of type void* - The result specifies a specific result object * which may be reused and returned by this method. If this is specified as * null or the implementation does not reuse the specified result, a new result * object will be constructed and returned. * For XPath 1.0 results, this object will be of type <code>XPathResult</code>. * @return void* The result of the evaluation of the XPath expression. * For XPath 1.0 results, this object will be of type <code>XPathResult</code>. * @exception <code>XPathException</code> * INVALID_EXPRESSION_ERR: Raised if the expression is not legal * according to the rules of the <code>DOMXPathEvaluator</code> * TYPE_ERR: Raised if the result cannot be converted to return the specified type. * @exception DOMException * NAMESPACE_ERR: Raised if the expression contains namespace prefixes * which cannot be resolved by the specified <code>XPathNSResolver</code>. * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported * by this <code>DOMXPathEvaluator</code>. * NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath context * node or the request type is not permitted by this <code>DOMXPathEvaluator</code>. */ virtual void* evaluate(const XMLCh *expression, DOMNode *contextNode, const DOMXPathNSResolver *resolver, unsigned short type, void* result) = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathException.cpp Index: DOMXPathException.cpp =================================================================== /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include "DOMXPathException.hpp" XERCES_CPP_NAMESPACE_BEGIN DOMXPathException::DOMXPathException() : msg(0) { code = (ExceptionCode) 0; }; DOMXPathException::DOMXPathException(short exCode, const XMLCh *message) : msg(message) { code = (ExceptionCode) exCode; }; DOMXPathException::DOMXPathException(const DOMXPathException &other) : msg(other.msg) { code = other.code; }; DOMXPathException::~DOMXPathException() { }; XERCES_CPP_NAMESPACE_END 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathException.hpp Index: DOMXPathException.hpp =================================================================== #ifndef DOMXPathException_HEADER_GUARD_ #define DOMXPathException_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include <xercesc/util/XercesDefs.hpp> XERCES_CPP_NAMESPACE_BEGIN /** * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathException { public: // ----------------------------------------------------------------------- // Constructors // ----------------------------------------------------------------------- /** @name Constructors */ //@{ /** * Default constructor for DOMXPathException. * */ DOMXPathException(); /** * Constructor which takes an error code and a message. * * @param code The error code which indicates the exception * @param message The string containing the error message */ DOMXPathException(short code, const XMLCh *message); /** * Copy constructor. * * @param other The object to be copied. */ DOMXPathException(const DOMXPathException &other); //@} // ----------------------------------------------------------------------- // Destructors // ----------------------------------------------------------------------- /** @name Destructor. */ //@{ /** * Destructor for DOMXPathException. * */ virtual ~DOMXPathException(); //@} public: //@{ /** * ExceptionCode * INVALID_EXPRESSION_ERR If the expression has a syntax error or otherwise * is not a legal expression according to the rules of the specific * <code>XPathEvaluator</code> or contains specialized extension functions * or variables not supported by this implementation. * TYPE_ERR If the expression cannot be converted to return the specified type. */ enum ExceptionCode { INVALID_EXPRESSION_ERR = 51, TYPE_ERR = 52, }; //@} // ----------------------------------------------------------------------- // Class Types // ----------------------------------------------------------------------- /** @name Public variables */ //@{ /** * A code value, from the set defined by the ExceptionCode enum, * indicating the type of error that occured. */ ExceptionCode code; /** * A string value. Applications may use this field to hold an error * message. The field value is not set by the DOM implementation, * meaning that the string will be empty when an exception is first * thrown. */ const XMLCh *msg; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathExpression.hpp Index: DOMXPathExpression.hpp =================================================================== #ifndef DOMXPathExpression_HEADER_GUARD_ #define DOMXPathExpression_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include <xercesc/util/XercesDefs.hpp> XERCES_CPP_NAMESPACE_BEGIN class DOMNode; /** * The <code>DOMXPathExpression</code> interface represents a parsed and resolved XPath expression. * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathExpression { protected: // ----------------------------------------------------------------------- // Hidden constructors // ----------------------------------------------------------------------- /** @name Hidden constructors */ //@{ DOMXPathExpression() {}; //@} private: // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- /** @name Unimplemented constructors and operators */ //@{ DOMXPathExpression(const DOMXPathExpression &); DOMXPathExpression& operator = (const DOMXPathExpression&); //@} public: // ----------------------------------------------------------------------- // All constructors are hidden, just the destructor is available // ----------------------------------------------------------------------- /** @name Destructor */ //@{ /** * Destructor * */ virtual ~DOMXPathExpression() {}; //@} // ----------------------------------------------------------------------- // Virtual DOMDocument interface // ----------------------------------------------------------------------- /** @name Functions introduced in DOM Level 3 */ //@{ /** * Evaluates this XPath expression and returns a result. * @param contextNode of type <code>DOMNode</code> The context is context * node for the evaluation of this XPath expression. * If the XPathEvaluator was obtained by casting the Document then this must * be owned by the same document and must be a <code>DOMDocument</code>, <code>DOMElement</code>, * <code>DOMAttribute</code>, <code>DOMText</code>, <code>DOMCDATASection</code>, * <code>DOMComment</code>, <code>DOMProcessingInstruction</code>, or * <code>XPathNamespace</code>. If the context node is a <code>DOMText</code> or a * <code>DOMCDATASection</code>, then the context is interpreted as the whole logical * text node as seen by XPath, unless the node is empty in which case it may not * serve as the XPath context. * @param type of type unsigned short If a specific type is specified, then the result * will be coerced to return the specified type relying on XPath conversions and fail * if the desired coercion is not possible. This must be one of the type codes of <code>XPathResult</code>. * @param result of type void* The result specifies a specific result object which * may be reused and returned by this method. If this is specified as nullor the * implementation does not reuse the specified result, a new result object will be constructed * and returned. * For XPath 1.0 results, this object will be of type <code>XPathResult</code>. * @return void* The result of the evaluation of the XPath expression. * For XPath 1.0 results, this object will be of type <code>XPathResult</code>. * @exception <code>XPathException</code> * TYPE_ERR: Raised if the result cannot be converted to return the specified type. * @exception <code>DOMException</code> * WRONG_DOCUMENT_ERR: The <code>DOMNode</code> is from a document that is not supported by * the <code>XPathEvaluator</code> that created this <code>DOMXPathExpression</code>. * NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath context node or the * request type is not permitted by this <code>DOMXPathExpression</code>. */ virtual void* evaluate(DOMNode *contextNode, unsigned short type, void* result) const = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathNSResolver.hpp Index: DOMXPathNSResolver.hpp =================================================================== #ifndef DOMXPathNSResolver_HEADER_GUARD_ #define DOMXPathNSResolver_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include <xercesc/util/XercesDefs.hpp> XERCES_CPP_NAMESPACE_BEGIN /** * The <code>DOMXPathNSResolver</code> interface permit prefix strings * in the expression to be properly bound to namespaceURI strings. * <code>DOMXPathEvaluator</code> can construct an implementation of * <code>DOMXPathNSResolver</code> from a node, or the interface may be * implemented by any application. * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathNSResolver { protected: // ----------------------------------------------------------------------- // Hidden constructors // ----------------------------------------------------------------------- /** @name Hidden constructors */ //@{ DOMXPathNSResolver() {}; //@} private: // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- /** @name Unimplemented constructors and operators */ //@{ DOMXPathNSResolver(const DOMXPathNSResolver &); DOMXPathNSResolver& operator = (const DOMXPathNSResolver&); //@} public: // ----------------------------------------------------------------------- // All constructors are hidden, just the destructor is available // ----------------------------------------------------------------------- /** @name Destructor */ //@{ /** * Destructor * */ virtual ~DOMXPathNSResolver() {}; //@} // ----------------------------------------------------------------------- // Virtual DOMDocument interface // ----------------------------------------------------------------------- /** @name Functions introduced in DOM Level 3 */ //@{ /** Look up the namespace URI associated to the given namespace prefix. * The XPath evaluator must never call this with a null or empty argument, * because the result of doing this is undefined. * @param prefix of type XMLCh - The prefix to look for. * @return the associated namespace URI or null if none is found. */ virtual const XMLCh* lookupNamespaceURI(const XMLCh* prefix) const = 0; //@} // ----------------------------------------------------------------------- // Non-standard extension // ----------------------------------------------------------------------- /** @name Non-standard extension */ //@{ /** * Non-standard extension * * XPath2 implementations require a reverse lookup in the static context. * Look up the prefix associated with the namespace URI * The XPath evaluator must never call this with a null or empty argument, * because the result of doing this is undefined. * @param URI of type XMLCh - The namespace to look for. * @return the associated prefix or null if none is found. */ virtual const XMLCh* lookupPrefix(const XMLCh* URI) const = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathNamespace.hpp Index: DOMXPathNamespace.hpp =================================================================== #ifndef DOMXPathNamespace_HEADER_GUARD_ #define DOMXPathNamespace_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include "DOMNode.hpp" XERCES_CPP_NAMESPACE_BEGIN class DOMElement; /** * The <code>DOMXPathNamespace</code> interface is returned by <code>DOMXPathResult</code> * interfaces to represent the XPath namespace node type that DOM lacks. There is no * public constructor for this node type. Attempts to place it into a hierarchy or a * NamedNodeMap result in a DOMException with the code HIERARCHY_REQUEST_ERR. This node * is read only, so methods or setting of attributes that would mutate the node result * in a <code>DOMException</code> with the code NO_MODIFICATION_ALLOWED_ERR. * The core specification describes attributes of the <code>DOMNode</code> interface that * are different for different node types but does not describe XPATH_NAMESPACE_NODE, * so here is a description of those attributes for this node type. All attributes of * <code>DOMNode</code> not described in this section have a null or false value. * ownerDocument matches the ownerDocument of the ownerElement even if the element is later adopted. * nodeName is always the string "#namespace". * prefix is the prefix of the namespace represented by the node. * localName is the same as prefix. * nodeType is equal to XPATH_NAMESPACE_NODE. * namespaceURI is the namespace URI of the namespace represented by the node. * nodeValue is the same as namespaceURI. * adoptNode, cloneNode, and importNode fail on this node type by raising a DOMException with the code NOT_SUPPORTED_ERR. * Note: In future versions of the XPath specification, the definition of a namespace node may * be changed incomatibly, in which case incompatible changes to field values may be required to * implement versions beyond XPath 1.0. * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathNamespace : public DOMNode { protected: // ----------------------------------------------------------------------- // Hidden constructors // ----------------------------------------------------------------------- /** @name Hidden constructors */ //@{ DOMXPathNamespace() {}; //@} private: // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- /** @name Unimplemented constructors and operators */ //@{ DOMXPathNamespace(const DOMXPathNamespace &); DOMXPathNamespace& operator = (const DOMXPathNamespace&); //@} public: enum XPathNodeType { XPATH_NAMESPACE_NODE = 13 }; // ----------------------------------------------------------------------- // All constructors are hidden, just the destructor is available // ----------------------------------------------------------------------- /** @name Destructor */ //@{ /** * Destructor * */ virtual ~DOMXPathNamespace() {}; //@} // ----------------------------------------------------------------------- // Virtual DOMDocument interface // ----------------------------------------------------------------------- /** @name Functions introduced in DOM Level 3 */ //@{ /** * The <code>DOMElement</code> on which the namespace was in scope when * it was requested. This does not change on a returned namespace node * even if the document changes such that the namespace goes out of * scope on that element and this node is no longer found there by XPath. * @since DOM Level 3 */ virtual DOMElement *getOwnerElement() const = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.1 xml-xerces/c/src/xercesc/dom/DOMXPathResult.hpp Index: DOMXPathResult.hpp =================================================================== #ifndef DOMXPathResult_HEADER_GUARD_ #define DOMXPathResult_HEADER_GUARD_ /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com . For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */ #include <xercesc/util/XercesDefs.hpp> XERCES_CPP_NAMESPACE_BEGIN class DOMXPathNSResolver; class DOMXPathExpression; class DOMNode; /** * The <code>DOMXPathResult</code> interface represents the result of the * evaluation of an XPath 1.0 expression within the context of a particular * node. Since evaluation of an XPath expression can result in various result * types, this object makes it possible to discover and manipulate the type * and value of the result. * @since DOM Level 3 */ class CDOM_EXPORT DOMXPathResult { protected: // ----------------------------------------------------------------------- // Hidden constructors // ----------------------------------------------------------------------- /** @name Hidden constructors */ //@{ DOMXPathResult() {}; //@} private: // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- /** @name Unimplemented constructors and operators */ //@{ DOMXPathResult(const DOMXPathResult &); DOMXPathResult& operator = (const DOMXPathResult&); //@} public: // ----------------------------------------------------------------------- // All constructors are hidden, just the destructor is available // ----------------------------------------------------------------------- /** @name Destructor */ //@{ /** * Destructor * */ virtual ~DOMXPathResult() {}; //@} // ----------------------------------------------------------------------- // Class Types // ----------------------------------------------------------------------- /** @name Public Contants */ //@{ /** ANY_TYPE * This code does not represent a specific type. An evaluation of an XPath * expression will never produce this type. If this type is requested, then * the evaluation returns whatever type naturally results from evaluation * of the expression. * If the natural result is a node set when ANY_TYPE was requested, then * UNORDERED_NODE_ITERATOR_TYPE is always the resulting type. Any other * representation of a node set must be explicitly requested. * ANY_UNORDERED_NODE_TYPE * The result is a node set as defined by [XPath 1.0] and will be accessed * as a single node, which may be nullif the node set is empty. Document * modification does not invalidate the node, but may mean that the result * node no longer corresponds to the current document. This is a convenience * that permits optimization since the implementation can stop once any node * in the resulting set has been found. * If there is more than one node in the actual result, the single node * returned might not be the first in document order. * BOOLEAN_TYPE * The result is a boolean as defined by [XPath 1.0]. Document modification * does not invalidate the boolean, but may mean that reevaluation would not * yield the same boolean. * FIRST_ORDERED_NODE_TYPE * The result is a node set as defined by [XPath 1.0] and will be accessed * as a single node, which may be null if the node set is empty. Document * modification does not invalidate the node, but may mean that the result * node no longer corresponds to the current document. This is a convenience * that permits optimization since the implementation can stop once the first * node in document order of the resulting set has been found. * If there are more than one node in the actual result, the single node * returned will be the first in document order. * NUMBER_TYPE * The result is a number as defined by [XPath 1.0]. Document modification does * not invalidate the number, but may mean that reevaluation would not yield the * same number. * ORDERED_NODE_ITERATOR_TYPE * The result is a node set as defined by [XPath 1.0] that will be accessed * iteratively, which will produce document-ordered nodes. Document modification * invalidates the iteration. * ORDERED_NODE_SNAPSHOT_TYPE * The result is a node set as defined by [XPath 1.0] that will be accessed as a * snapshot list of nodes that will be in original document order. Document * modification does not invalidate the snapshot but may mean that reevaluation would * not yield the same snapshot and nodes in the snapshot may have been altered, moved, * or removed from the document. * STRING_TYPE * The result is a string as defined by [XPath 1.0]. Document modification does not * invalidate the string, but may mean that the string no longer corresponds to the * current document. * UNORDERED_NODE_ITERATOR_TYPE * The result is a node set as defined by [XPath 1.0] that will be accessed iteratively, * which may not produce nodes in a particular order. Document modification invalidates the iteration. * This is the default type returned if the result is a node set and ANY_TYPE is requested. * UNORDERED_NODE_SNAPSHOT_TYPE * The result is a node set as defined by [XPath 1.0] that will be accessed as a * snapshot list of nodes that may not be in a particular order. Document modification * does not invalidate the snapshot but may mean that reevaluation would not yield the same * snapshot and nodes in the snapshot may have been altered, moved, or removed from the document. */ enum resultType { ANY_TYPE = 0, NUMBER_TYPE = 1, STRING_TYPE = 2, BOOLEAN_TYPE = 3, UNORDERED_NODE_ITERATOR_TYPE = 4, ORDERED_NODE_ITERATOR_TYPE = 5, UNORDERED_NODE_SNAPSHOT_TYPE = 6, ORDERED_NODE_SNAPSHOT_TYPE = 7, ANY_UNORDERED_NODE_TYPE = 8, FIRST_ORDERED_NODE_TYPE = 9 }; //@} // ----------------------------------------------------------------------- // Virtual DOMDocument interface // ----------------------------------------------------------------------- /** @name Functions introduced in DOM Level 3 */ //@{ /** * Returns the boolean value of this result * @return booleanValue of type boolean, readonly * The value of this boolean result. * @exception XPathException * TYPE_ERR: raised if resultType is not BOOLEAN_TYPE. */ virtual bool getBooleanValue() const = 0; /** * Returns the state of the iterator * @return invalidIteratorState * Signifies that the iterator has become invalid. True if resultType is * UNORDERED_NODE_ITERATOR_TYPE or ORDERED_NODE_ITERATOR_TYPE and the * document has been modified since this result was returned. * @exception XPathException * TYPE_ERR: raised if resultType is not NUMBER_TYPE. */ virtual bool getInvalidIteratorState() const = 0; /** * Returns the number value of this result * @return numberValue * The value of this number result. If the native double type of the DOM * binding does not directly support the exact IEEE 754 result of the XPath * expression, then it is up to the definition of the binding to specify how * the XPath number is converted to the native binding number. * @exception XPathException * TYPE_ERR: raised if resultType is not NUMBER_TYPE. */ virtual double getNumberValue() const = 0; /** * Returns the result type of this result * @return resultType * A code representing the type of this result, as defined by the type constants. * @exception XPathException * TYPE_ERR: raised if resultType is not ANY_UNORDERED_NODE_TYPE or FIRST_ORDERED_NODE_TYPE. */ virtual short getResultType() const = 0; /** * Returns the single node value of this result * @return singleNodeValue * The value of this single node result, which may be null. * @exception XPathException * TYPE_ERR: raised if resultType is not ANY_UNORDERED_NODE_TYPE or FIRST_ORDERED_NODE_TYPE. */ virtual DOMNode *getSingleNodeValue() const = 0; /** * Returns the snapshot length * @return snapshotLength * The number of nodes in the result snapshot. Valid values for snapshotItem indices * are 0 to snapshotLength-1 inclusive. * @exception XPathException * TYPE_ERR: raised if resultType is not UNORDERED_NODE_SNAPSHOT_TYPE or * ORDERED_NODE_SNAPSHOT_TYPE. */ virtual unsigned long getSnapshotLength() const = 0; /** * Returns the string value of this result * @return stringValue * The value of this string result. * @exception XPathException * TYPE_ERR: raised if resultType is not STRING_TYPE. */ virtual const XMLCh* getStringValue() const = 0; /** * Iterates and returns the next node from the node set or nullif there are no more nodes. * @return the next node. * @exception XPathException * TYPE_ERR: raised if resultType is not UNORDERED_NODE_ITERATOR_TYPE or ORDERED_NODE_ITERATOR_TYPE. * @exception DOMException * INVALID_STATE_ERR: The document has been mutated since the result was returned. */ virtual DOMNode* iterateNext() const = 0; /** * Returns the indexth item in the snapshot collection. If index is greater than or * equal to the number of nodes in the list, this method returns null. Unlike the * iterator result, the snapshot does not become invalid, but may not correspond * to the current document if it is mutated. * @param index of type unsigned long - Index into the snapshot collection. * @return The node at the indexth position in the NodeList, or null if that is not a valid index. * @exception XPathException * TYPE_ERR: raised if resultType is not UNORDERED_NODE_SNAPSHOT_TYPE or ORDERED_NODE_SNAPSHOT_TYPE. */ virtual DOMNode* snapshotItem(unsigned long index) const = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif 1.45 +25 -2 xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp Index: DOMDocumentImpl.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.cpp,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- DOMDocumentImpl.cpp 29 May 2003 11:57:57 -0000 1.44 +++ DOMDocumentImpl.cpp 20 Aug 2003 11:31:22 -0000 1.45 @@ -85,7 +85,7 @@ #include <xercesc/dom/DOMImplementation.hpp> #include <xercesc/util/XMLChar.hpp> #include <xercesc/framework/MemoryManager.hpp> - +#include <iostream> XERCES_CPP_NAMESPACE_BEGIN @@ -436,6 +436,29 @@ } } } + + +const DOMXPathExpression* DOMDocumentImpl::createExpression(const XMLCh *expression, const DOMXPathNSResolver *resolver) +{ + throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0); + return 0; +} + +const DOMXPathNSResolver* DOMDocumentImpl::createNSResolver(DOMNode *nodeResolver) + +{ + throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0); + return 0; +} + +void* DOMDocumentImpl::evaluate(const XMLCh *expression, DOMNode *contextNode, const DOMXPathNSResolver *resolver, + unsigned short type, void* result) +{ + throw DOMException(DOMException::NOT_SUPPORTED_ERR, 0); + return 0; +} + + DOMTreeWalker* DOMDocumentImpl::createTreeWalker (DOMNode *root, unsigned long whatToShow, DOMNodeFilter* filter, bool entityReferenceExpansion) { 1.22 +8 -1 xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp Index: DOMDocumentImpl.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMDocumentImpl.hpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- DOMDocumentImpl.hpp 23 May 2003 03:37:14 -0000 1.21 +++ DOMDocumentImpl.hpp 20 Aug 2003 11:31:22 -0000 1.22 @@ -107,6 +107,8 @@ class DOMStringPool; class DOMBuffer; class MemoryManager; +class XPathNSResolver; +class XPathExpression; typedef RefVectorOf<DOMRangeImpl> Ranges; typedef RefVectorOf<DOMNodeIteratorImpl> NodeIterators; @@ -192,6 +194,11 @@ virtual NodeIterators* getNodeIterators() const; //non-standard api virtual void removeRange(DOMRangeImpl* range); //non-standard api virtual void removeNodeIterator(DOMNodeIteratorImpl* nodeIterator); //non-standard api + + virtual const DOMXPathExpression* createExpression(const XMLCh *expression, const DOMXPathNSResolver *resolver); + virtual const DOMXPathNSResolver* createNSResolver(DOMNode *nodeResolver); + virtual void* evaluate(const XMLCh *expression, DOMNode *contextNode, const DOMXPathNSResolver *resolver, + unsigned short type, void* result); // Extension to be called by the Parser
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]