• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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