/*
* functions.h: interface for the XSLT extra functions
*
* See Copyright for the status of this software.
*
* daniel@veillard.com
* Bjorn Reese <breese@users.sourceforge.net> for number formatting
*/
#ifndef __XML_XSLT_FUNCTIONS_H__
#define __XML_XSLT_FUNCTIONS_H__
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>
#include "xsltInternals.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* XSLT_REGISTER_FUNCTION_LOOKUP:
*
* Registering macro, not general purpose at all but used in different modules.
*/
#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \
xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \
(xmlXPathFuncLookupFunc) xsltXPathFunctionLookup, \
(void *)(ctxt->xpathCtxt));
xmlXPathFunction
xsltXPathFunctionLookup (xmlXPathContextPtr ctxt,
const xmlChar *name,
const xmlChar *ns_uri);
/*
* Interfaces for the functions implementations.
*/
void xsltDocumentFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltKeyFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt,
int nargs);
void xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt,
int nargs);
/*
* And the registration
*/
void xsltRegisterAllFunctions (xmlXPathContextPtr ctxt);
#ifdef __cplusplus
}
#endif
#endif /* __XML_XSLT_FUNCTIONS_H__ */