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 19 extern "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 32 XSLTPUBFUN 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 41 XSLTPUBFUN void XSLTCALL 42 xsltDocumentFunction (xmlXPathParserContextPtr ctxt, 43 int nargs); 44 XSLTPUBFUN void XSLTCALL 45 xsltKeyFunction (xmlXPathParserContextPtr ctxt, 46 int nargs); 47 XSLTPUBFUN void XSLTCALL 48 xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt, 49 int nargs); 50 XSLTPUBFUN void XSLTCALL 51 xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt, 52 int nargs); 53 XSLTPUBFUN void XSLTCALL 54 xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt, 55 int nargs); 56 XSLTPUBFUN void XSLTCALL 57 xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt, 58 int nargs); 59 XSLTPUBFUN void XSLTCALL 60 xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt, 61 int nargs); 62 XSLTPUBFUN void XSLTCALL 63 xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt, 64 int nargs); 65 66 /* 67 * And the registration 68 */ 69 70 XSLTPUBFUN void XSLTCALL 71 xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); 72 73 #ifdef __cplusplus 74 } 75 #endif 76 77 #endif /* __XML_XSLT_FUNCTIONS_H__ */ 78 79