| /* |
| * Summary: interface for the pattern matching used in template matches. |
| * Description: the implementation of the lookup of the right template |
| * for a given node must be really fast in order to keep |
| * decent performances. |
| * |
| * Copy: See Copyright for the status of this software. |
| * |
| * Author: Daniel Veillard |
| */ |
| |
| #ifndef __XML_XSLT_PATTERN_H__ |
| #define __XML_XSLT_PATTERN_H__ |
| |
| #include "xsltInternals.h" |
| #include "xsltexports.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * xsltCompMatch: |
| * |
| * Data structure used for the implementation of patterns. |
| * It is kept private (in pattern.c). |
| */ |
| typedef struct _xsltCompMatch xsltCompMatch; |
| typedef xsltCompMatch *xsltCompMatchPtr; |
| |
| /* |
| * Pattern related interfaces. |
| */ |
| |
| XSLTPUBFUN xsltCompMatchPtr XSLTCALL |
| xsltCompilePattern (const xmlChar *pattern, |
| xmlDocPtr doc, |
| xmlNodePtr node, |
| xsltStylesheetPtr style, |
| xsltTransformContextPtr runtime); |
| XSLTPUBFUN void XSLTCALL |
| xsltFreeCompMatchList (xsltCompMatchPtr comp); |
| XSLTPUBFUN int XSLTCALL |
| xsltTestCompMatchList (xsltTransformContextPtr ctxt, |
| xmlNodePtr node, |
| xsltCompMatchPtr comp); |
| XSLTPUBFUN void XSLTCALL |
| xsltNormalizeCompSteps (void *payload, |
| void *data, |
| const xmlChar *name); |
| |
| /* |
| * Template related interfaces. |
| */ |
| XSLTPUBFUN int XSLTCALL |
| xsltAddTemplate (xsltStylesheetPtr style, |
| xsltTemplatePtr cur, |
| const xmlChar *mode, |
| const xmlChar *modeURI); |
| XSLTPUBFUN xsltTemplatePtr XSLTCALL |
| xsltGetTemplate (xsltTransformContextPtr ctxt, |
| xmlNodePtr node, |
| xsltStylesheetPtr style); |
| XSLTPUBFUN void XSLTCALL |
| xsltFreeTemplateHashes (xsltStylesheetPtr style); |
| XSLTPUBFUN void XSLTCALL |
| xsltCleanupTemplates (xsltStylesheetPtr style); |
| |
| #if 0 |
| int xsltMatchPattern (xsltTransformContextPtr ctxt, |
| xmlNodePtr node, |
| const xmlChar *pattern, |
| xmlDocPtr ctxtdoc, |
| xmlNodePtr ctxtnode); |
| #endif |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __XML_XSLT_PATTERN_H__ */ |
| |