1 /* 2 * Summary: interface for the variable matching and lookup. 3 * Description: interface for the variable matching and lookup. 4 * 5 * Copy: See Copyright for the status of this software. 6 * 7 * Author: Daniel Veillard 8 */ 9 10 #ifndef __XML_XSLT_VARIABLES_H__ 11 #define __XML_XSLT_VARIABLES_H__ 12 13 #include <libxml/xpath.h> 14 #include <libxml/xpathInternals.h> 15 #include "xsltexports.h" 16 #include "xsltInternals.h" 17 #include "functions.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 24 /** 25 * XSLT_REGISTER_VARIABLE_LOOKUP: 26 * 27 * Registering macro, not general purpose at all but used in different modules. 28 */ 29 30 #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \ 31 xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \ 32 xsltXPathVariableLookup, (void *)(ctxt)); \ 33 xsltRegisterAllFunctions((ctxt)->xpathCtxt); \ 34 xsltRegisterAllElement(ctxt); \ 35 (ctxt)->xpathCtxt->extra = ctxt 36 37 /* 38 * Interfaces for the variable module. 39 */ 40 41 XSLTPUBFUN int XSLTCALL 42 xsltEvalGlobalVariables (xsltTransformContextPtr ctxt); 43 XSLTPUBFUN int XSLTCALL 44 xsltEvalUserParams (xsltTransformContextPtr ctxt, 45 const char **params); 46 XSLTPUBFUN int XSLTCALL 47 xsltQuoteUserParams (xsltTransformContextPtr ctxt, 48 const char **params); 49 XSLTPUBFUN int XSLTCALL 50 xsltEvalOneUserParam (xsltTransformContextPtr ctxt, 51 const xmlChar * name, 52 const xmlChar * value); 53 XSLTPUBFUN int XSLTCALL 54 xsltQuoteOneUserParam (xsltTransformContextPtr ctxt, 55 const xmlChar * name, 56 const xmlChar * value); 57 58 XSLTPUBFUN void XSLTCALL 59 xsltParseGlobalVariable (xsltStylesheetPtr style, 60 xmlNodePtr cur); 61 XSLTPUBFUN void XSLTCALL 62 xsltParseGlobalParam (xsltStylesheetPtr style, 63 xmlNodePtr cur); 64 XSLTPUBFUN void XSLTCALL 65 xsltParseStylesheetVariable (xsltTransformContextPtr ctxt, 66 xmlNodePtr cur); 67 XSLTPUBFUN void XSLTCALL 68 xsltParseStylesheetParam (xsltTransformContextPtr ctxt, 69 xmlNodePtr cur); 70 XSLTPUBFUN xsltStackElemPtr XSLTCALL 71 xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt, 72 xmlNodePtr cur); 73 XSLTPUBFUN int XSLTCALL 74 xsltAddStackElemList (xsltTransformContextPtr ctxt, 75 xsltStackElemPtr elems); 76 XSLTPUBFUN void XSLTCALL 77 xsltFreeGlobalVariables (xsltTransformContextPtr ctxt); 78 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL 79 xsltVariableLookup (xsltTransformContextPtr ctxt, 80 const xmlChar *name, 81 const xmlChar *ns_uri); 82 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL 83 xsltXPathVariableLookup (void *ctxt, 84 const xmlChar *name, 85 const xmlChar *ns_uri); 86 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif /* __XML_XSLT_VARIABLES_H__ */ 91 92