<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libxml2-python'>
  <files>
    <file name='python'>
     <exports symbol='libxml_registerXPathFunction'/>
    </file>
  </files>
  <symbols>
    <function name='xmlRegisterXPathFunction' file='python'>
      <info>Register a Python written function to the XPath interpreter</info>
      <return type='int' info="1 in case of success, 0 or -1 in case of error"/>
      <arg name='ctx' type='xmlXPathContextPtr' info='the xpathContext'/>
      <arg name='name' type='xmlChar *' info='the function name'/>
      <arg name='ns_uri' type='xmlChar *' info='the namespace or NULL'/>
      <arg name='f' type='pythonObject' info='the python function'/>
    </function>
    <function name='xmlRegisterErrorHandler' file='python'>
      <info>Register a Python written function to for error reporting. The function is called back as f(ctx, error).</info>
      <return type='int' info="1 in case of success, 0 or -1 in case of error"/>
      <arg name='f' type='pythonObject' info='the python function'/>
      <arg name='ctx' type='pythonObject' info='a context for the callback'/>
    </function>
    <function name='xmlCreatePushParser' file='python'>
      <info>Create a progressive XML parser context to build either an event flow if the SAX object is not None, or a DOM tree otherwise.</info>
      <return type='xmlParserCtxtPtr' info="the parser context or None in case of error"/>
      <arg name='SAX' type='pythonObject' info='the SAX callback object or None'/>
      <arg name='chunk' type='xmlChar *' info='the initial data'/>
      <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='htmlCreatePushParser' file='python'>
      <info>Create a progressive HTML parser context to build either an event flow if the SAX object is not None, or a DOM tree otherwise.</info>
      <return type='xmlParserCtxtPtr' info="the parser context or None in case of error"/>
      <arg name='SAX' type='pythonObject' info='the SAX callback object or None'/>
      <arg name='chunk' type='xmlChar *' info='the initial data'/>
      <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>
    <!-- xmlParserCtxtPtr accessors -->
    <function name='xmlParserGetDoc' file='python_accessor'>
      <info>Get the document tree from a parser context.</info>
      <return type='xmlDocPtr' info="the document tree" field="myDoc"/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
    </function>
    <function name='xmlParserGetWellFormed' file='python_accessor'>
      <info>Get the well formed information from a parser context.</info>
      <return type='int' info="the wellFormed field" field="wellFormed"/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
    </function>
    <function name='xmlParserGetIsValid' file='python_accessor'>
      <info>Get the validity information from a parser context.</info>
      <return type='int' info="the valid field" field="valid"/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
    </function>
    <function name='xmlParserSetValidate' file='python_accessor'>
      <info>Switch the parser to validation mode.</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
      <arg name='validate' type='int' info='1 to activate validation'/>
    </function>
    <function name='xmlParserSetReplaceEntities' file='python_accessor'>
      <info>Switch the parser to replace entities.</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
      <arg name='replaceEntities' type='int' info='1 to replace entities'/>
    </function>
    <function name='xmlParserSetPedantic' file='python_accessor'>
      <info>Switch the parser to be pedantic.</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
      <arg name='pedantic' type='int' info='1 to run in pedantic mode'/>
    </function>
    <function name='xmlParserSetLoadSubset' file='python_accessor'>
      <info>Switch the parser to load the DTD without validating.</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
      <arg name='loadsubset' type='int' info='1 to load the DTD'/>
    </function>
    <function name='xmlParserSetLineNumbers' file='python_accessor'>
      <info>Switch on the generation of line number for elements nodes.</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
      <arg name='linenumbers' type='int' info='1 to save line numbers'/>
    </function>
    <function name='xmlDebugMemory' file='python'>
      <info>Switch on the generation of line number for elements nodes. Also returns the number of bytes allocated and not freed by libxml2 since memory debugging was switched on.</info>
      <return type='int' info="returns the number of bytes allocated and not freed"/>
      <arg name='activate' type='int' info='1 switch on memory debugging 0 switch it off'/>
    </function>
    <function name='xmlDumpMemory' file='python'>
      <info>dump the memory allocated in the file .memdump</info>
      <return type='void'/>
    </function>
    <!-- xmlNsPtr accessors -->
    <function name='xmlNodeGetNs' file='python_accessor'>
      <info>Get the namespace of a node</info>
      <return type='xmlNsPtr' info="The namespace or None"/>
      <arg name='node' type='xmlNodePtr' info='the node'/>
    </function>
    <function name='xmlNodeGetNsDefs' file='python_accessor'>
      <info>Get the namespace of a node</info>
      <return type='xmlNsPtr' info="The namespace or None"/>
      <arg name='node' type='xmlNodePtr' info='the node'/>
    </function>
    <!-- xmlXPathParserContextPtr accessors -->
    <function name='xmlXPathParserGetContext' file='python_accessor'>
      <info>Get the xpathContext from an xpathParserContext</info>
      <return type='xmlXPathContextPtr' info="The XPath context" field="context"/>
      <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath parser context'/>
    </function>
    <function name='xmlXPathGetContextDoc' file='python_accessor'>
      <info>Get the doc from an xpathContext</info>
      <return type='xmlDocPtr' info="The doc context" field="doc"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
    <function name='xmlXPathGetContextNode' file='python_accessor'>
      <info>Get the current node from an xpathContext</info>
      <return type='xmlNodePtr' info="The node context" field="node"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath 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"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
    <function name='xmlXPathGetContextSize' file='python_accessor'>
      <info>Get the current node from an xpathContext</info>
      <return type='int' info="The node context" field="contextSize"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
    <function name='xmlXPathGetFunction' file='python_accessor'>
      <info>Get the current function name xpathContext</info>
      <return type='const xmlChar *' info="The function name" field="function"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
    <function name='xmlXPathGetFunctionURI' file='python_accessor'>
      <info>Get the current function name URI xpathContext</info>
      <return type='const xmlChar *' info="The function name URI" field="functionURI"/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
  </symbols>
</api>
