Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xslt/libxslt/pattern.h
4389 views
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
19
extern "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
*/
28
typedef struct _xsltCompMatch xsltCompMatch;
29
typedef xsltCompMatch *xsltCompMatchPtr;
30
31
/*
32
* Pattern related interfaces.
33
*/
34
35
XSLTPUBFUN xsltCompMatchPtr XSLTCALL
36
xsltCompilePattern (const xmlChar *pattern,
37
xmlDocPtr doc,
38
xmlNodePtr node,
39
xsltStylesheetPtr style,
40
xsltTransformContextPtr runtime);
41
XSLTPUBFUN void XSLTCALL
42
xsltFreeCompMatchList (xsltCompMatchPtr comp);
43
XSLTPUBFUN int XSLTCALL
44
xsltTestCompMatchList (xsltTransformContextPtr ctxt,
45
xmlNodePtr node,
46
xsltCompMatchPtr comp);
47
XSLTPUBFUN void XSLTCALL
48
xsltCompMatchClearCache (xsltTransformContextPtr ctxt,
49
xsltCompMatchPtr comp);
50
XSLTPUBFUN void XSLTCALL
51
xsltNormalizeCompSteps (void *payload,
52
void *data,
53
const xmlChar *name);
54
55
/*
56
* Template related interfaces.
57
*/
58
XSLTPUBFUN int XSLTCALL
59
xsltAddTemplate (xsltStylesheetPtr style,
60
xsltTemplatePtr cur,
61
const xmlChar *mode,
62
const xmlChar *modeURI);
63
XSLTPUBFUN xsltTemplatePtr XSLTCALL
64
xsltGetTemplate (xsltTransformContextPtr ctxt,
65
xmlNodePtr node,
66
xsltStylesheetPtr style);
67
XSLTPUBFUN void XSLTCALL
68
xsltFreeTemplateHashes (xsltStylesheetPtr style);
69
XSLTPUBFUN void XSLTCALL
70
xsltCleanupTemplates (xsltStylesheetPtr style);
71
72
#if 0
73
int xsltMatchPattern (xsltTransformContextPtr ctxt,
74
xmlNodePtr node,
75
const xmlChar *pattern,
76
xmlDocPtr ctxtdoc,
77
xmlNodePtr ctxtnode);
78
#endif
79
#ifdef __cplusplus
80
}
81
#endif
82
83
#endif /* __XML_XSLT_PATTERN_H__ */
84
85
86