1/* 2 * Summary: interface for the pattern matching used in template matches. 3 * Description: the implementation of the lookup of the right template 4 * for a given node must be really fast in order to keep 5 * decent performances. 6 * 7 * Copy: See Copyright for the status of this software. 8 * 9 * Author: Daniel Veillard 10 */ 11 12#ifndef __XML_XSLT_PATTERN_H__ 13#define __XML_XSLT_PATTERN_H__ 14 15#include "xsltInternals.h" 16#include "xsltexports.h" 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22/** 23 * xsltCompMatch: 24 * 25 * Data structure used for the implementation of patterns. 26 * It is kept private (in pattern.c). 27 */ 28typedef struct _xsltCompMatch xsltCompMatch; 29typedef xsltCompMatch *xsltCompMatchPtr; 30 31/* 32 * Pattern related interfaces. 33 */ 34 35XSLTPUBFUN xsltCompMatchPtr XSLTCALL 36 xsltCompilePattern (const xmlChar *pattern, 37 xmlDocPtr doc, 38 xmlNodePtr node, 39 xsltStylesheetPtr style, 40 xsltTransformContextPtr runtime); 41XSLTPUBFUN void XSLTCALL 42 xsltFreeCompMatchList (xsltCompMatchPtr comp); 43XSLTPUBFUN int XSLTCALL 44 xsltTestCompMatchList (xsltTransformContextPtr ctxt, 45 xmlNodePtr node, 46 xsltCompMatchPtr comp); 47XSLTPUBFUN void XSLTCALL 48 xsltNormalizeCompSteps (void *payload, 49 void *data, 50 const xmlChar *name); 51 52/* 53 * Template related interfaces. 54 */ 55XSLTPUBFUN int XSLTCALL 56 xsltAddTemplate (xsltStylesheetPtr style, 57 xsltTemplatePtr cur, 58 const xmlChar *mode, 59 const xmlChar *modeURI); 60XSLTPUBFUN xsltTemplatePtr XSLTCALL 61 xsltGetTemplate (xsltTransformContextPtr ctxt, 62 xmlNodePtr node, 63 xsltStylesheetPtr style); 64XSLTPUBFUN void XSLTCALL 65 xsltFreeTemplateHashes (xsltStylesheetPtr style); 66XSLTPUBFUN void XSLTCALL 67 xsltCleanupTemplates (xsltStylesheetPtr style); 68 69#if 0 70int xsltMatchPattern (xsltTransformContextPtr ctxt, 71 xmlNodePtr node, 72 const xmlChar *pattern, 73 xmlDocPtr ctxtdoc, 74 xmlNodePtr ctxtnode); 75#endif 76#ifdef __cplusplus 77} 78#endif 79 80#endif /* __XML_XSLT_PATTERN_H__ */ 81 82