* Summary: interface for the extension support
* Description: This provide the API needed for simple and module
* Copy: See Copyright for the status of this software.
* Author: Daniel Veillard
#ifndef __XML_XSLT_EXTENSION_H__
#define __XML_XSLT_EXTENSION_H__
#include <libxml/xpath.h>
#include "xsltInternals.h"
* Initialize the global variables for extensions
* xsltStyleExtInitFunction:
* @ctxt: an XSLT stylesheet
* @URI: the namespace URI for the extension
* A function called at initialization time of an XSLT extension module.
* Returns a pointer to the module specific data for this transformation.
typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style,
* xsltStyleExtShutdownFunction:
* @ctxt: an XSLT stylesheet
* @URI: the namespace URI for the extension
* @data: the data associated to this module
* A function called at shutdown time of an XSLT extension module.
typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style,
* @ctxt: an XSLT transformation context
* @URI: the namespace URI for the extension
* A function called at initialization time of an XSLT extension module.
* Returns a pointer to the module specific data for this transformation.
typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt,
* xsltExtShutdownFunction:
* @ctxt: an XSLT transformation context
* @URI: the namespace URI for the extension
* @data: the data associated to this module
* A function called at shutdown time of an XSLT extension module.
typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt,
xsltRegisterExtModule (const xmlChar *URI,
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc);
xsltRegisterExtModuleFull
xsltExtInitFunction initFunc,
xsltExtShutdownFunction shutdownFunc,
xsltStyleExtInitFunction styleInitFunc,
xsltStyleExtShutdownFunction styleShutdownFunc);
xsltUnregisterExtModule (const xmlChar * URI);
XSLTPUBFUN void * XSLTCALL
xsltGetExtData (xsltTransformContextPtr ctxt,
XSLTPUBFUN void * XSLTCALL
xsltStyleGetExtData (xsltStylesheetPtr style,
XSLTPUBFUN void * XSLTCALL
xsltStyleStylesheetLevelGetExtData(
xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
xsltShutdownExts (xsltStylesheetPtr style);
XSLTPUBFUN xsltTransformContextPtr XSLTCALL
xsltXPathGetTransformContext
(xmlXPathParserContextPtr ctxt);
xsltRegisterExtModuleFunction
xmlXPathFunction function);
XSLTPUBFUN xmlXPathFunction XSLTCALL
xsltExtModuleFunctionLookup (const xmlChar *name,
xsltUnregisterExtModuleFunction
typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
(xsltStylesheetPtr style,
xsltTransformFunction function);
XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
xsltNewElemPreComp (xsltStylesheetPtr style,
xsltTransformFunction function);
xsltInitElemPreComp (xsltElemPreCompPtr comp,
xsltTransformFunction function,
xsltElemPreCompDeallocator freeFunc);
xsltRegisterExtModuleElement
xsltPreComputeFunction precomp,
xsltTransformFunction transform);
XSLTPUBFUN xsltTransformFunction XSLTCALL
xsltExtElementLookup (xsltTransformContextPtr ctxt,
XSLTPUBFUN xsltTransformFunction XSLTCALL
xsltExtModuleElementLookup
XSLTPUBFUN xsltPreComputeFunction XSLTCALL
xsltExtModuleElementPreComputeLookup
xsltUnregisterExtModuleElement
typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style,
xsltRegisterExtModuleTopLevel
xsltTopLevelFunction function);
XSLTPUBFUN xsltTopLevelFunction XSLTCALL
xsltExtModuleTopLevelLookup
xsltUnregisterExtModuleTopLevel
/* These 2 functions are deprecated for use within modules. */
xsltRegisterExtFunction (xsltTransformContextPtr ctxt,
xmlXPathFunction function);
xsltRegisterExtElement (xsltTransformContextPtr ctxt,
xsltTransformFunction function);
* Extension Prefix handling API.
* Those are used by the XSLT (pre)processor.
xsltRegisterExtPrefix (xsltStylesheetPtr style,
xsltCheckExtPrefix (xsltStylesheetPtr style,
xsltCheckExtURI (xsltStylesheetPtr style,
xsltInitCtxtExts (xsltTransformContextPtr ctxt);
xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
xsltFreeExts (xsltStylesheetPtr style);
XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
xsltPreComputeExtModuleElement
(xsltStylesheetPtr style,
* Extension Infos access.
* Used by exslt initialisation
XSLTPUBFUN xmlHashTablePtr XSLTCALL
xsltGetExtInfo (xsltStylesheetPtr style,
* Test module http://xmlsoft.org/XSLT/
xsltRegisterTestModule (void);
xsltDebugDumpExtensions (FILE * output);
#endif /* __XML_XSLT_EXTENSION_H__ */