make sure SAX endDocument is always called as this could result in a
* parser.c: make sure SAX endDocument is always called as
this could result in a Python memory leak otherwise (it's
used to decrement ref-counting)
* python/generator.py python/libxml.c python/libxml.py
python/libxml2-python-api.xml python/libxml2class.txt
python/tests/error.py python/tests/xpath.py: implemented
the suggestions made by Gary Benson and extended the tests
to match it.
Daniel
diff --git a/python/libxml2-python-api.xml b/python/libxml2-python-api.xml
index 5026ee1..938d968 100644
--- a/python/libxml2-python-api.xml
+++ b/python/libxml2-python-api.xml
@@ -36,6 +36,20 @@
<arg name='size' type='int' info='the size of the initial data'/>
<arg name='URI' type='xmlChar *' info='The URI used for base computations'/>
</function>
+ <function name='xmlSAXParseFile' file='python'>
+ <info>Interface to parse an XML file or resource pointed by an URI to build an event flow to the SAX object</info>
+ <return type='void'/>
+ <arg name='SAX' type='pythonObject' info='the SAX callback object or None'/>
+ <arg name='URI' type='xmlChar *' info='The URI of the resource'/>
+ <arg name='recover' type='int' info='allow recovery in case of error'/>
+ </function>
+ <function name='htmlSAXParseFile' file='python'>
+ <info>Interface to parse an HTML file or resource pointed by an URI to build an event flow to the SAX object</info>
+ <return type='void'/>
+ <arg name='SAX' type='pythonObject' info='the SAX callback object or None'/>
+ <arg name='URI' type='xmlChar *' info='The URI of the resource'/>
+ <arg name='encoding' type='const char *' info='encoding or None'/>
+ </function>
<!-- xmlParserCtxtPtr accessors -->
<function name='xmlParserGetDoc' file='python_accessor'>
<info>Get the document tree from a parser context.</info>
@@ -102,7 +116,7 @@
<return type='xmlNsPtr' info="The namespace or None"/>
<arg name='node' type='xmlNodePtr' info='the node'/>
</function>
- <!-- xmlXPathParserContextPtr accessors -->
+ <!-- xmlXPathContextPtr accessors -->
<function name='xmlXPathParserGetContext' file='python_accessor'>
<info>Get the xpathContext from an xpathParserContext</info>
<return type='xmlXPathContextPtr' info="The XPath context" field="context"/>
@@ -118,6 +132,18 @@
<return type='xmlNodePtr' info="The node context" field="node"/>
<arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
</function>
+ <function name='xmlXPathSetContextDoc' file='python_accessor'>
+ <info>Set the doc of an xpathContext</info>
+ <return type='void'/>
+ <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
+ <arg name="doc" type='xmlDocPtr' info="The doc context"/>
+ </function>
+ <function name='xmlXPathSetContextNode' file='python_accessor'>
+ <info>Set the current node of an xpathContext</info>
+ <return type='void'/>
+ <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
+ <arg name="node" type='xmlNodePtr' info="The node context"/>
+ </function>
<function name='xmlXPathGetContextPosition' file='python_accessor'>
<info>Get the current node from an xpathContext</info>
<return type='int' info="The node context" field="proximityPosition"/>