|
|
1.1 paf 1: /*
2: * pattern.h: interface for the pattern matching used in template matches.
3: *
4: * See Copyright for the status of this software.
5: *
6: * daniel@veillard.com
7: */
8:
9: #ifndef __XML_XSLT_PATTERN_H__
10: #define __XML_XSLT_PATTERN_H__
11:
12: #include "xsltInternals.h"
13:
14: #ifdef __cplusplus
15: extern "C" {
16: #endif
17:
18: /**
19: * xsltCompMatch:
20: *
21: * Data structure used for the implementation of patterns.
1.2 ! paf 22: * It is kept private (in pattern.c).
1.1 paf 23: */
24: typedef struct _xsltCompMatch xsltCompMatch;
25: typedef xsltCompMatch *xsltCompMatchPtr;
26:
27: /*
1.2 ! paf 28: * Pattern related interfaces.
1.1 paf 29: */
30:
31: xsltCompMatchPtr xsltCompilePattern (const xmlChar *pattern,
32: xmlDocPtr doc,
1.2 ! paf 33: xmlNodePtr node,
! 34: xsltStylesheetPtr style,
! 35: xsltTransformContextPtr runtime);
1.1 paf 36: void xsltFreeCompMatchList (xsltCompMatchPtr comp);
37: int xsltTestCompMatchList (xsltTransformContextPtr ctxt,
38: xmlNodePtr node,
39: xsltCompMatchPtr comp);
40:
41: /*
1.2 ! paf 42: * Template related interfaces.
1.1 paf 43: */
44: int xsltAddTemplate (xsltStylesheetPtr style,
45: xsltTemplatePtr cur,
46: const xmlChar *mode,
47: const xmlChar *modeURI);
48: xsltTemplatePtr xsltGetTemplate (xsltTransformContextPtr ctxt,
49: xmlNodePtr node,
50: xsltStylesheetPtr style);
51: void xsltFreeTemplateHashes (xsltStylesheetPtr style);
52: void xsltCleanupTemplates (xsltStylesheetPtr style);
53:
54: #if 0
55: int xsltMatchPattern (xsltTransformContextPtr ctxt,
56: xmlNodePtr node,
1.2 ! paf 57: const xmlChar *pattern,
! 58: xmlDocPtr ctxtdoc,
! 59: xmlNodePtr ctxtnode);
1.1 paf 60: #endif
61: #ifdef __cplusplus
62: }
63: #endif
64:
65: #endif /* __XML_XSLT_PATTERN_H__ */
66: