ReactOS  0.4.14-dev-55-g2da92ac
pattern.h
Go to the documentation of this file.
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 
29 typedef struct _xmlPattern xmlPattern;
30 typedef xmlPattern *xmlPatternPtr;
31 
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);
58  xmlPatternMatch (xmlPatternPtr comp,
60 
61 /* streaming interfaces */
62 typedef struct _xmlStreamCtxt xmlStreamCtxt;
63 typedef xmlStreamCtxt *xmlStreamCtxtPtr;
64 
66  xmlPatternStreamable (xmlPatternPtr comp);
68  xmlPatternMaxDepth (xmlPatternPtr comp);
70  xmlPatternMinDepth (xmlPatternPtr comp);
72  xmlPatternFromRoot (xmlPatternPtr comp);
73 XMLPUBFUN xmlStreamCtxtPtr XMLCALL
74  xmlPatternGetStreamCtxt (xmlPatternPtr comp);
75 XMLPUBFUN void XMLCALL
76  xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);
78  xmlStreamPushNode (xmlStreamCtxtPtr stream,
79  const xmlChar *name,
80  const xmlChar *ns,
81  int nodeType);
83  xmlStreamPush (xmlStreamCtxtPtr stream,
84  const xmlChar *name,
85  const xmlChar *ns);
87  xmlStreamPushAttr (xmlStreamCtxtPtr stream,
88  const xmlChar *name,
89  const xmlChar *ns);
91  xmlStreamPop (xmlStreamCtxtPtr stream);
93  xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);
94 #ifdef __cplusplus
95 }
96 #endif
97 
98 #endif /* LIBXML_PATTERN_ENABLED */
99 
100 #endif /* __XML_PATTERN_H__ */
#define XMLPUBFUN
Definition: xmlexports.h:30
GLbitfield flags
Definition: glext.h:7161
Definition: tree.h:489
Definition: mxnamespace.c:44
Definition: parse.h:22
unsigned char xmlChar
Definition: xmlstring.h:28
typedef__XML_EXTERNC struct _xmlDict xmlDict
Definition: dict.h:23
#define XMLCALL
Definition: name.c:36
GLubyte * pattern
Definition: glext.h:7787
Definition: dlist.c:348