[libxml2] Regenerated API, and testapi, rebuild documentation



commit 54ae471c147d280a137474c25fd76ca1f566efac
Author: Daniel Veillard <veillard redhat com>
Date:   Mon Apr 1 16:37:05 2013 +0800

    Regenerated API, and testapi, rebuild documentation
    
    After the previous commit adding 2 new entry points

 doc/devhelp/libxml2-tree.html       |    1 +
 doc/devhelp/libxml2-xmlversion.html |    5 ++
 doc/devhelp/libxml2-xpath.html      |   10 ++++
 doc/devhelp/libxml2.devhelp         |    3 +
 doc/libxml2-api.xml                 |   25 +++++++++-
 doc/libxml2-refs.xml                |   43 +++++++++++++---
 testapi.c                           |   93 ++++++++++++++++++++++++++++++++++-
 7 files changed, 170 insertions(+), 10 deletions(-)
---
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 9386b60..90c3903 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -812,6 +812,7 @@ The content of this structure is not made public by the API.
     int        nodeInfoMax     : Max depth of the parsing stack
     <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *    nodeInfoTab     : array of 
nodeInfos
     int        input_id        : we need to label inputs
+    unsigned long      sizeentcopy     : volume of entity copy
 } xmlParserCtxt;
 </pre><p/>
 </div>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 69a04e2..8178614 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -83,6 +83,7 @@
 #define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
 #define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
 #define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
+#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
 #define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
 #define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
 #define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
@@ -221,6 +222,10 @@ void       <a href="#xmlCheckVersion">xmlCheckVersion</a>                  (int version);
 </pre><p>Macro to check that the libxml version in use is compatible with the version the software has been 
compiled against</p>
 </div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ALLOC_ENABLED">Macro 
</a>LIBXML_THREAD_ALLOC_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
+</pre><p>Whether the allocation hooks are per-thread</p>
+</div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ENABLED">Macro 
</a>LIBXML_THREAD_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
 </pre><p>Whether the thread support is configured in</p>
 </div>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index d2a0afc..640c715 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -70,6 +70,7 @@ typedef <a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a href="#x
 typedef struct _xmlXPathParserContext <a href="#xmlXPathParserContext">xmlXPathParserContext</a>;
 int    <a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
 typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a 
