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 | * Cleanup for ID generation |
68 | */ |
69 | XSLTPUBFUN int XSLTCALL |
70 | xsltCleanupIds (xsltTransformContextPtr ctxt, |
71 | xmlNodePtr root); |
72 | |
73 | /* |
74 | * And the registration |
75 | */ |
76 | |
77 | XSLTPUBFUN void XSLTCALL |
78 | xsltRegisterAllFunctions (xmlXPathContextPtr ctxt); |
79 | |
80 | #ifdef __cplusplus |
81 | } |
82 | #endif |
83 | |
84 | #endif /* __XML_XSLT_FUNCTIONS_H__ */ |
85 | |
86 | |