libxslt Reference Manual |
---|
variables - interface for the variable matching and lookup.
interface for the variable matching and lookup.
Author(s): Daniel Veillard
#define XSLT_REGISTER_VARIABLE_LOOKUP; #define XSLT_RVT_FUNC_RESULT; #define XSLT_RVT_GLOBAL; #define XSLT_RVT_LOCAL; int xsltAddStackElemList (xsltTransformContextPtr ctxt,
xsltStackElemPtr elems); int xsltEvalGlobalVariables (xsltTransformContextPtr ctxt); int xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * value); int xsltEvalUserParams (xsltTransformContextPtr ctxt,
const char ** params); void xsltFreeGlobalVariables (xsltTransformContextPtr ctxt); void xsltParseGlobalParam (xsltStylesheetPtr style,
xmlNodePtr cur); void xsltParseGlobalVariable (xsltStylesheetPtr style,
xmlNodePtr cur); xsltStackElemPtr xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
xmlNodePtr inst); void xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
xmlNodePtr cur); void xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
xmlNodePtr inst); int xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * value); int xsltQuoteUserParams (xsltTransformContextPtr ctxt,
const char ** params); xmlXPathObjectPtr xsltVariableLookup (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * ns_uri); xmlXPathObjectPtr xsltXPathVariableLookup (void * ctxt,
const xmlChar * name,
const xmlChar * ns_uri);
#define XSLT_REGISTER_VARIABLE_LOOKUP;
Registering macro, not general purpose at all but used in different modules.
#define XSLT_RVT_FUNC_RESULT;
RVT is part of results returned with func:result. The RVT won't be destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or XSLT_RVT_VARIABLE in the template that receives the return value.
int xsltAddStackElemList (xsltTransformContextPtr ctxt,
xsltStackElemPtr elems)
Push an element list onto the stack.
ctxt: | xn XSLT transformation context |
elems: | a stack element list |
Returns: | 0 in case of success, -1 in case of failure. |
int xsltEvalGlobalVariables (xsltTransformContextPtr ctxt)
Evaluates all global variables and parameters of a stylesheet. For internal use only. This is called at start of a transformation.
ctxt: | the XSLT transformation context |
Returns: | 0 in case of success, -1 in case of error |
int xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * value)
This is normally called from xsltEvalUserParams to process a single parameter from a list of parameters. The @value is evaluated as an XPath expression and the result is stored in the context's global variable/parameter hash table. To have a parameter treated literally (not as an XPath expression) use xsltQuoteUserParams (or xsltQuoteOneUserParam). For more details see description of xsltProcessOneUserParamInternal.
ctxt: | the XSLT transformation context |
name: | a null terminated string giving the name of the parameter |
value: | a null terminated string giving the XPath expression to be evaluated |
Returns: | 0 in case of success, -1 in case of error. |
int xsltEvalUserParams (xsltTransformContextPtr ctxt,
const char ** params)
Evaluate the global variables of a stylesheet. This needs to be done on parsed stylesheets before starting to apply transformations. Each of the parameters is evaluated as an XPath expression and stored in the global variables/parameter hash table. If you want your parameter used literally, use xsltQuoteUserParams.
ctxt: | the XSLT transformation context |
params: | a NULL terminated array of parameters name/value tuples |
Returns: | 0 in case of success, -1 in case of error |
void xsltFreeGlobalVariables (xsltTransformContextPtr ctxt)
Free up the data associated to the global variables its value.
ctxt: | the XSLT transformation context |
void xsltParseGlobalParam (xsltStylesheetPtr style,
xmlNodePtr cur)
parse an XSLT transformation param declaration and record its value.
style: | the XSLT stylesheet |
cur: | the "param" element |
void xsltParseGlobalVariable (xsltStylesheetPtr style,
xmlNodePtr cur)
Parses a global XSLT 'variable' declaration at compilation time and registers it
style: | the XSLT stylesheet |
cur: | the "variable" element |
xsltStackElemPtr xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
xmlNodePtr inst)
Processes an xsl:with-param instruction at transformation time. The value is computed, but not recorded. NOTE that this is also called with an *xsl:param* element from exsltFuncFunctionFunction().
ctxt: | the XSLT transformation context |
inst: | the xsl:with-param instruction element |
Returns: | the new xsltStackElemPtr or NULL |
void xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
xmlNodePtr cur)
Registers a local XSLT 'param' declaration at transformation time and evaluates its value.
ctxt: | the XSLT transformation context |
cur: | the XSLT 'param' element |
void xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
xmlNodePtr inst)
Registers a local XSLT 'variable' instruction at transformation time and evaluates its value.
ctxt: | the XSLT transformation context |
inst: | the xsl:variable instruction element |
int xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * value)
This is normally called from xsltQuoteUserParams to process a single parameter from a list of parameters. The @value is stored in the context's global variable/parameter hash table.
ctxt: | the XSLT transformation context |
name: | a null terminated string giving the name of the parameter |
value: | a null terminated string giving the parameter value |
Returns: | 0 in case of success, -1 in case of error. |
int xsltQuoteUserParams (xsltTransformContextPtr ctxt,
const char ** params)
Similar to xsltEvalUserParams, but the values are treated literally and are * *not* evaluated as XPath expressions. This should be done on parsed stylesheets before starting to apply transformations.
ctxt: | the XSLT transformation context |
params: | a NULL terminated arry of parameters names/values tuples |
Returns: | 0 in case of success, -1 in case of error. |
xmlXPathObjectPtr xsltVariableLookup (xsltTransformContextPtr ctxt,
const xmlChar * name,
const xmlChar * ns_uri)
Search in the Variable array of the context for the given variable value.
ctxt: | the XSLT transformation context |
name: | the variable name |
ns_uri: | the variable namespace URI |
Returns: | the value or NULL if not found |
xmlXPathObjectPtr xsltXPathVariableLookup (void * ctxt,
const xmlChar * name,
const xmlChar * ns_uri)
This is the entry point when a varibale is needed by the XPath interpretor.
ctxt: | a void * but the the XSLT transformation context actually |
name: | the variable name |
ns_uri: | the variable namespace URI |
Returns: | the value or NULL if not found |