href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>        (void * ctxt, <br/>                          
                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                  
                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNodeEval">xmlXPathNodeEval</a>        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br/>                                               const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                                
 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 int    <a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>                      (double val);
 int    <a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>          (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       int active, <br/>                                       int value, <br/>                               
         int options);
@@ -104,6 +105,7 @@ int <a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>                (<a 
href="libxml2-tree.htm
 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>       <a 
href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>  (int val);
+int    <a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
 int    <a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>  (double val);
 void   <a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
 void   <a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>                (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
@@ -514,6 +516,10 @@ The content of this structure is not made public by the API.
 </pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free 
it.</td></tr></tbody></table></div></div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeEval"/>xmlXPathNodeEval ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNodeEval        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                    
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>            
                                     <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctx)<br/>
+</pre><p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. 
The context node is not restored.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context 
node</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath 
expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetCreate"/>xmlXPathNodeSetCreate 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>     
xmlXPathNodeSetCreate   (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
 </pre><p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of 
value @val</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>an initial xmlNodePtr, or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created 
object.</td></tr></tbody></table></div></div>
@@ -526,6 +532,10 @@ The content of this structure is not made public by the API.
 </pre><p>Call this routine to speed up XPath computation on static documents. This stamps all the element 
nodes with the document order Like for line information, the order is kept in the element-&gt;content field, 
the value stored is actually - the node number (starting at -1) to be able to differentiate from line 
numbers.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in 
case of error.</td></tr></tbody></table></div></div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetContextNode"/>xmlXPathSetContextNode 
()</h3><pre class="programlisting">int    xmlXPathSetContextNode          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
+</pre><p>Sets 'node' as the context node. The node must be in the same document as that associated with the 
context.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node to to use as the context 
node</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or 0 
if successful</td></tr></tbody></table></div></div>
+        <hr/>
       </div>
     </div>
   </body>
diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp
index 3005571..8939af0 100644
--- a/doc/devhelp/libxml2.devhelp
+++ b/doc/devhelp/libxml2.devhelp
@@ -122,6 +122,7 @@
     <function name="LIBXML_SCHEMAS_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMAS_ENABLED"/>
     <function name="LIBXML_SCHEMATRON_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMATRON_ENABLED"/>
     <function name="LIBXML_TEST_VERSION" link="libxml2-xmlversion.html#LIBXML_TEST_VERSION"/>
+    <function name="LIBXML_THREAD_ALLOC_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED"/>
     <function name="LIBXML_THREAD_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ENABLED"/>
     <function name="LIBXML_TREE_ENABLED" link="libxml2-xmlversion.html#LIBXML_TREE_ENABLED"/>
     <function name="LIBXML_UNICODE_ENABLED" link="libxml2-xmlversion.html#LIBXML_UNICODE_ENABLED"/>
@@ -3481,6 +3482,7 @@
     <function name="xmlXPathNextPreceding ()" link="libxml2-xpathInternals.html#xmlXPathNextPreceding"/>
     <function name="xmlXPathNextPrecedingSibling ()" 
link="libxml2-xpathInternals.html#xmlXPathNextPrecedingSibling"/>
     <function name="xmlXPathNextSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextSelf"/>
+    <function name="xmlXPathNodeEval ()" link="libxml2-xpath.html#xmlXPathNodeEval"/>
     <function name="xmlXPathNodeLeading ()" link="libxml2-xpathInternals.html#xmlXPathNodeLeading"/>
     <function name="xmlXPathNodeLeadingSorted ()" 
link="libxml2-xpathInternals.html#xmlXPathNodeLeadingSorted"/>
     <function name="xmlXPathNodeSetAdd ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAdd"/>
@@ -3523,6 +3525,7 @@
     <function name="xmlXPathRegisteredVariablesCleanup ()" 
link="libxml2-xpathInternals.html#xmlXPathRegisteredVariablesCleanup"/>
     <function name="xmlXPathRoot ()" link="libxml2-xpathInternals.html#xmlXPathRoot"/>
     <function name="xmlXPathRoundFunction ()" link="libxml2-xpathInternals.html#xmlXPathRoundFunction"/>
+    <function name="xmlXPathSetContextNode ()" link="libxml2-xpath.html#xmlXPathSetContextNode"/>
     <function name="xmlXPathStartsWithFunction ()" 
link="libxml2-xpathInternals.html#xmlXPathStartsWithFunction"/>
     <function name="xmlXPathStringEvalNumber ()" 
link="libxml2-xpathInternals.html#xmlXPathStringEvalNumber"/>
     <function name="xmlXPathStringFunction ()" link="libxml2-xpathInternals.html#xmlXPathStringFunction"/>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 0e9b075..a70c374 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -3418,6 +3418,7 @@
      <exports symbol='DEBUG_MEMORY_LOCATION' type='macro'/>
      <exports symbol='LIBXML_ATTR_FORMAT' type='macro'/>
      <exports symbol='LIBXML_TEST_VERSION' type='macro'/>
+     <exports symbol='LIBXML_THREAD_ALLOC_ENABLED' type='macro'/>
      <exports symbol='LIBXML_XPATH_ENABLED' type='macro'/>
      <exports symbol='LIBXML_PATTERN_ENABLED' type='macro'/>
      <exports symbol='LIBXML_VALID_ENABLED' type='macro'/>
@@ -3591,6 +3592,7 @@
      <exports symbol='xmlXPathNINF' type='variable'/>
      <exports symbol='xmlXPathCastNodeSetToBoolean' type='function'/>
      <exports symbol='xmlXPathFuncLookupFunc' type='function'/>
+     <exports symbol='xmlXPathNodeEval' type='function'/>
      <exports symbol='xmlXPathCastNodeToString' type='function'/>
      <exports symbol='xmlXPathIsNaN' type='function'/>
      <exports symbol='xmlXPathContextSetCache' type='function'/>
@@ -3625,6 +3627,7 @@
      <exports symbol='xmlXPathCtxtCompile' type='function'/>
      <exports symbol='xmlXPathEvalFunc' type='function'/>
      <exports symbol='xmlXPathCastBooleanToString' type='function'/>
+     <exports symbol='xmlXPathSetContextNode' type='function'/>
      <exports symbol='xmlXPathCastNumberToBoolean' type='function'/>
      <exports symbol='xmlXPathFreeNodeSet' type='function'/>
      <exports symbol='xmlXPathFreeCompExpr' type='function'/>
@@ -4047,6 +4050,9 @@
     <macro name='LIBXML_TEST_VERSION' file='xmlversion'>
       <info>Macro to check that the libxml version in use is compatible with the version the software has 
been compiled against</info>
     </macro>
+    <macro name='LIBXML_THREAD_ALLOC_ENABLED' file='xmlversion'>
+      <info>Whether the allocation hooks are per-thread</info>
+    </macro>
     <macro name='LIBXML_THREAD_ENABLED' file='xmlversion'>
       <info>Whether the thread support is configured in</info>
     </macro>
@@ -6184,7 +6190,8 @@ set at the end of parsing'/>
       <field name='URI' type='const xmlChar *' info=' the full URI as computed'/>
       <field name='owner' type='int' info=' does the entity own the childrens'/>
       <field name='checked' type='int' info=' was the entity content checked this is also used to count 
entites
-* references done from that entity'/>
+* references done from that entity
+* and if it contains &apos;&lt;&apos;'/>
     </struct>
     <typedef name='xmlEntityPtr' file='tree' type='xmlEntity *'/>
     <typedef name='xmlEntityType' file='entities' type='enum'/>
@@ -6434,6 +6441,7 @@ actually an xmlCharEncoding'/>
       <field name='nodeInfoMax' type='int' info=' Max depth of the parsing stack'/>
       <field name='nodeInfoTab' type='xmlParserNodeInfo *' info=' array of nodeInfos'/>
       <field name='input_id' type='int' info=' we need to label inputs'/>
+      <field name='sizeentcopy' type='unsigned long' info=' volume of entity copy'/>
     </struct>
     <typedef name='xmlParserCtxtPtr' file='tree' type='xmlParserCtxt *'/>
     <typedef name='xmlParserErrors' file='xmlerror' type='enum'/>
@@ -17899,6 +17907,14 @@ Could we use @subtypes for this?'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
+    <function name='xmlXPathNodeEval' file='xpath' module='xpath'>
+      <cond>defined(LIBXML_XPATH_ENABLED)</cond>
+      <info>Evaluate the XPath Location Path in the given context. The node &apos;node&apos; is set as the 
context node. The context node is not restored.</info>
+      <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. 
the caller has to free the object.'/>
+      <arg name='node' type='xmlNodePtr' info='the node to to use as the context node'/>
+      <arg name='str' type='const xmlChar *' info='the XPath expression'/>
+      <arg name='ctx' type='xmlXPathContextPtr' info='the XPath context'/>
+    </function>
     <function name='xmlXPathNodeLeading' file='xpathInternals' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
       <info>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes 
is sorted by document order, then #exslSetsNodeLeadingSorted is called.</info>
@@ -18185,6 +18201,13 @@ Could we use @subtypes for this?'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
+    <function name='xmlXPathSetContextNode' file='xpath' module='xpath'>
+      <cond>defined(LIBXML_XPATH_ENABLED)</cond>
+      <info>Sets &apos;node&apos; as the context node. The node must be in the same document as that 
associated with the context.</info>
+      <return type='int' info='-1 in case of error or 0 if successful'/>
+      <arg name='node' type='xmlNodePtr' info='the node to to use as the context node'/>
+      <arg name='ctx' type='xmlXPathContextPtr' info='the XPath context'/>
+    </function>
     <function name='xmlXPathStartsWithFunction' file='xpathInternals' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
       <info>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with 
function returns true if the first argument string starts with the second argument string, and otherwise 
returns false.</info>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 7831c21..c36e7f4 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -86,6 +86,7 @@
     <reference name='LIBXML_SCHEMAS_ENABLED' href='html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED'/>
     <reference name='LIBXML_SCHEMATRON_ENABLED' 
href='html/libxml-xmlversion.html#LIBXML_SCHEMATRON_ENABLED'/>
     <reference name='LIBXML_TEST_VERSION' href='html/libxml-xmlversion.html#LIBXML_TEST_VERSION'/>
+    <reference name='LIBXML_THREAD_ALLOC_ENABLED' 
href='html/libxml-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED'/>
     <reference name='LIBXML_THREAD_ENABLED' href='html/libxml-xmlversion.html#LIBXML_THREAD_ENABLED'/>
     <reference name='LIBXML_TREE_ENABLED' href='html/libxml-xmlversion.html#LIBXML_TREE_ENABLED'/>
     <reference name='LIBXML_UNICODE_ENABLED' href='html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED'/>
@@ -3461,6 +3462,7 @@
     <reference name='xmlXPathNextPreceding' href='html/libxml-xpathInternals.html#xmlXPathNextPreceding'/>
     <reference name='xmlXPathNextPrecedingSibling' 
href='html/libxml-xpathInternals.html#xmlXPathNextPrecedingSibling'/>
     <reference name='xmlXPathNextSelf' href='html/libxml-xpathInternals.html#xmlXPathNextSelf'/>
+    <reference name='xmlXPathNodeEval' href='html/libxml-xpath.html#xmlXPathNodeEval'/>
     <reference name='xmlXPathNodeLeading' href='html/libxml-xpathInternals.html#xmlXPathNodeLeading'/>
     <reference name='xmlXPathNodeLeadingSorted' 
href='html/libxml-xpathInternals.html#xmlXPathNodeLeadingSorted'/>
     <reference name='xmlXPathNodeSetAdd' href='html/libxml-xpathInternals.html#xmlXPathNodeSetAdd'/>
@@ -3522,6 +3524,7 @@
     <reference name='xmlXPathRoot' href='html/libxml-xpathInternals.html#xmlXPathRoot'/>
     <reference name='xmlXPathRoundFunction' href='html/libxml-xpathInternals.html#xmlXPathRoundFunction'/>
     <reference name='xmlXPathSetArityError' href='html/libxml-xpathInternals.html#xmlXPathSetArityError'/>
+    <reference name='xmlXPathSetContextNode' href='html/libxml-xpath.html#xmlXPathSetContextNode'/>
     <reference name='xmlXPathSetError' href='html/libxml-xpathInternals.html#xmlXPathSetError'/>
     <reference name='xmlXPathSetTypeError' href='html/libxml-xpathInternals.html#xmlXPathSetTypeError'/>
     <reference name='xmlXPathStackIsExternal' 
href='html/libxml-xpathInternals.html#xmlXPathStackIsExternal'/>
@@ -3673,6 +3676,7 @@
       <ref name='LIBXML_SCHEMAS_ENABLED'/>
       <ref name='LIBXML_SCHEMATRON_ENABLED'/>
       <ref name='LIBXML_TEST_VERSION'/>
+      <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
       <ref name='LIBXML_THREAD_ENABLED'/>
       <ref name='LIBXML_TREE_ENABLED'/>
       <ref name='LIBXML_UNICODE_ENABLED'/>
@@ -7094,6 +7098,7 @@
       <ref name='xmlXPathNextPreceding'/>
       <ref name='xmlXPathNextPrecedingSibling'/>
       <ref name='xmlXPathNextSelf'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathNodeLeading'/>
       <ref name='xmlXPathNodeLeadingSorted'/>
       <ref name='xmlXPathNodeSetAdd'/>
@@ -7155,6 +7160,7 @@
       <ref name='xmlXPathRoot'/>
       <ref name='xmlXPathRoundFunction'/>
       <ref name='xmlXPathSetArityError'/>
+      <ref name='xmlXPathSetContextNode'/>
       <ref name='xmlXPathSetError'/>
       <ref name='xmlXPathSetTypeError'/>
       <ref name='xmlXPathStackIsExternal'/>
@@ -7970,6 +7976,7 @@
       <ref name='xmlXPathNewNodeSetList'/>
       <ref name='xmlXPathNewString'/>
       <ref name='xmlXPathNewValueTree'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathObjectCopy'/>
       <ref name='xmlXPathVariableLookup'/>
       <ref name='xmlXPathVariableLookupFunc'/>
@@ -8514,6 +8521,7 @@
       <ref name='xmlXPathIsNodeType'/>
       <ref name='xmlXPathNewParserContext'/>
       <ref name='xmlXPathNewString'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathNsLookup'/>
       <ref name='xmlXPathRegisterFunc'/>
       <ref name='xmlXPathRegisterFuncNS'/>
@@ -9811,6 +9819,7 @@
       <ref name='xmlXPathNextPreceding'/>
       <ref name='xmlXPathNextPrecedingSibling'/>
       <ref name='xmlXPathNextSelf'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathNodeLeading'/>
       <ref name='xmlXPathNodeLeadingSorted'/>
       <ref name='xmlXPathNodeSetAdd'/>
@@ -9821,6 +9830,7 @@
       <ref name='xmlXPathNodeSetDel'/>
       <ref name='xmlXPathNodeTrailing'/>
       <ref name='xmlXPathNodeTrailingSorted'/>
+      <ref name='xmlXPathSetContextNode'/>
       <ref name='xmlXPtrNewCollapsedRange'/>
       <ref name='xmlXPtrNewContext'/>
       <ref name='xmlXPtrNewLocationSetNodes'/>
@@ -10603,6 +10613,7 @@
       <ref name='xmlXPathFunctionLookup'/>
       <ref name='xmlXPathFunctionLookupNS'/>
       <ref name='xmlXPathNewParserContext'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathNsLookup'/>
       <ref name='xmlXPathRegisterAllFunctions'/>
       <ref name='xmlXPathRegisterFunc'/>
@@ -10615,6 +10626,7 @@
       <ref name='xmlXPathRegisteredFuncsCleanup'/>
       <ref name='xmlXPathRegisteredNsCleanup'/>
       <ref name='xmlXPathRegisteredVariablesCleanup'/>
+      <ref name='xmlXPathSetContextNode'/>
       <ref name='xmlXPathVariableLookup'/>
       <ref name='xmlXPathVariableLookupNS'/>
       <ref name='xmlXPtrEval'/>
@@ -14006,6 +14018,7 @@
       <ref name='LIBXML_SCHEMAS_ENABLED'/>
       <ref name='LIBXML_SCHEMATRON_ENABLED'/>
       <ref name='LIBXML_TEST_VERSION'/>
+      <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
       <ref name='LIBXML_THREAD_ENABLED'/>
       <ref name='LIBXML_TREE_ENABLED'/>
       <ref name='LIBXML_UNICODE_ENABLED'/>
@@ -14207,6 +14220,7 @@
       <ref name='xmlXPathNAN'/>
       <ref name='xmlXPathNINF'/>
       <ref name='xmlXPathNewContext'/>
+      <ref name='xmlXPathNodeEval'/>
       <ref name='xmlXPathNodeSetCreate'/>
       <ref name='xmlXPathNodeSetGetLength'/>
       <ref name='xmlXPathNodeSetIsEmpty'/>
@@ -14219,6 +14233,7 @@
       <ref name='xmlXPathPINF'/>
       <ref name='xmlXPathParserContext'/>
       <ref name='xmlXPathParserContextPtr'/>
+      <ref name='xmlXPathSetContextNode'/>
       <ref name='xmlXPathType'/>
       <ref name='xmlXPathTypePtr'/>
       <ref name='xmlXPathVariable'/>
@@ -15736,6 +15751,7 @@
           <ref name='xmlXPathEvalExpression'/>
           <ref name='xmlXPathEvalPredicate'/>
           <ref name='xmlXPathEvaluatePredicateResult'/>
+          <ref name='xmlXPathNodeEval'/>
           <ref name='xmlXPtrEval'/>
           <ref name='xmlXPtrEvalRangePredicate'/>
         </word>
@@ -16476,6 +16492,7 @@
         </word>
         <word name='Location'>
           <ref name='xmlXPathEval'/>
+          <ref name='xmlXPathNodeEval'/>
           <ref name='xmlXPtrEval'/>
           <ref name='xmlXPtrEvalRangePredicate'/>
         </word>
@@ -17078,6 +17095,7 @@
         <word name='Path'>
           <ref name='xmlGetNodePath'/>
           <ref name='xmlXPathEval'/>
+          <ref name='xmlXPathNodeEval'/>
           <ref name='xmlXPtrEval'/>
         </word>
         <word name='People'>
@@ -17794,6 +17812,7 @@
           <ref name='xmlXPathNodeLeadingSorted'/>
           <ref name='xmlXPathNodeTrailing'/>
           <ref name='xmlXPathNodeTrailingSorted'/>
+          <ref name='xmlXPathSetContextNode'/>
           <ref name='xmlXPathTrailing'/>
           <ref name='xmlXPathTrailingSorted'/>
         </word>
@@ -19148,6 +19167,7 @@
           <ref name='xmlXPathObjectCopy'/>
         </word>
         <word name='allocation'>
+          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
           <ref name='htmlNewParserCtxt'/>
           <ref name='xmlBufferSetAllocationScheme'/>
           <ref name='xmlGetBufferAllocationScheme'/>
@@ -20970,6 +20990,7 @@
         </word>
         <word name='contains'>
           <ref name='XML_SCHEMAS_ATTRGROUP_HAS_REFS'/>
+          <ref name='_xmlEntity'/>
           <ref name='xmlCurrentChar'/>
           <ref name='xmlParseEntityRef'/>
           <ref name='xmlParsePEReference'/>
@@ -22599,6 +22620,7 @@
           <ref name='xmlXPathEvalFunc'/>
           <ref name='xmlXPathEvalPredicate'/>
           <ref name='xmlXPathEvaluatePredicateResult'/>
+          <ref name='xmlXPathNodeEval'/>
           <ref name='xmlXPtrBuildNodeList'/>
           <ref name='xmlXPtrEval'/>
         </word>
@@ -23751,6 +23773,9 @@
         <word name='holds'>
           <ref name='xmlBufferWriteQuotedString'/>
         </word>
+        <word name='hooks'>
+          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
+        </word>
         <word name='host'>
           <ref name='xmlNanoFTPProxy'/>
           <ref name='xmlNanoFTPScanProxy'/>
@@ -24806,14 +24831,6 @@
           <ref name='xmlUTF8Strndup'/>
           <ref name='xmlUTF8Strsize'/>
         </word>
-        <word name='length'>
-          <ref name='xmlExpGetLanguage'/>
-          <ref name='xmlExpGetStart'/>
-          <ref name='xmlExpNewAtom'/>
-          <ref name='xmlRelaxNGValidatePushCData'/>
-          <ref name='xmlSplitQName3'/>
-          <ref name='xmlValidatePushCData'/>
-        </word>
         <word name='length-1'>
           <ref name='xmlXPathNodeSetItem'/>
         </word>
@@ -26683,6 +26700,9 @@
           <ref name='xmlValidateElementDecl'/>
           <ref name='xmlXPathContextSetCache'/>
         </word>
+        <word name='per-thread'>
+          <ref name='LIBXML_THREAD_ALLOC_ENABLED'/>
+        </word>
         <word name='performance'>
           <ref name='xmlGetBufferAllocationScheme'/>
           <ref name='xmlSetBufferAllocationScheme'/>
@@ -28074,6 +28094,7 @@
           <ref name='xmlSchemaSAXUnplug'/>
           <ref name='xmlTextReaderSetErrorHandler'/>
           <ref name='xmlTextReaderSetStructuredErrorHandler'/>
+          <ref name='xmlXPathNodeEval'/>
         </word>
         <word name='restrict'>
           <ref name='xmlParseExternalID'/>
@@ -28289,6 +28310,7 @@
           <ref name='xmlXPathNextFollowing'/>
           <ref name='xmlXPathNextPreceding'/>
           <ref name='xmlXPathNormalizeFunction'/>
+          <ref name='xmlXPathSetContextNode'/>
         </word>
         <word name='save'>
           <ref name='htmlNodeDumpFileFormat'/>
@@ -29527,6 +29549,7 @@
           <ref name='xmlTextReaderSetParserProp'/>
           <ref name='xmlUnsetNsProp'/>
           <ref name='xmlUnsetProp'/>
+          <ref name='xmlXPathSetContextNode'/>
         </word>
         <word name='successfully'>
           <ref name='xmlTextReaderNext'/>
@@ -30601,6 +30624,9 @@
           <ref name='xmlSAXParseFileWithData'/>
           <ref name='xmlSAXParseMemoryWithData'/>
         </word>
+        <word name='volume'>
+          <ref name='_xmlParserCtxt'/>
+        </word>
       </letter>
     </chunk>
     <chunk name='chunk27'>
@@ -31978,6 +32004,7 @@
           <ref name='xmlXPathNewNodeSetList'/>
           <ref name='xmlXPathNewString'/>
           <ref name='xmlXPathNewValueTree'/>
+          <ref name='xmlXPathNodeEval'/>
           <ref name='xmlXPathWrapNodeSet'/>
           <ref name='xmlXPtrEval'/>
           <ref name='xmlXPtrLocationSetAdd'/>
diff --git a/testapi.c b/testapi.c
index 289100e..c745ec3 100644
--- a/testapi.c
+++ b/testapi.c
@@ -46852,6 +46852,54 @@ test_xmlXPathNewContext(void) {
 
 
 static int
+test_xmlXPathNodeEval(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_XPATH_ENABLED)
+    int mem_base;
+    xmlXPathObjectPtr ret_val;
+    xmlNodePtr node; /* the node to to use as the context node */
+    int n_node;
+    xmlChar * str; /* the XPath expression */
+    int n_str;
+    xmlXPathContextPtr ctx; /* the XPath context */
+    int n_ctx;
+
+    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
+    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
+    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
+        mem_base = xmlMemBlocks();
+        node = gen_xmlNodePtr(n_node, 0);
+        str = gen_const_xmlChar_ptr(n_str, 1);
+        ctx = gen_xmlXPathContextPtr(n_ctx, 2);
+
+        ret_val = xmlXPathNodeEval(node, (const xmlChar *)str, ctx);
+        desret_xmlXPathObjectPtr(ret_val);
+        call_tests++;
+        des_xmlNodePtr(n_node, node, 0);
+        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
+        des_xmlXPathContextPtr(n_ctx, ctx, 2);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlXPathNodeEval",
+                  xmlMemBlocks() - mem_base);
+           test_ret++;
+            printf(" %d", n_node);
+            printf(" %d", n_str);
+            printf(" %d", n_ctx);
+            printf("\n");
+        }
+    }
+    }
+    }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
+
+static int
 test_xmlXPathNodeSetCreate(void) {
     int test_ret = 0;
 
@@ -46952,11 +47000,52 @@ test_xmlXPathOrderDocElems(void) {
     return(test_ret);
 }
 
+
+static int
+test_xmlXPathSetContextNode(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_XPATH_ENABLED)
+    int mem_base;
+    int ret_val;
+    xmlNodePtr node; /* the node to to use as the context node */
+    int n_node;
+    xmlXPathContextPtr ctx; /* the XPath context */
+    int n_ctx;
+
+    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
+    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
+        mem_base = xmlMemBlocks();
+        node = gen_xmlNodePtr(n_node, 0);
+        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
+
+        ret_val = xmlXPathSetContextNode(node, ctx);
+        desret_int(ret_val);
+        call_tests++;
+        des_xmlNodePtr(n_node, node, 0);
+        des_xmlXPathContextPtr(n_ctx, ctx, 1);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlXPathSetContextNode",
+                  xmlMemBlocks() - mem_base);
+           test_ret++;
+            printf(" %d", n_node);
+            printf(" %d", n_ctx);
+            printf("\n");
+        }
+    }
+    }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
 static int
 test_xpath(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing xpath : 30 of 38 functions ...\n");
+    if (quiet == 0) printf("Testing xpath : 32 of 40 functions ...\n");
     test_ret += test_xmlXPathCastBooleanToNumber();
     test_ret += test_xmlXPathCastBooleanToString();
     test_ret += test_xmlXPathCastNodeSetToBoolean();
@@ -46987,9 +47076,11 @@ test_xpath(void) {
     test_ret += test_xmlXPathIsInf();
     test_ret += test_xmlXPathIsNaN();
     test_ret += test_xmlXPathNewContext();
+    test_ret += test_xmlXPathNodeEval();
     test_ret += test_xmlXPathNodeSetCreate();
     test_ret += test_xmlXPathObjectCopy();
     test_ret += test_xmlXPathOrderDocElems();
+    test_ret += test_xmlXPathSetContextNode();
 
     if (test_ret != 0)
        printf("Module xpath: %d errors\n", test_ret);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]