the implementation of the lookup of the right template for a given node must be really fast in order to keep decent performances. Table of ContentsStructure xsltCompMatch struct _xsltCompMatch
The content of this structure is not made public by the API.
Typedef xsltCompMatch * xsltCompMatchPtr
int xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar * mode, const xmlChar * modeURI)
void xsltCleanupTemplates (xsltStylesheetPtr style)
xsltCompMatchPtr xsltCompilePattern (const xmlChar * pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime)
void xsltFreeCompMatchList (xsltCompMatchPtr comp)
void xsltFreeTemplateHashes (xsltStylesheetPtr style)
xsltTemplatePtr xsltGetTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style)
int xsltMatchPattern (xsltTransformContextPtr ctxt, xmlNodePtr node, const xmlChar * pattern, xmlDocPtr ctxtdoc, xmlNodePtr ctxtnode)
void xsltNormalizeCompSteps (void * payload, void * data, const xmlChar * name)
int xsltTestCompMatchList (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp)
Description
Structure xsltCompMatch struct _xsltCompMatch {
The content of this structure is not made public by the API.
} Function: xsltAddTemplateint xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar * mode, const xmlChar * modeURI)
Register the XSLT pattern associated to @cur
style: | an XSLT stylesheet | cur: | an XSLT template | mode: | the mode name or NULL | modeURI: | the mode URI or NULL | Returns: | -1 in case of error, 0 otherwise |
Function: xsltCleanupTemplatesvoid xsltCleanupTemplates (xsltStylesheetPtr style)
Cleanup the state of the templates used by the stylesheet and the ones it imports.
Function: xsltCompilePatternxsltCompMatchPtr xsltCompilePattern (const xmlChar * pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime)
Compile the XSLT pattern and generates a list of precompiled form suitable for fast matching. [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern
pattern: | an XSLT pattern | doc: | the containing document | node: | the containing element | style: | the stylesheet | runtime: | the transformation context, if done at run-time | Returns: | the generated pattern list or NULL in case of failure |
Function: xsltFreeCompMatchListvoid xsltFreeCompMatchList (xsltCompMatchPtr comp)
Free up the memory allocated by all the elements of @comp
Function: xsltFreeTemplateHashesvoid xsltFreeTemplateHashes (xsltStylesheetPtr style)
Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism
Function: xsltGetTemplatexsltTemplatePtr xsltGetTemplate (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style)
Finds the template applying to this node, if @style is non-NULL it means one needs to look for the next imported template in scope.
ctxt: | a XSLT process context | node: | the node being processed | style: | the current style | Returns: | the xsltTemplatePtr or NULL if not found |
Function: xsltMatchPatternint xsltMatchPattern (xsltTransformContextPtr ctxt, xmlNodePtr node, const xmlChar * pattern, xmlDocPtr ctxtdoc, xmlNodePtr ctxtnode)
ctxt: | | node: | | pattern: | | ctxtdoc: | | ctxtnode: | | Returns: | |
Function: xsltNormalizeCompStepsvoid xsltNormalizeCompSteps (void * payload, void * data, const xmlChar * name)
This is a hashtable scanner function to normalize the compiled steps of an imported stylesheet.
payload: | pointer to template hash table entry | data: | pointer to the stylesheet | name: | template match name |
Function: xsltTestCompMatchListint xsltTestCompMatchList (xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp)
Test whether the node matches one of the patterns in the list
ctxt: | a XSLT process context | node: | a node | comp: | the precompiled pattern list | Returns: | 1 if it matches, 0 if it doesn't and -1 in case of failure |
Daniel Veillard |