### ----------------------------------------------------
### -- LibXML
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: etc/libxml2-api.xml
### ----------------------------------------------------
### -- Chunk 31 of 44
.e. xmlPatternGetStreamCtxt() should work.</info>
      <return type='int' info='1 if streamable, 0 if not and -1 in case of error.'/>
      <arg name='comp' type='xmlPatternPtr' info='the precompiled pattern'/>
    </function>
    <function name='xmlPatterncompile' file='pattern' module='pattern'>
      <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
      <info>Compile a pattern.</info>
      <return type='xmlPatternPtr' info='the compiled form of the pattern or NULL in case of error'/>
      <arg name='pattern' type='const xmlChar *' info='the pattern to compile'/>
      <arg name='dict' type='xmlDict *' info='an optional dictionary for interned strings'/>
      <arg name='flags' type='int' info='compilation flags, see xmlPatternFlags'/>
      <arg name='namespaces' type='const xmlChar **' info='the prefix definitions, array of [URI, prefix] or NULL'/>
    </function>
    <function name='xmlPedanticParserDefault' file='parser' module='parserInternals'>
      <info>Set and return the previous value for enabling pedantic warnings.</info>
      <return type='int' info='the last value for 0 for no substitution, 1 for substitution.'/>
      <arg name='val' type='int' info='int 0 or 1'/>
    </function>
    <function name='xmlPopInput' file='parserInternals' module='parser'>
      <info>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</info>
      <return type='xmlChar' info='the current xmlChar in the parser context'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
    </function>
    <function name='xmlPopInputCallbacks' file='xmlIO' module='xmlIO'>
      <info>Clear the top input callback from the input stack. this includes the compiled-in I/O.</info>
      <return type='int' info='the number of input callback registered or -1 in case of error.'/>
    </function>
    <function name='xmlPreviousElementSibling' file='tree' module='tree'>
      <cond>defined(LIBXML_TREE_ENABLED)</cond>
      <info>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don&apos;t have back reference from entities content to entities references.</info>
      <return type='xmlNodePtr' info='the previous element sibling or NULL if not available'/>
      <arg name='node' type='xmlNodePtr' info='the current node'/>
    </function>
    <function name='xmlPrintURI' file='uri' module='uri'>
      <info>Prints the URI in the stream @stream.</info>
      <return type='void'/>
      <arg name='stream' type='FILE *' info='a FILE* for the output'/>
      <arg name='uri' type='xmlURIPtr' info='pointer to an xmlURI'/>
    </function>
    <function name='xmlPushInput' file='parserInternals' module='parser'>
      <info>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</info>
      <return type='int' info='-1 in case of error or the index in the input stack'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
      <arg name='input' type='xmlParserInputPtr' info='an XML parser input fragment (entity, XML fragment ...).'/>
    </function>
    <function name='xmlRMutexLock' file='threads' module='threads'>
      <info>xmlRMutexLock() is used to lock a libxml2 token_r.</info>
      <return type='void'/>
      <arg name='tok' type='xmlRMutexPtr' info='the reentrant mutex'/>
    </function>
    <function name='xmlRMutexUnlock' file='threads' module='threads'>
      <info>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</info>
      <return type='void'/>
      <arg name='tok' type='xmlRMutexPtr' info='the reentrant mutex'/>
    </function>
    <function name='xmlReadDoc' file='parser' module='parser'>
      <info>parse an XML in-memory document and build a tree.</info>
      <return type='xmlDocPtr' info='the resulting document tree'/>
      <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReadFd' file='parser' module='parser'>
      <info>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</info>
      <return type='xmlDocPtr' info='the resulting document tree'/>
      <arg name='fd' type='int' info='an open file descriptor'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReadFile' file='parser' module='parser'>
      <info>parse an XML file from the filesystem or the network.</info>
      <return type='xmlDocPtr' info='the resulting document tree'/>
      <arg name='filename' type='const char *' info='a file or URL'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReadIO' file='parser' module='parser'>
      <info>parse an XML document from I/O functions and source and build a tree.</info>
      <return type='xmlDocPtr' info='the resulting document tree'/>
      <arg name='ioread' type='xmlInputReadCallback' info='an I/O read function'/>
      <arg name='ioclose' type='xmlInputCloseCallback' info='an I/O close function'/>
      <arg name='ioctx' type='void *' info='an I/O handler'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReadMemory' file='parser' module='parser'>
      <info>parse an XML in-memory document and build a tree.</info>
      <return type='xmlDocPtr' info='the resulting document tree'/>
      <arg name='buffer' type='const char *' info='a pointer to a char array'/>
      <arg name='size' type='int' info='the size of the array'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderForDoc' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderForFd' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='fd' type='int' info='an open file descriptor'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderForFile' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='filename' type='const char *' info='a file or URL'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderForIO' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='ioread' type='xmlInputReadCallback' info='an I/O read function'/>
      <arg name='ioclose' type='xmlInputCloseCallback' info='an I/O close function'/>
      <arg name='ioctx' type='void *' info='an I/O handler'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderForMemory' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='buffer' type='const char *' info='a pointer to a char array'/>
      <arg name='size' type='int' info='the size of the array'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewDoc' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewFd' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='fd' type='int' info='an open file descriptor'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewFile' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='filename' type='const char *' info='a file or URL'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewIO' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='ioread' type='xmlInputReadCallback' info='an I/O read function'/>
      <arg name='ioclose' type='xmlInputCloseCallback' info='an I/O close function'/>
      <arg name='ioctx' type='void *' info='an I/O handler'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewMemory' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='buffer' type='const char *' info='a pointer to a char array'/>
      <arg name='size' type='int' info='the size of the array'/>
      <arg name='URL' type='const char *' info='the base URL to use for the document'/>
      <arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
      <arg name='options' type='int' info='a combination of xmlParserOption'/>
    </function>
    <function name='xmlReaderNewWalker' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
      <arg name='doc' type='xmlDocPtr' info='a preparsed document'/>
    </function>
    <function name='xmlReaderWalker' file='xmlreader' module='xmlreader'>
      <cond>defined(LIBXML_READER_ENABLED)</cond>
      <info>Create an xmltextReader for a preparsed document.</info>
      <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
      <arg name='doc' type='xmlDocPtr' info='a preparsed document'/>
    </function>
    <functype name='xmlReallocFunc' file='xmlmemory' module='xmlmemory'>
      <info>Signature for a realloc() implementation.</info>
      <return type='void *' info='a pointer to the newly reallocated block or NULL in case of error.'/>
      <arg name='mem' type='void *' info='an already allocated block of memory'/>
      <arg name='size' type='size_t' info='the new size requested in bytes'/>
    </functype>
    <function name='xmlReallocLoc' file='xmlmemory' module='xmlmemory'>
      <info>a realloc() equivalent, with logging of the allocation info.</info>
      <return type='void *' info='a pointer to the allocated area or NULL in case of lack of memory.'/>
      <arg name='ptr' type='void *' info='the initial memory block pointer'/>
      <arg name='size' type='size_t' info='an int specifying the size in byte to allocate.'/>
      <arg name='file' type='const char *' info='the file name or NULL'/>
      <arg name='line' type='int' info='the line number'/>
    </function>
    <function name='xmlReconciliateNs' file='tree' module='tree'>
      <cond>defined(LIBXML_TREE_ENABLED)</cond>
      <info>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</info>
      <return type='int' info='the number of namespace declarations created or -1 in case of error.'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
      <arg name='tree' type='xmlNodePtr' info='a node defining the subtree to reconciliate'/>
    </function>
    <function name='xmlRecoverDoc' file='parser' module='parser'>
      <cond>defined(LIBXML_SAX1_ENABLED)</cond>
      <info>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</info>
      <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
      <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
    </function>
    <function name='xmlRecoverFile' file='parser' module='parser'>
      <cond>defined(LIBXML_SAX1_ENABLED)</cond>
      <info>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</info>
      <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
      <arg name='filename' type='const char *' info='the filename'/>
    </function>
    <function name='xmlRecoverMemory' file='parser' module='parser'>
      <cond>defined(LIBXML_SAX1_ENABLED)</cond>
      <info>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</info>
      <return type='xmlDocPtr' info='the resulting document tree or NULL in case of error'/>
      <arg name='buffer' type='const char *' info='an pointer to a char array'/>
      <arg name='size' type='int' info='the size of the array'/>
    </function>
    <functype name='xmlRegExecCallbacks' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Callback function when doing a transition in the automata</info>
      <return type='void'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='the regular expression context'/>
      <arg name='token' type='const xmlChar *' info='the current token string'/>
      <arg name='transdata' type='void *' info='transition data'/>
      <arg name='inputdata' type='void *' info='input data'/>
    </functype>
    <function name='xmlRegExecErrInfo' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Extract error informations from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</info>
      <return type='int' info='will be freed with the @exec context and don&apos;t need to be deallocated.  Returns: 0 in case of success or -1 in case of error.'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context generating an error'/>
      <arg name='string' type='const xmlChar **' info='return value for the error string'/>
      <arg name='nbval' type='int *' info='pointer to the number of accepted values IN/OUT'/>
      <arg name='nbneg' type='int *' info='return number of negative transitions'/>
      <arg name='values' type='xmlChar **' info='pointer to the array of acceptable values'/>
      <arg name='terminal' type='int *' info='return value if this was a terminal state'/>
    </function>
    <function name='xmlRegExecNextValues' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Extract informations from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</info>
      <return type='int' info='will be freed with the @exec context and don&apos;t need to be deallocated.  Returns: 0 in case of success or -1 in case of error.'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context'/>
      <arg name='nbval' type='int *' info='pointer to the number of accepted values IN/OUT'/>
      <arg name='nbneg' type='int *' info='return number of negative transitions'/>
      <arg name='values' type='xmlChar **' info='pointer to the array of acceptable values'/>
      <arg name='terminal' type='int *' info='return value if this was a terminal state'/>
    </function>
    <function name='xmlRegExecPushString' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Push one input token in the execution context</info>
      <return type='int' info='1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context or NULL to indicate the end'/>
      <arg name='value' type='const xmlChar *' info='a string token input'/>
      <arg name='data' type='void *' info='data associated to the token to reuse in callbacks'/>
    </function>
    <function name='xmlRegExecPushString2' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Push one input token in the execution context</info>
      <return type='int' info='1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context or NULL to indicate the end'/>
      <arg name='value' type='const xmlChar *' info='the first string token input'/>
      <arg name='value2' type='const xmlChar *' info='the second string token input'/>
      <arg name='data' type='void *' info='data associated to the token to reuse in callbacks'/>
    </function>
    <function name='xmlRegFreeExecCtxt' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Free the structures associated to a regular expression evaulation context.</info>
      <return type='void'/>
      <arg name='exec' type='xmlRegExecCtxtPtr' info='a regular expression evaulation context'/>
    </function>
    <function name='xmlRegFreeRegexp' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Free a regexp</info>
      <return type='void'/>
      <arg name='regexp' type='xmlRegexpPtr' info='the regexp'/>
    </function>
    <function name='xmlRegNewExecCtxt' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Build a context used for progressive evaluation of a regexp.</info>
      <return type='xmlRegExecCtxtPtr' info='the new context'/>
      <arg name='comp' type='xmlRegexpPtr' info='a precompiled regular expression'/>
      <arg name='callback' type='xmlRegExecCallbacks' info='a callback function used for handling progresses in the automata matching phase'/>
      <arg name='data' type='void *' info='the context data associated to the callback in this context'/>
    </function>
    <function name='xmlRegexpCompile' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression</info>
      <return type='xmlRegexpPtr' info='the compiled expression or NULL in case of error'/>
      <arg name='regexp' type='const xmlChar *' info='a regular expression string'/>
    </function>
    <function name='xmlRegexpExec' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Check if the regular expression generates the value</info>
      <return type='int' info='1 if it matches, 0 if not and a negative value in case of error'/>
      <arg name='comp' type='xmlRegexpPtr' info='the compiled regular expression'/>
      <arg name='content' type='const xmlChar *' info='the value to check against the regular expression'/>
    </function>
    <function name='xmlRegexpIsDeterminist' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Check if the regular expression is determinist</info>
      <return type='int' info='1 if it yes, 0 if not and a negative value in case of error'/>
      <arg name='comp' type='xmlRegexpPtr' info='the compiled regular expression'/>
    </function>
    <function name='xmlRegexpPrint' file='xmlregexp' module='xmlregexp'>
      <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
      <info>Print the content of the compiled regular expression</info>
      <return type='void'/>
      <arg name='output' type='FILE *' info='the file for the output debug'/>
      <arg name='regexp' type='xmlRegexpPtr' info='the compiled regexp'/>
    </function>
    <function name='xmlRegisterCharEncodingHandler' file='encoding' module='encoding'>
      <info>Register the char encoding handler, surprising, isn&apos;t it ?</info>
      <return type='void'/>
      <arg name='handler' type='xmlCharEncodingHandlerPtr' info='the xmlCharEncodingHandlerPtr handler block'/>
    </function>
    <function name='xmlRegisterDefaultInputCallbacks' file='xmlIO' module='xmlIO'>
      <info>Registers the default compiled-in I/O handlers.</info>
      <return type='void'/>
    </function>
    <function name='xmlRegisterDefaultOutputCallbacks' file='xmlIO' module='xmlIO'>
      <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
      <info>Registers the default compiled-in I/O handlers.</info>
      <return type='void'/>
    </function>
    <function name='xmlRegisterHTTPPostCallbacks' file='xmlIO' module='xmlIO'>
      <cond>defined(LIBXML_OUTPUT_ENABLED) &amp;&amp; defined(LIBXML_HTTP_ENABLED)</cond>
      <info>By default, libxml submits HTTP output requests using the &quot;PUT&quot; method. Calling this method changes the HTTP output method to use the &quot;POST&quot; method instead.</info>
      <return type='void'/>
    </function>
    <function name='xmlRegisterInputCallbacks' file='xmlIO' module='xmlIO'>
      <info>Register a new set of I/O callback for handling parser input.</info>
      <return type='int' info='the registered handler number or -1 in case of error'/>
      <arg name='matchFunc' type='xmlInputMatchCallback' info='the xmlInputMatchCallback'/>
      <arg name='openFunc' type='xmlInputOpenCallback' info='the xmlInputOpenCallback'/>
      <arg name='readFunc' type='xmlInputReadCallback' info='the xmlInputReadCallback'/>
      <arg name='closeFunc' type='xmlInputCloseCallback' info='the xmlInputCloseCallback'/>
    </function>
    <function name='xmlRegisterNodeDefault' file='globals' module='globals'>
      <info>Registers a callback for node creation</info>
      <return type='xmlRegisterNodeFunc' info='the old value of the registration function'/>
      <arg name='func' type='xmlRegisterNodeFunc' info='function pointer to the new RegisterNodeFunc'/>
    </function>
    <functype name='xmlRegisterNodeFunc' file='globals' module='globals'>
      <info>Signature for the registration callback of a created node</info>
      <return type='void'/>
      <arg name='node' type='xmlNodePtr' info='the current node'/>
    </functype>
    <function name='xmlRegisterOutputCallbacks' file='xmlIO' module='xmlIO'>
      <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
      <info>Register a new set of I/O callback for handling output.</info>
      <return type='int' info='the registered handler number or -1 in case of error'/>
      <arg name='matchFunc' type='xmlOutputMatchCallback' info='the xmlOutputMatchCallback'/>
      <arg name='openFunc' type='xmlOutputOpenCallback' info='the xmlOutputOpenCallback'/>
      <arg name='writeFunc' type='xmlOutputWriteCallback' info='the xmlOutputWriteCallback'/>
      <arg name='closeFunc' type='xmlOutputCloseCallback' info='the xmlOutputCloseCallback'/>
    </function>
    <function name='xmlRelaxNGCleanupTypes' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Cleanup the default Schemas type library associated to RelaxNG</info>
      <return type='void'/>
    </function>
    <function name='xmlRelaxNGDump' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
      <info>Dump a RelaxNG structure back</info>
      <return type='void'/>
      <arg name='output' type='FILE *' info='the file output'/>
      <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
    </function>
    <function name='xmlRelaxNGDumpTree' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
      <info>Dump the transformed RelaxNG tree.</info>
      <return type='void'/>
      <arg name='output' type='FILE *' info='the file output'/>
      <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
    </function>
    <function name='xmlRelaxNGFree' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Deallocate a RelaxNG structure.</info>
      <return type='void'/>
      <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
    </function>
    <function name='xmlRelaxNGFreeParserCtxt' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Free the resources associated to the schema parser context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='the schema parser context'/>
    </function>
    <function name='xmlRelaxNGFreeValidCtxt' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Free the resources associated to the schema validation context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the schema validation context'/>
    </function>
    <function name='xmlRelaxNGGetParserErrors' file='relaxng' module='relaxng'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Get the callback information used to handle errors for a validation context</info>
      <return type='int' info='-1 in case of failure, 0 otherwise.'/>
      <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a Relax-NG validation context'/>
      <arg name='err' type='xmlRelaxNGValidityErrorFunc *' info='the error callback result'/>
      <arg name