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&nbsp; <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>.&nbsp; Both
  -are W3C Working Draft of 09 April 2002.
  +Object Model Level 3.0 Abstract Schemas and Load and Save</a>&nbsp;, 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>.&nbsp;
   <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 &copy;
  -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 &copy;
  +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]

Reply via email to