1/* 2 * Summary: interface for the XSLT functions not from XPath 3 * Description: a set of extra functions coming from XSLT but not in XPath 4 * 5 * Copy: See Copyright for the status of this software. 6 * 7 * Author: Daniel Veillard and Bjorn Reese <breese@users.sourceforge.net> 8 */ 9 10#ifndef __XML_XSLT_FUNCTIONS_H__ 11#define __XML_XSLT_FUNCTIONS_H__ 12 13#include <libxml/xpath.h> 14#include <libxml/xpathInternals.h> 15#include "xsltexports.h" 16#include "xsltInternals.h" 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22/** 23 * XSLT_REGISTER_FUNCTION_LOOKUP: 24 * 25 * Registering macro, not general purpose at all but used in different modules. 26 */ 27#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \ 28 xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \ 29 (xmlXPathFuncLookupFunc) xsltXPathFunctionLookup, \ 30 (void *)(ctxt->xpathCtxt)); 31 32XSLTPUBFUN xmlXPathFunction XSLTCALL 33 xsltXPathFunctionLookup (xmlXPathContextPtr ctxt, 34 const xmlChar *name, 35 const xmlChar *ns_uri); 36 37/* 38 * Interfaces for the functions implementations. 39 */ 40 41XSLTPUBFUN void XSLTCALL 42 xsltDocumentFunction (xmlXPathParserContextPtr ctxt, 43 int nargs); 44XSLTPUBFUN void XSLTCALL 45 xsltKeyFunction (xmlXPathParserContextPtr ctxt, 46 int nargs); 47XSLTPUBFUN void XSLTCALL 48 xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, 49 int nargs); 50XSLTPUBFUN void XSLTCALL 51 xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, 52 int nargs); 53XSLTPUBFUN void XSLTCALL 54 xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, 55 int nargs); 56XSLTPUBFUN void XSLTCALL 57 xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, 58 int nargs); 59XSLTPUBFUN void XSLTCALL 60 xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, 61 int nargs); 62XSLTPUBFUN void XSLTCALL 63 xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, 64 int nargs); 65 66/* 67 * And the registration 68 */ 69 70XSLTPUBFUN void XSLTCALL 71 xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); 72 73#ifdef __cplusplus 74} 75#endif 76 77#endif /* __XML_XSLT_FUNCTIONS_H__ */ 78 79