Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:44:22

0001 /*
0002  * Summary: interface for the variable matching and lookup.
0003  * Description: interface for the variable matching and lookup.
0004  *
0005  * Copy: See Copyright for the status of this software.
0006  *
0007  * Author: Daniel Veillard
0008  */
0009 
0010 #ifndef __XML_XSLT_VARIABLES_H__
0011 #define __XML_XSLT_VARIABLES_H__
0012 
0013 #include <libxml/xpath.h>
0014 #include <libxml/xpathInternals.h>
0015 #include "xsltexports.h"
0016 #include "xsltInternals.h"
0017 #include "functions.h"
0018 
0019 #ifdef __cplusplus
0020 extern "C" {
0021 #endif
0022 
0023 
0024 /**
0025  * XSLT_REGISTER_VARIABLE_LOOKUP:
0026  *
0027  * Registering macro, not general purpose at all but used in different modules.
0028  */
0029 
0030 #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt)         \
0031     xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt,       \
0032            xsltXPathVariableLookup, (void *)(ctxt));    \
0033     xsltRegisterAllFunctions((ctxt)->xpathCtxt);        \
0034     xsltRegisterAllElement(ctxt);               \
0035     (ctxt)->xpathCtxt->extra = ctxt
0036 
0037 /*
0038  * Flags for memory management of RVTs
0039  */
0040 
0041 /**
0042  * XSLT_RVT_LOCAL:
0043  *
0044  * RVT is destroyed after the current instructions ends.
0045  */
0046 #define XSLT_RVT_LOCAL       ((void *)1)
0047 
0048 /**
0049  * XSLT_RVT_FUNC_RESULT:
0050  *
0051  * RVT is part of results returned with func:result. The RVT won't be
0052  * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or
0053  * XSLT_RVT_VARIABLE in the template that receives the return value.
0054  */
0055 #define XSLT_RVT_FUNC_RESULT ((void *)2)
0056 
0057 /**
0058  * XSLT_RVT_GLOBAL:
0059  *
0060  * RVT is part of a global variable.
0061  */
0062 #define XSLT_RVT_GLOBAL      ((void *)3)
0063 
0064 /*
0065  * Interfaces for the variable module.
0066  */
0067 
0068 XSLTPUBFUN int XSLTCALL
0069         xsltEvalGlobalVariables     (xsltTransformContextPtr ctxt);
0070 XSLTPUBFUN int XSLTCALL
0071         xsltEvalUserParams      (xsltTransformContextPtr ctxt,
0072                          const char **params);
0073 XSLTPUBFUN int XSLTCALL
0074         xsltQuoteUserParams     (xsltTransformContextPtr ctxt,
0075                          const char **params);
0076 XSLTPUBFUN int XSLTCALL
0077         xsltEvalOneUserParam        (xsltTransformContextPtr ctxt,
0078                          const xmlChar * name,
0079                          const xmlChar * value);
0080 XSLTPUBFUN int XSLTCALL
0081         xsltQuoteOneUserParam       (xsltTransformContextPtr ctxt,
0082                          const xmlChar * name,
0083                          const xmlChar * value);
0084 
0085 XSLTPUBFUN void XSLTCALL
0086         xsltParseGlobalVariable     (xsltStylesheetPtr style,
0087                          xmlNodePtr cur);
0088 XSLTPUBFUN void XSLTCALL
0089         xsltParseGlobalParam        (xsltStylesheetPtr style,
0090                          xmlNodePtr cur);
0091 XSLTPUBFUN void XSLTCALL
0092         xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
0093                          xmlNodePtr cur);
0094 XSLTPUBFUN void XSLTCALL
0095         xsltParseStylesheetParam    (xsltTransformContextPtr ctxt,
0096                          xmlNodePtr cur);
0097 XSLTPUBFUN xsltStackElemPtr XSLTCALL
0098         xsltParseStylesheetCallerParam  (xsltTransformContextPtr ctxt,
0099                          xmlNodePtr cur);
0100 XSLTPUBFUN int XSLTCALL
0101         xsltAddStackElemList        (xsltTransformContextPtr ctxt,
0102                          xsltStackElemPtr elems);
0103 XSLTPUBFUN void XSLTCALL
0104         xsltFreeGlobalVariables     (xsltTransformContextPtr ctxt);
0105 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
0106         xsltVariableLookup      (xsltTransformContextPtr ctxt,
0107                          const xmlChar *name,
0108                          const xmlChar *ns_uri);
0109 XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
0110         xsltXPathVariableLookup     (void *ctxt,
0111                          const xmlChar *name,
0112                          const xmlChar *ns_uri);
0113 #ifdef __cplusplus
0114 }
0115 #endif
0116 
0117 #endif /* __XML_XSLT_VARIABLES_H__ */
0118