### ----------------------------------------------------
### -- LibXSLT
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: etc/libxslt-api.xml
### ----------------------------------------------------
### -- Chunk 7 of 8
 node'/>
    </function>
    <functype name='xsltPreComputeFunction' file='extensions'>
      <info></info>
      <return type='xsltElemPreCompPtr' info=''/>
      <arg name='style' type='xsltStylesheetPtr' info=''/>
      <arg name='inst' type='xmlNodePtr' info=''/>
      <arg name='function' type='xsltTransformFunction' info=''/>
    </functype>
    <function name='xsltPrintErrorContext' file='xsltutils'>
      <info>Display the context of an error.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the transformation context'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
      <arg name='node' type='xmlNodePtr' info='the current node being processed'/>
    </function>
    <function name='xsltProcessOneNode' file='transform'>
      <info>Process the source node.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='contextNode' type='xmlNodePtr' info='the &quot;current node&quot; in the source tree'/>
      <arg name='withParams' type='xsltStackElemPtr' info='extra parameters (e.g. xsl:with-param) passed to the template if any'/>
    </function>
    <function name='xsltProcessingInstruction' file='transform'>
      <info>Process the xslt processing-instruction node on the source node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt processing-instruction node'/>
      <arg name='castedComp' type='xsltElemPreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltProfileStylesheet' file='transform'>
      <info>Apply the stylesheet to the document and dump the profiling to the given output.</info>
      <return type='xmlDocPtr' info='the result document or NULL in case of error'/>
      <arg name='style' type='xsltStylesheetPtr' info='a parsed XSLT stylesheet'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed XML document'/>
      <arg name='params' type='const char **' info='a NULL terminated arry of parameters names/values tuples'/>
      <arg name='output' type='FILE *' info='a FILE * for the profiling output'/>
    </function>
    <function name='xsltQuoteOneUserParam' file='variables'>
      <info>This is normally called from xsltQuoteUserParams to process a single parameter from a list of parameters.  The @value is stored in the context&apos;s global variable/parameter hash table.</info>
      <return type='int' info='0 in case of success, -1 in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='name' type='const xmlChar *' info='a null terminated string giving the name of the parameter'/>
      <arg name='value' type='const xmlChar *' info='a null terminated string giving the parameter value'/>
    </function>
    <function name='xsltQuoteUserParams' file='variables'>
      <info>Similar to xsltEvalUserParams, but the values are treated literally and are * *not* evaluated as XPath expressions. This should be done on parsed stylesheets before starting to apply transformations.</info>
      <return type='int' info='0 in case of success, -1 in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='params' type='const char **' info='a NULL terminated arry of parameters names/values tuples'/>
    </function>
    <function name='xsltRegisterAllElement' file='transform'>
      <info>Registers all default XSLT elements in this context</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XPath context'/>
    </function>
    <function name='xsltRegisterAllExtras' file='extra'>
      <info>Registers the built-in extensions</info>
      <return type='void'/>
    </function>
    <function name='xsltRegisterAllFunctions' file='functions'>
      <info>Registers all default XSLT functions in this context</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
    </function>
    <function name='xsltRegisterExtElement' file='extensions'>
      <info>Registers an extension element</info>
      <return type='int' info='0 in case of success, -1 in case of failure'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='name' type='const xmlChar *' info='the name of the element'/>
      <arg name='URI' type='const xmlChar *' info='the URI associated to the element'/>
      <arg name='function' type='xsltTransformFunction' info='the actual implementation which should be called'/>
    </function>
    <function name='xsltRegisterExtFunction' file='extensions'>
      <info>Registers an extension function</info>
      <return type='int' info='0 in case of success, -1 in case of failure'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='name' type='const xmlChar *' info='the name of the element'/>
      <arg name='URI' type='const xmlChar *' info='the URI associated to the element'/>
      <arg name='function' type='xmlXPathFunction' info='the actual implementation which should be called'/>
    </function>
    <function name='xsltRegisterExtModule' file='extensions'>
      <info>Register an XSLT extension module to the library.</info>
      <return type='int' info='0 if sucessful, -1 in case of error'/>
      <arg name='URI' type='const xmlChar *' info='URI associated to this module'/>
      <arg name='initFunc' type='xsltExtInitFunction' info='the module initialization function'/>
      <arg name='shutdownFunc' type='xsltExtShutdownFunction' info='the module shutdown function'/>
    </function>
    <function name='xsltRegisterExtModuleElement' file='extensions'>
      <info>Registers an extension module element.</info>
      <return type='int' info='0 if successful, -1 in case of error.'/>
      <arg name='name' type='const xmlChar *' info='the element name'/>
      <arg name='URI' type='const xmlChar *' info='the element namespace URI'/>
      <arg name='precomp' type='xsltPreComputeFunction' info='the pre-computation callback'/>
      <arg name='transform' type='xsltTransformFunction' info='the transformation callback'/>
    </function>
    <function name='xsltRegisterExtModuleFull' file='extensions'>
      <info>Register an XSLT extension module to the library.</info>
      <return type='int' info='0 if sucessful, -1 in case of error'/>
      <arg name='URI' type='const xmlChar *' info='URI associated to this module'/>
      <arg name='initFunc' type='xsltExtInitFunction' info='the module initialization function'/>
      <arg name='shutdownFunc' type='xsltExtShutdownFunction' info='the module shutdown function'/>
      <arg name='styleInitFunc' type='xsltStyleExtInitFunction' info='the module initialization function'/>
      <arg name='styleShutdownFunc' type='xsltStyleExtShutdownFunction' info='the module shutdown function'/>
    </function>
    <function name='xsltRegisterExtModuleFunction' file='extensions'>
      <info>Registers an extension module function.</info>
      <return type='int' info='0 if successful, -1 in case of error.'/>
      <arg name='name' type='const xmlChar *' info='the function name'/>
      <arg name='URI' type='const xmlChar *' info='the function namespace URI'/>
      <arg name='function' type='xmlXPathFunction' info='the function callback'/>
    </function>
    <function name='xsltRegisterExtModuleTopLevel' file='extensions'>
      <info>Registers an extension module top-level element.</info>
      <return type='int' info='0 if successful, -1 in case of error.'/>
      <arg name='name' type='const xmlChar *' info='the top-level element name'/>
      <arg name='URI' type='const xmlChar *' info='the top-level element namespace URI'/>
      <arg name='function' type='xsltTopLevelFunction' info='the top-level element callback'/>
    </function>
    <function name='xsltRegisterExtPrefix' file='extensions'>
      <info>Registers an extension namespace This is called from xslt.c during compile-time. The given prefix is not needed. Called by: xsltParseExtElemPrefixes() (new function) xsltRegisterExtPrefix() (old function)</info>
      <return type='int' info='0 in case of success, 1 if the @URI was already registered as an extension namespace and -1 in case of failure'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
      <arg name='prefix' type='const xmlChar *' info='the prefix used (optional)'/>
      <arg name='URI' type='const xmlChar *' info='the URI associated to the extension'/>
    </function>
    <function name='xsltRegisterExtras' file='extra'>
      <info>Registers the built-in extensions. This function is deprecated, use xsltRegisterAllExtras instead.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
    </function>
    <function name='xsltRegisterLocalRVT' file='xsltInternals'>
      <info>Registers a result value tree (XSLT 1.0 term: Result Tree Fragment) in the RVT garbage collector. The fragment will be freed when the instruction which created the fragment exits.</info>
      <return type='int' info='0 in case of success and -1 in case of API or internal errors.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='RVT' type='xmlDocPtr' info='a result value tree (Result Tree Fragment; xmlDocPtr)'/>
    </function>
    <function name='xsltRegisterPersistRVT' file='xsltInternals'>
      <info>Register the result value tree (XSLT 1.0 term: Result Tree Fragment) in the fragment garbage collector. The fragment will be freed when the transformation context is freed.</info>
      <return type='int' info='0 in case of success and -1 in case of error.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='RVT' type='xmlDocPtr' info='a result value tree (Result Tree Fragment)'/>
    </function>
    <function name='xsltRegisterTestModule' file='extensions'>
      <info>Registers the test module</info>
      <return type='void'/>
    </function>
    <function name='xsltRegisterTmpRVT' file='xsltInternals'>
      <info>Registers the result value tree (XSLT 1.0 term: Result Tree Fragment) in the garbage collector. The fragment will be freed at the exit of the currently instantiated xsl:template. Obsolete; this function might produce massive memory overhead, since the fragment is only freed when the current xsl:template exits. Use xsltRegisterLocalRVT() instead.</info>
      <return type='int' info='0 in case of success and -1 in case of API or internal errors.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='RVT' type='xmlDocPtr' info='a result value tree (Result Tree Fragment)'/>
    </function>
    <function name='xsltReleaseRVT' file='xsltInternals'>
      <info>Either frees the RVT (which is an xmlDoc) or stores it in the context&apos;s cache for later reuse.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='RVT' type='xmlDocPtr' info='a result value tree (Result Tree Fragment)'/>
    </function>
    <function name='xsltResolveStylesheetAttributeSet' file='attributes'>
      <info>resolve the references between attribute sets.</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet'/>
    </function>
    <function name='xsltRestoreDocumentNamespaces' file='xsltInternals'>
      <info>Restore the namespaces for the document</info>
      <return type='int' info='0 in case of success, -1 in case of failure'/>
      <arg name='ns' type='xsltNsMapPtr' info='map of namespaces'/>
      <arg name='doc' type='xmlDocPtr' info='the document'/>
    </function>
    <function name='xsltRunStylesheet' file='transform'>
      <info>Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It&apos;s an error to specify both @SAX and @IObuf.  NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8</info>
      <return type='int' info='the number of bytes written to the main resource or -1 in case of error.'/>
      <arg name='style' type='xsltStylesheetPtr' info='a parsed XSLT stylesheet'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed XML document'/>
      <arg name='params' type='const char **' info='a NULL terminated array of parameters names/values tuples'/>
      <arg name='output' type='const char *' info='the URL/filename ot the generated resource if available'/>
      <arg name='SAX' type='xmlSAXHandlerPtr' info='a SAX handler for progressive callback output (not implemented yet)'/>
      <arg name='IObuf' type='xmlOutputBufferPtr' info='an output buffer for progressive output (not implemented yet)'/>
    </function>
    <function name='xsltRunStylesheetUser' file='transform'>
      <info>Apply the stylesheet to the document and generate the output according to @output @SAX and @IObuf. It&apos;s an error to specify both @SAX and @IObuf.  NOTE: This may lead to a non-wellformed output XML wise ! NOTE: This may also result in multiple files being generated NOTE: using IObuf, the result encoding used will be the one used for creating the output buffer, use the following macro to read it from the stylesheet XSLT_GET_IMPORT_PTR(encoding, style, encoding) NOTE: using SAX, any encoding specified in the stylesheet will be lost since the interface uses only UTF8</info>
      <return type='int' info='the number of by written to the main resource or -1 in case of error.'/>
      <arg name='style' type='xsltStylesheetPtr' info='a parsed XSLT stylesheet'/>
      <arg name='doc' type='xmlDocPtr' info='a parsed XML document'/>
      <arg name='params' type='const char **' info='a NULL terminated array of parameters names/values tuples'/>
      <arg name='output' type='const char *' info='the URL/filename ot the generated resource if available'/>
      <arg name='SAX' type='xmlSAXHandlerPtr' info='a SAX handler for progressive callback output (not implemented yet)'/>
      <arg name='IObuf' type='xmlOutputBufferPtr' info='an output buffer for progressive output (not implemented yet)'/>
      <arg name='profile' type='FILE *' info='profile FILE * output or NULL'/>
      <arg name='userCtxt' type='xsltTransformContextPtr' info='user provided transform context'/>
    </function>
    <function name='xsltSaveProfiling' file='xsltutils'>
      <info>Save the profiling information on @output</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT context'/>
      <arg name='output' type='FILE *' info='a FILE * for saving the information'/>
    </function>
    <function name='xsltSaveResultTo' file='xsltutils'>
      <info>Save the result @result obtained by applying the @style stylesheet to an I/O output channel @buf</info>
      <return type='int' info='the number of byte written or -1 in case of failure.'/>
      <arg name='buf' type='xmlOutputBufferPtr' info='an output buffer'/>
      <arg name='result' type='xmlDocPtr' info='the result xmlDocPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
    </function>
    <function name='xsltSaveResultToFd' file='xsltutils'>
      <info>Save the result @result obtained by applying the @style stylesheet to an open file descriptor This does not close the descriptor.</info>
      <return type='int' info='the number of bytes written or -1 in case of failure.'/>
      <arg name='fd' type='int' info='a file descriptor'/>
      <arg name='result' type='xmlDocPtr' info='the result xmlDocPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
    </function>
    <function name='xsltSaveResultToFile' file='xsltutils'>
      <info>Save the result @result obtained by applying the @style stylesheet to an open FILE * I/O. This does not close the FILE @file</info>
      <return type='int' info='the number of bytes written or -1 in case of failure.'/>
      <arg name='file' type='FILE *' info='a FILE * I/O'/>
      <arg name='result' type='xmlDocPtr' info='the result xmlDocPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
    </function>
    <function name='xsltSaveResultToFilename' file='xsltutils'>
      <info>Save the result @result obtained by applying the @style stylesheet to a file or @URL</info>
      <return type='int' info='the number of byte written or -1 in case of failure.'/>
      <arg name='URL' type='const char *' info='a filename or URL'/>
      <arg name='result' type='xmlDocPtr' info='the result xmlDocPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
      <arg name='compression' type='int' info='the compression factor (0 - 9 included)'/>
    </function>
    <function name='xsltSaveResultToString' file='xsltutils'>
      <info>Save the result @result obtained by applying the @style stylesheet to a new allocated string.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='doc_txt_ptr' type='xmlChar **' info='Memory pointer for allocated XML text'/>
      <arg name='doc_txt_len' type='int *' info='Length of the generated XML text'/>
      <arg name='result' type='xmlDocPtr' info='the result xmlDocPtr'/>
      <arg name='style' type='xsltStylesheetPtr' info='the stylesheet'/>
    </function>
    <function name='xsltSecurityAllow' file='security'>
      <info>Function used to always allow an operation</info>
      <return type='int' info='1 always'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security block to use'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='value' type='const char *' info='unused'/>
    </function>
    <functype name='xsltSecurityCheck' file='security'>
      <info>User provided function to check the value of a string like a file path or an URL ...</info>
      <return type='int' info=''/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info=''/>
      <arg name='ctxt' type='xsltTransformContextPtr' info=''/>
      <arg name='value' type='const char *' info=''/>
    </functype>
    <function name='xsltSecurityForbid' file='security'>
      <info>Function used to always forbid an operation</info>
      <return type='int' info='0 always'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security block to use'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='value' type='const char *' info='unused'/>
    </function>
    <function name='xsltSetCtxtParseOptions' file='xsltutils'>
      <info>Change the default parser option passed by the XSLT engine to the parser when using document() loading.</info>
      <return type='int' info='the previous options or -1 in case of error'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='options' type='int' info='a combination of libxml2 xmlParserOption'/>
    </function>
    <function name='xsltSetCtxtSecurityPrefs' file='security'>
      <info>Set the security preference for a specific transformation</info>
      <return type='int' info='-1 in case of error, 0 otherwise'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security block to use'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
    </function>
    <function name='xsltSetCtxtSortFunc' file='xsltutils'>
      <info>Function to set the handler for XSLT sorting for the specified context. If the handler is NULL, then the global sort function will be called</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='handler' type='xsltSortFunc' info='the new handler function'/>
    </function>
    <function name='xsltSetDebuggerCallbacks' file='xsltutils'>
      <info>This function allow to plug a debugger into the XSLT library @block points to a block of memory containing the address of @no callback routines.</info>
      <return type='int' info='0 in case of success and -1 in case of error'/>
      <arg name='no' type='int' info='number of callbacks'/>
      <arg name='block' type='void *' info='the block of callbacks'/>
    </function>
    <function name='xsltSetDebuggerStatus' file='xsltutils'>
      <info>This function sets the value of xslDebugStatus.</info>
      <return type='void'/>
      <arg name='value' type='int' info='the value to be set'/>
    </function>
    <function name='xsltSetDefaultSecurityPrefs' file='security'>
      <info>Set the default security preference application-wide</info>
      <return type='void'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security block to use'/>
    </function>
    <function name='xsltSetGenericDebugFunc' file='xsltutils'>
      <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 or 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.</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='xsltSetGenericErrorFunc' file='xsltutils'>
      <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.</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='xsltSetLoaderFunc' file='documents'>
      <info>Set the new function to load document, if NULL it resets it to the default function.</info>
      <return type='void'/>
      <arg name='f' type='xsltDocLoaderFunc' info='the new function to handle document loading.'/>
    </function>
    <function name='xsltSetSecurityPrefs' file='security'>
      <info>Update the security option to use the new callback checking function</info>
      <return type='int' info='-1 in case of error, 0 otherwise'/>
      <arg name='sec' type='xsltSecurityPrefsPtr' info='the security block to update'/>
      <arg name='option' type='xsltSecurityOption' info='the option to update'/>
      <arg name='func' type='xsltSecurityCheck' info='the user callback to use for this option'/>
    </function>
    <function name='xsltSetSortFunc' file='xsltutils'>
      <info>Function to reset the global handler for XSLT sorting. If the handler is NULL, the default sort function will be used.</info>
      <return type='void'/>
      <arg name='handler' type='xsltSortFunc' info='the new handler function'/>
    </function>
    <function name='xsltSetTransformErrorFunc' file='xsltutils'>
      <info>Function to reset the handler and the error context for out of context error messages specific to a given XSLT transromation.  This simply means that @handler will be called for subsequent error messages while running the transformation.</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='ctx' type='void *' info='the new error handling context'/>
      <arg name='handler' type='xmlGenericErrorFunc' info='the new handler function'/>
    </function>
    <function name='xsltSetXIncludeDefault' file='transform'>
      <info>Set whether XInclude should be processed on document being loaded by default</info>
      <return type='void'/>
      <arg name='xinclude' type='int' info='whether to do XInclude processing'/>
    </function>
    <function name='xsltShutdownCtxtExts' file='extensions'>
      <info>Shutdown the set of modules loaded</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
    </function>
    <function name='xsltShutdownExts' file='extensions'>
      <info>Shutdown the set of modules loaded</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
    </function>
    <function name='xsltSort' file='transform'>
      <info>function attached to xsl:sort nodes, but this should not be called directly</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt sort node'/>
      <arg name='comp' type='xsltElemPreCompPtr' info='precomputed information'/>
    </function>
    <functype name='xsltSortFunc' file='xsltInternals'>
      <info>Signature of the function to use during sorting</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a transformation context'/>
      <arg name='sorts' type='xmlNodePtr *' info='the node-set to sort'/>
      <arg name='nbsorts' type='int' info='the number of sorts'/>
    </functype>
    <function name='xsltSplitQName' file='xsltutils'>
      <info>Split QNames into prefix and local names, both allocated from a dictionary.</info>
      <return type='const xmlChar *' info='the localname or NULL in case of error.'/>
      <arg name='dict' type='xmlDictPtr' info='a dictionary'/>
      <arg name='name' type='const xmlChar *' info='the full QName'/>
      <arg name='prefix' type='const xmlChar **' info='the return value'/>
    </function>
    <function name='xsltStrxfrm' file='xsltlocale'>
      <info>Transforms a string according to locale. The transformed string must then be compared with xsltLocaleStrcmp and freed with xmlFree.</info>
      <return type='xsltLocaleChar *' info='the transformed string or NULL on error'/>
      <arg name='locale' type='xsltLocale' info='locale created with xsltNewLocale'/>
      <arg name='string' type='const xmlChar *' info='UTF-8 string to transform'/>
    </function>
    <functype name='xsltStyleExtInitFunction' file='extensions'>
      <info>A function called at initialization time of an XSLT extension module.</info>
      <return type='void *' info='a pointer to the module specific data for this transformation.'/>
      <arg name='style' type='xsltStylesheetPtr' info=''/>
      <arg name='URI' type='const xmlChar *' info='the namespace URI for the extension'/>
    </functype>
    <functype name='xsltStyleExtShutdownFunction' file='extensions'>
      <info>A function called at shutdown time of an XSLT extension module.</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info=''/>
      <arg name='URI' type='const xmlChar *' info='the namespace URI for the extension'/>
      <arg name='data' type='void *' info='the data associated to this module'/>
    </functype>
    <function name='xsltStyleGetExtData' file='extensions'>
      <info>Retrieve the data associated to the extension module in this given stylesheet. Called by: xsltRegisterExtPrefix(), ( xsltExtElementPreCompTest(), xsltExtInitTest )</info>
      <return type='void *' info='the pointer or NULL if not present'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
      <arg name='URI' type='const xmlChar *' info='the URI associated to the exension module'/>
    </function>
    <function name='xsltStylePreCompute' file='preproc'>
      <info>Precompute an XSLT stylesheet element</info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet'/>
      <arg name='inst' type='xmlNodePtr' info='the instruction in the stylesheet'/>
    </function>
    <function name='xsltStyleStylesheetLevelGetExtData' file='extensions'>
      <info>Retrieve the data associated to the extension module in this given stylesheet.</info>
      <return type='void *' info='the pointer or NULL if not present'/>
      <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
      <arg name='URI' type='const xmlChar *' info='the URI associated to the exension module'/>
    </function>
    <function name='xsltSystemPropertyFunction' file='functions'>
      <info>Implement the system-property() XSLT function object system-property(string)</info>
      <return type='void'/>
      <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
      <arg name='nargs' type='int' info='the number of arguments'/>
    </function>
    <function name='xsltTemplateProcess' file='templates'>
      <info>Obsolete. Don&apos;t use it.</info>
      <return type='xmlNodePtr *' info='NULL.'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='the XSLT transformation context'/>
      <arg name='node' type='xmlNodePtr' info='the attribute template node'/>
    </function>
    <function name='xsltTestCompMatchList' file='pattern'>
      <info>Test whether the node matches one of the patterns in the list</info>
      <return type='int' info='1 if it matches, 0 if it doesn&apos;t and -1 in case of failure'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='a node'/>
      <arg name='comp' type='xsltCompMatchPtr' info='the precompiled pattern list'/>
    </function>
    <function name='xsltText' file='transform'>
      <info>Process the xslt text node on the source node</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
      <arg name='node' type='xmlNodePtr' info='the node in the source tree.'/>
      <arg name='inst' type='xmlNodePtr' info='the xslt text node'/>
      <arg name='comp' type='xsltElemPreCompPtr' info='precomputed information'/>
    </function>
    <function name='xsltTimestamp' file='xsltutils'>
      <info>Used for gathering profiling data</info>
      <return type='long' info='the number of tenth of milliseconds since the beginning of the profiling'/>
    </function>
    <functype name='xsltTopLevelFunction' file='extensions'>
      <info></info>
      <return type='void'/>
      <arg name='style' type='xsltStylesheetPtr' info=''/>
      <arg name='inst' type='xmlNodePtr' info=''/>
    </functype>
    <function name='xsltTransformError' file='xsltutils'>
      <info>Display and format an error messages, gives file, line, position and extra parameters, will use the specific transformation context if available</info>
      <return type='void'/>
      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
      <arg name='style' type='xsltStylesheetPtr' info='the XSLT stylesheet used'/>
      <arg name='node' type='xmlNodePtr' info='the current node in the stylesheet'/>
      <arg name='msg' type='