### ----------------------------------------------------
### -- LibXML
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: etc/libxml2-api.xml
### ----------------------------------------------------
### -- Chunk 34 of 44
' info='a schema validation context'/>
      <arg name='sax' type='xmlSAXHandlerPtr *' info='a pointer to the original xmlSAXHandlerPtr'/>
      <arg name='user_data' type='void **' info='a pointer to the original SAX user data pointer'/>
    </function>
    <function name='xmlSchemaSAXUnplug' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</info>
      <return type='int' info='0 in case of success and -1 in case of failure.'/>
      <arg name='plug' type='xmlSchemaSAXPlugPtr' info='a data structure returned by xmlSchemaSAXPlug'/>
    </function>
    <function name='xmlSchemaSetParserErrors' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Set the callback functions used to handle errors for a validation context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a schema validation context'/>
      <arg name='err' type='xmlSchemaValidityErrorFunc' info='the error callback'/>
      <arg name='warn' type='xmlSchemaValidityWarningFunc' info='the warning callback'/>
      <arg name='ctx' type='void *' info='contextual data for the callbacks'/>
    </function>
    <function name='xmlSchemaSetParserStructuredErrors' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Set the structured error callback</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a schema parser context'/>
      <arg name='serror' type='xmlStructuredErrorFunc' info='the structured error function'/>
      <arg name='ctx' type='void *' info='the functions context'/>
    </function>
    <function name='xmlSchemaSetValidErrors' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Set the error and warning callback informations</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='err' type='xmlSchemaValidityErrorFunc' info='the error function'/>
      <arg name='warn' type='xmlSchemaValidityWarningFunc' info='the warning function'/>
      <arg name='ctx' type='void *' info='the functions context'/>
    </function>
    <function name='xmlSchemaSetValidOptions' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Sets the options to be used during the validation.</info>
      <return type='int' info='0 in case of success, -1 in case of an API error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='options' type='int' info='a combination of xmlSchemaValidOption'/>
    </function>
    <function name='xmlSchemaSetValidStructuredErrors' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Set the structured error callback</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='serror' type='xmlStructuredErrorFunc' info='the structured error function'/>
      <arg name='ctx' type='void *' info='the functions context'/>
    </function>
    <function name='xmlSchemaValPredefTypeNode' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</info>
      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='type' type='xmlSchemaTypePtr' info='the predefined type'/>
      <arg name='value' type='const xmlChar *' info='the value to check'/>
      <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
      <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
    </function>
    <function name='xmlSchemaValPredefTypeNodeNoNorm' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</info>
      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='type' type='xmlSchemaTypePtr' info='the predefined type'/>
      <arg name='value' type='const xmlChar *' info='the value to check'/>
      <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
      <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
    </function>
    <function name='xmlSchemaValidCtxtGetOptions' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Get the validation context options.</info>
      <return type='int' info='the option combination or -1 on error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
    </function>
    <function name='xmlSchemaValidCtxtGetParserCtxt' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>allow access to the parser context of the schema validation context</info>
      <return type='xmlParserCtxtPtr' info='the parser context of the schema validation context or NULL in case of error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
    </function>
    <function name='xmlSchemaValidateDoc' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Validate a document tree in memory.</info>
      <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed document tree'/>
    </function>
    <function name='xmlSchemaValidateFacet' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Check a value against a facet condition</info>
      <return type='int' info='0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='base' type='xmlSchemaTypePtr' info='the base type'/>
      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
      <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
      <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
    </function>
    <function name='xmlSchemaValidateFacetWhtsp' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type &quot;pattern&quot;.</info>
      <return type='int' info='0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
      <arg name='fws' type='xmlSchemaWhitespaceValueType' info='the whitespace type of the facet&apos;s value'/>
      <arg name='valType' type='xmlSchemaValType' info='the built-in type of the value'/>
      <arg name='value' type='const xmlChar *' info='the lexical (or normalized for pattern) repr of the value to validate'/>
      <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
      <arg name='ws' type='xmlSchemaWhitespaceValueType' info='the whitespace type of the value'/>
    </function>
    <function name='xmlSchemaValidateFile' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</info>
      <return type='int' info='0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='filename' type='const char *' info='the URI of the instance'/>
      <arg name='options' type='int' info='a future set of options, currently unused'/>
    </function>
    <function name='xmlSchemaValidateLengthFacet' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Checka a value against a &quot;length&quot;, &quot;minLength&quot; and &quot;maxLength&quot; facet; sets @length to the computed length of @value.</info>
      <return type='int' info='0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.'/>
      <arg name='type' type='xmlSchemaTypePtr' info='the built-in type'/>
      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
      <arg name='value' type='const xmlChar *' info='the lexical repr. of the value to be validated'/>
      <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
      <arg name='length' type='unsigned long *' info='the actual length of the value'/>
    </function>
    <function name='xmlSchemaValidateLengthFacetWhtsp' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Checka a value against a &quot;length&quot;, &quot;minLength&quot; and &quot;maxLength&quot; facet; sets @length to the computed length of @value.</info>
      <return type='int' info='0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.'/>
      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
      <arg name='valType' type='xmlSchemaValType' info='the built-in type'/>
      <arg name='value' type='const xmlChar *' info='the lexical repr. of the value to be validated'/>
      <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
      <arg name='length' type='unsigned long *' info='the actual length of the value'/>
      <arg name='ws' type='xmlSchemaWhitespaceValueType' info='the whitespace type of the value'/>
    </function>
    <function name='xmlSchemaValidateListSimpleTypeFacet' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Checks the value of a list simple type against a facet.</info>
      <return type='int' info='0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.'/>
      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
      <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
      <arg name='actualLen' type='unsigned long' info='the number of list items'/>
      <arg name='expectedLen' type='unsigned long *' info='the resulting expected number of list items'/>
    </function>
    <function name='xmlSchemaValidateOneElement' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Validate a branch of a tree, starting with the given @elem.</info>
      <return type='int' info='0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='elem' type='xmlNodePtr' info='an element node'/>
    </function>
    <function name='xmlSchemaValidatePredefinedType' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</info>
      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='type' type='xmlSchemaTypePtr' info='the predefined type'/>
      <arg name='value' type='const xmlChar *' info='the value to check'/>
      <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
    </function>
    <function name='xmlSchemaValidateSetFilename' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Workaround to provide file error reporting information when this is not provided by current APIs</info>
      <return type='void'/>
      <arg name='vctxt' type='xmlSchemaValidCtxtPtr' info='the schema validation context'/>
      <arg name='filename' type='const char *' info='the file name'/>
    </function>
    <function name='xmlSchemaValidateSetLocator' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</info>
      <return type='void'/>
      <arg name='vctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='f' type='xmlSchemaValidityLocatorFunc' info='the locator function pointer'/>
      <arg name='ctxt' type='void *' info='the locator context'/>
    </function>
    <function name='xmlSchemaValidateStream' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</info>
      <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
      <arg name='input' type='xmlParserInputBufferPtr' info='the input to use for reading the data'/>
      <arg name='enc' type='xmlCharEncoding' info='an optional encoding information'/>
      <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler for the resulting events'/>
      <arg name='user_data' type='void *' info='the context to provide to the SAX handler.'/>
    </function>
    <functype name='xmlSchemaValidityErrorFunc' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Signature of an error callback from an XSD validation</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the validation context'/>
      <arg name='msg' type='const char *' info='the message'/>
      <arg name='...' type='...' info='extra arguments'/>
    </functype>
    <functype name='xmlSchemaValidityLocatorFunc' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>A schemas validation locator, a callback called by the validator. This is used when file or node informations are not available to find out what file and line number are affected</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='ctx' type='void *' info='user provided context'/>
      <arg name='file' type='const char **' info='returned file information'/>
      <arg name='line' type='unsigned long *' info='returned line information'/>
    </functype>
    <functype name='xmlSchemaValidityWarningFunc' file='xmlschemas' module='xmlschemas'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Signature of a warning callback from an XSD validation</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the validation context'/>
      <arg name='msg' type='const char *' info='the message'/>
      <arg name='...' type='...' info='extra arguments'/>
    </functype>
    <function name='xmlSchemaValueAppend' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Appends a next sibling to a list of computed values.</info>
      <return type='int' info='0 if succeeded and -1 on API errors.'/>
      <arg name='prev' type='xmlSchemaValPtr' info='the value'/>
      <arg name='cur' type='xmlSchemaValPtr' info='the value to be appended'/>
    </function>
    <function name='xmlSchemaValueGetAsBoolean' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Accessor for the boolean value of a computed value.</info>
      <return type='int' info='1 if true and 0 if false, or in case of an error. Hmm.'/>
      <arg name='val' type='xmlSchemaValPtr' info='the value'/>
    </function>
    <function name='xmlSchemaValueGetAsString' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Accessor for the string value of a computed value.</info>
      <return type='const xmlChar *' info='the string value or NULL if there was none, or on API errors.'/>
      <arg name='val' type='xmlSchemaValPtr' info='the value'/>
    </function>
    <function name='xmlSchemaValueGetNext' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Accessor for the next sibling of a list of computed values.</info>
      <return type='xmlSchemaValPtr' info='the next value or NULL if there was none, or on API errors.'/>
      <arg name='cur' type='xmlSchemaValPtr' info='the value'/>
    </function>
    <function name='xmlSchemaWhiteSpaceReplace' file='xmlschemastypes' module='xmlschemastypes'>
      <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
      <info>Replaces 0xd, 0x9 and 0xa with a space.</info>
      <return type='xmlChar *' info='the new string or NULL if no change was required.'/>
      <arg name='value' type='const xmlChar *' info='a value'/>
    </function>
    <function name='xmlSchematronFree' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Deallocate a Schematron structure.</info>
      <return type='void'/>
      <arg name='schema' type='xmlSchematronPtr' info='a schema structure'/>
    </function>
    <function name='xmlSchematronFreeParserCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Free the resources associated to the schema parser context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchematronParserCtxtPtr' info='the schema parser context'/>
    </function>
    <function name='xmlSchematronFreeValidCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Free the resources associated to the schema validation context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchematronValidCtxtPtr' info='the schema validation context'/>
    </function>
    <function name='xmlSchematronNewDocParserCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</info>
      <return type='xmlSchematronParserCtxtPtr' info='the parser context or NULL in case of error'/>
      <arg name='doc' type='xmlDocPtr' info='a preparsed document tree'/>
    </function>
    <function name='xmlSchematronNewMemParserCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</info>
      <return type='xmlSchematronParserCtxtPtr' info='the parser context or NULL in case of error'/>
      <arg name='buffer' type='const char *' info='a pointer to a char array containing the schemas'/>
      <arg name='size' type='int' info='the size of the array'/>
    </function>
    <function name='xmlSchematronNewParserCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</info>
      <return type='xmlSchematronParserCtxtPtr' info='the parser context or NULL in case of error'/>
      <arg name='URL' type='const char *' info='the location of the schema'/>
    </function>
    <function name='xmlSchematronNewValidCtxt' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Create an XML Schematrons validation context based on the given schema.</info>
      <return type='xmlSchematronValidCtxtPtr' info='the validation context or NULL in case of error'/>
      <arg name='schema' type='xmlSchematronPtr' info='a precompiled XML Schematrons'/>
      <arg name='options' type='int' info='a set of xmlSchematronValidOptions'/>
    </function>
    <function name='xmlSchematronParse' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.</info>
      <return type='xmlSchematronPtr' info='the internal XML Schematron structure built from the resource or NULL in case of error'/>
      <arg name='ctxt' type='xmlSchematronParserCtxtPtr' info='a schema validation context'/>
    </function>
    <function name='xmlSchematronSetValidStructuredErrors' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Set the structured error callback</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlSchematronValidCtxtPtr' info='a Schematron validation context'/>
      <arg name='serror' type='xmlStructuredErrorFunc' info='the structured error function'/>
      <arg name='ctx' type='void *' info='the functions context'/>
    </function>
    <function name='xmlSchematronValidateDoc' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Validate a tree instance against the schematron</info>
      <return type='int' info='0 in case of success, -1 in case of internal error and an error count otherwise.'/>
      <arg name='ctxt' type='xmlSchematronValidCtxtPtr' info='the schema validation context'/>
      <arg name='instance' type='xmlDocPtr' info='the document instace tree'/>
    </function>
    <functype name='xmlSchematronValidityErrorFunc' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Signature of an error callback from a Schematron validation</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the validation context'/>
      <arg name='msg' type='const char *' info='the message'/>
      <arg name='...' type='...' info='extra arguments'/>
    </functype>
    <functype name='xmlSchematronValidityWarningFunc' file='schematron' module='schematron'>
      <cond>defined(LIBXML_SCHEMATRON_ENABLED)</cond>
      <info>Signature of a warning callback from a Schematron validation</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the validation context'/>
      <arg name='msg' type='const char *' info='the message'/>
      <arg name='...' type='...' info='extra arguments'/>
    </functype>
    <function name='xmlSearchNs' file='tree' module='tree'>
      <info>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don&apos;t allow to cross entities boundaries. If you don&apos;t declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</info>
      <return type='xmlNsPtr' info='the namespace pointer or NULL.'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
      <arg name='node' type='xmlNodePtr' info='the current node'/>
      <arg name='nameSpace' type='const xmlChar *' info='the namespace prefix'/>
    </function>
    <function name='xmlSearchNsByHref' file='tree' module='tree'>
      <info>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</info>
      <return type='xmlNsPtr' info='the namespace pointer or NULL.'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
      <arg name='node' type='xmlNodePtr' info='the current node'/>
      <arg name='href' type='const xmlChar *' info='the namespace value'/>
    </function>
    <function name='xmlSetBufferAllocationScheme' file='tree' module='tree'>
      <info>Set the buffer allocation method.  Types are XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, improves performance</info>
      <return type='void'/>
      <arg name='scheme' type='xmlBufferAllocationScheme' info='allocation method to use'/>
    </function>
    <function name='xmlSetCompressMode' file='tree' module='tree'>
      <info>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</info>
      <return type='void'/>
      <arg name='mode' type='int' info='the compression ratio'/>
    </function>
    <function name='xmlSetDocCompressMode' file='tree' module='tree'>
      <info>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</info>
      <return type='void'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
      <arg name='mode' type='int' info='the compression ratio'/>
    </function>
    <function name='xmlSetEntityReferenceFunc' file='parserInternals' module='parser'>
      <cond>defined(LIBXML_LEGACY_ENABLED)</cond>
      <info>Set the function to call call back when a xml reference has been made</info>
      <return type='void'/>
      <arg name='func' type='xmlEntityReferenceFunc' info='A valid function'/>
    </function>
    <function name='xmlSetExternalEntityLoader' file='parser' module='xmlIO'>
      <info>Changes the defaultexternal entity resolver function for the application</info>
      <return type='void'/>
      <arg name='f' type='xmlExternalEntityLoader' info='the new entity resolver function'/>
    </function>
    <function name='xmlSetFeature' file='parser' module='legacy'>
      <cond>defined(LIBXML_LEGACY_ENABLED)</cond>
      <info>Change the current value of one feature of this parser instance</info>
      <return type='int' info='-1 in case or error, 0 otherwise'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML/HTML parser context'/>
      <arg name='name' type='const char *' info='the feature name'/>
      <arg name='value' type='void *' info='pointer to the location of the new value'/>
    </function>
    <function name='xmlSetGenericErrorFunc' file='xmlerror' module='error'>
      <info>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the new error handling context'/>
      <arg name='handler' type='xmlGenericErrorFunc' info='the new handler function'/>
    </function>
    <function name='xmlSetListDoc' file='tree' module='tree'>
      <info>update all nodes in the list to point to the right document</info>
      <return type='void'/>
      <arg name='list' type='xmlNodePtr' info='the first element'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
    </function>
    <function name='xmlSetNs' file='tree' module='tree'>
      <info>Associate a namespace to a node, a posteriori.</info>
      <return type='void'/>
      <arg name='node' type='xmlNodePtr' info='a node in the document'/>
      <arg name='ns' type='xmlNsPtr' info='a namespace pointer'/>
    </function>
    <function name='xmlSetNsProp' file='tree' module='tree'>
      <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)</cond>
      <info>Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked</info>
      <return type='xmlAttrPtr' info='the attribute pointer.'/>
      <arg name='node' type='xmlNodePtr' info='the node'/>
      <arg name='ns' type='xmlNsPtr' info='the namespace definition'/>
      <arg name='name' type='const xmlChar *' info='the attribute name'/>
      <arg name='value' type='const xmlChar *' info='the attribute value'/>
    </function>
    <function name='xmlSetProp' file='tree' module='tree'>
      <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)</cond>
      <info>Set (or reset) an attribute carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there&apos;s no such ns-binding for the prefix in scope.</info>
      <return type='xmlAttrPtr' info='the attribute pointer.'/>
      <arg name='node' type='xmlNodePtr' info='the node'/>
      <arg name='name' type='const xmlChar *' info='the attribute name (a QName)'/>
      <arg name='value' type='const xmlChar *' info='the attribute value'/>
    </function>
    <function name='xmlSetStructuredErrorFunc' file='xmlerror' module='error'>
      <info>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</info>
      <return type='void'/>
      <arg name='ctx' type='void *' info='the new error handling context'/>
      <arg name='handler' type='xmlStructuredErrorFunc' info='the new handler function'/>
    </function>
    <function name='xmlSetTreeDoc' file='tree' module='tree'>
      <info>update all nodes under the tree to point to the right document</info>
      <return type='void'/>
      <arg name='tree' type='xmlNodePtr' info='the top element'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
    </function>
    <function name='xmlSetupParserForBuffer' file='parser' module='parser'>
      <cond>defined(LIBXML_SAX1_ENABLED)</cond>
      <info>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
      <arg name='buffer' type='const xmlChar *' info='a xmlChar * buffer'/>
      <arg name='filename' type='const char *' info='a file name'/>
    </function>
    <function name='xml