|  |  |  | Gnome XSLT Library Reference Manual |  | 
|---|
pattern —
struct xsltCompMatch; typedef xsltCompMatchPtr; xsltCompMatchPtr xsltCompilePattern (constxmlChar *pattern,xmlDocPtr doc,xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime); void xsltFreeCompMatchList (xsltCompMatchPtr comp); int xsltTestCompMatchList (xsltTransformContextPtr ctxt,xmlNodePtr node, xsltCompMatchPtr comp); int xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, constxmlChar *mode, constxmlChar *modeURI); xsltTemplatePtr xsltGetTemplate (xsltTransformContextPtr ctxt,xmlNodePtr node, xsltStylesheetPtr style); void xsltFreeTemplateHashes (xsltStylesheetPtr style); void xsltCleanupTemplates (xsltStylesheetPtr style); int xsltMatchPattern (xsltTransformContextPtr ctxt,xmlNodePtr node, constxmlChar *pattern,xmlDocPtr ctxtdoc,xmlNodePtr ctxtnode);
struct xsltCompMatch;
Data structure used for the implementation of patterns. It is kept private (in pattern.c).
xsltCompMatchPtr xsltCompilePattern (constxmlChar *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 | 
void xsltFreeCompMatchList (xsltCompMatchPtr comp);
Free up the memory allocated by all the elements of comp
| comp : | an XSLT comp list | 
int xsltTestCompMatchList (xsltTransformContextPtr ctxt,xmlNodePtr node, xsltCompMatchPtr comp);
Test wether 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 | 
int xsltAddTemplate (xsltStylesheetPtr style, xsltTemplatePtr cur, constxmlChar *mode, constxmlChar *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 | 
xsltTemplatePtr 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 | 
void xsltFreeTemplateHashes (xsltStylesheetPtr style);
Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism
| style : | an XSLT stylesheet | 
void xsltCleanupTemplates (xsltStylesheetPtr style);
Cleanup the state of the templates used by the stylesheet and the ones it imports.
| style : | an XSLT stylesheet | 
int xsltMatchPattern (xsltTransformContextPtr ctxt,xmlNodePtr node, constxmlChar *pattern,xmlDocPtr ctxtdoc,xmlNodePtr ctxtnode);
| ctxt : | |
| node : | |
| pattern : | |
| ctxtdoc : | |
| ctxtnode : | |
| Returns : | 
| << functions | templates >> |