Annotation of embedaddon/libxml2/include/libxml/pattern.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Summary: pattern expression handling
3: * Description: allows to compile and test pattern expressions for nodes
4: * either in a tree or based on a parser state.
5: *
6: * Copy: See Copyright for the status of this software.
7: *
8: * Author: Daniel Veillard
9: */
10:
11: #ifndef __XML_PATTERN_H__
12: #define __XML_PATTERN_H__
13:
14: #include <libxml/xmlversion.h>
15: #include <libxml/tree.h>
16: #include <libxml/dict.h>
17:
18: #ifdef LIBXML_PATTERN_ENABLED
19:
20: #ifdef __cplusplus
21: extern "C" {
22: #endif
23:
24: /**
25: * xmlPattern:
26: *
27: * A compiled (XPath based) pattern to select nodes
28: */
29: typedef struct _xmlPattern xmlPattern;
30: typedef xmlPattern *xmlPatternPtr;
31:
32: /**
33: * xmlPatternFlags:
34: *
35: * This is the set of options affecting the behaviour of pattern
36: * matching with this module
37: *
38: */
39: typedef enum {
40: XML_PATTERN_DEFAULT = 0, /* simple pattern match */
41: XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */
42: XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */
43: XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */
44: } xmlPatternFlags;
45:
46: XMLPUBFUN void XMLCALL
47: xmlFreePattern (xmlPatternPtr comp);
48:
49: XMLPUBFUN void XMLCALL
50: xmlFreePatternList (xmlPatternPtr comp);
51:
52: XMLPUBFUN xmlPatternPtr XMLCALL
53: xmlPatterncompile (const xmlChar *pattern,
54: xmlDict *dict,
55: int flags,
56: const xmlChar **namespaces);
57: XMLPUBFUN int XMLCALL
58: xmlPatternMatch (xmlPatternPtr comp,
59: xmlNodePtr node);
60:
61: /* streaming interfaces */
62: typedef struct _xmlStreamCtxt xmlStreamCtxt;
63: typedef xmlStreamCtxt *xmlStreamCtxtPtr;
64:
65: XMLPUBFUN int XMLCALL
66: xmlPatternStreamable (xmlPatternPtr comp);
67: XMLPUBFUN int XMLCALL
68: xmlPatternMaxDepth (xmlPatternPtr comp);
69: XMLPUBFUN int XMLCALL
70: xmlPatternMinDepth (xmlPatternPtr comp);
71: XMLPUBFUN int XMLCALL
72: xmlPatternFromRoot (xmlPatternPtr comp);
73: XMLPUBFUN xmlStreamCtxtPtr XMLCALL
74: xmlPatternGetStreamCtxt (xmlPatternPtr comp);
75: XMLPUBFUN void XMLCALL
76: xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);
77: XMLPUBFUN int XMLCALL
78: xmlStreamPushNode (xmlStreamCtxtPtr stream,
79: const xmlChar *name,
80: const xmlChar *ns,
81: int nodeType);
82: XMLPUBFUN int XMLCALL
83: xmlStreamPush (xmlStreamCtxtPtr stream,
84: const xmlChar *name,
85: const xmlChar *ns);
86: XMLPUBFUN int XMLCALL
87: xmlStreamPushAttr (xmlStreamCtxtPtr stream,
88: const xmlChar *name,
89: const xmlChar *ns);
90: XMLPUBFUN int XMLCALL
91: xmlStreamPop (xmlStreamCtxtPtr stream);
92: XMLPUBFUN int XMLCALL
93: xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);
94: #ifdef __cplusplus
95: }
96: #endif
97:
98: #endif /* LIBXML_PATTERN_ENABLED */
99:
100: #endif /* __XML_PATTERN_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>