• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1      * Summary: pattern expression handling
2      * Description: allows to compile and test pattern expressions for nodes
3      *              either in a tree or based on a parser state.
4      *
5      * Copy: See Copyright for the status of this software.
6      *
7      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8
9      /if not defined(XML_PATTERN_H__)
10      /define XML_PATTERN_H__
11
12      /include "libxmlrpg/xmlversion"
13
14      /if defined(LIBXML_PATTERN_ENABLED)
15
16      /include "libxmlrpg/xmlTypesC"
17      /include "libxmlrpg/tree"
18      /include "libxmlrpg/dict"
19
20      * xmlPattern:
21      *
22      * A compiled (XPath based) pattern to select nodes
23
24     d xmlPatternPtr...
25     d                 s               *   based(######typedef######)
26
27      * xmlPatternFlags:
28      *
29      * This is the set of options affecting the behaviour of pattern
30      * matching with this module
31
32     d xmlPatternFlags...
33     d                 s                   based(######typedef######)
34     d                                     like(xmlCenum)
35     d  XML_PATTERN_DEFAULT...                                                  Simple pattern match
36     d                 c                   X'0000'
37     d  XML_PATTERN_XPATH...                                                    Std XPath pattern
38     d                 c                   X'0001'
39     d  XML_PATTERN_XSSEL...                                                    Schm sel XPth subset
40     d                 c                   X'0002'
41     d  XML_PATTERN_XSFIELD...                                                  Schm fld XPth subset
42     d                 c                   X'0004'
43
44     d xmlFreePattern  pr                  extproc('xmlFreePattern')
45     d  comp                               value like(xmlPatternPtr)
46
47     d xmlFreePatternList...
48     d                 pr                  extproc('xmlFreePatternList')
49     d  comp                               value like(xmlPatternPtr)
50
51     d xmlPatterncompile...
52     d                 pr                  extproc('xmlPatterncompile')
53     d                                     like(xmlPatternPtr)
54     d  pattern                        *   value options(*string)               const xmlChar *
55     d  dict                           *   value                                xmlDict *
56     d  flags                              value like(xmlCint)
57     d  namespaces                     *                                        const xmlChar *(*)
58
59     d xmlPatternMatch...
60     d                 pr                  extproc('xmlPatternMatch')
61     d                                     like(xmlCint)
62     d  comp                               value like(xmlPatternPtr)
63     d  node                               value like(xmlNodePtr)
64
65      * streaming interfaces
66
67     d xmlStreamCtxtPtr...
68     d                 s               *   based(######typedef######)
69
70     d xmlPatternStreamable...
71     d                 pr                  extproc('xmlPatternStreamable')
72     d                                     like(xmlCint)
73     d  comp                               value like(xmlPatternPtr)
74
75     d xmlPatternMaxDepth...
76     d                 pr                  extproc('xmlPatternMaxDepth')
77     d                                     like(xmlCint)
78     d  comp                               value like(xmlPatternPtr)
79
80     d xmlPatternMinDepth...
81     d                 pr                  extproc('xmlPatternMinDepth')
82     d                                     like(xmlCint)
83     d  comp                               value like(xmlPatternPtr)
84
85     d xmlPatternFromRoot...
86     d                 pr                  extproc('xmlPatternFromRoot')
87     d                                     like(xmlCint)
88     d  comp                               value like(xmlPatternPtr)
89
90     d xmlPatternGetStreamCtxt...
91     d                 pr                  extproc('xmlPatternGetStreamCtxt')
92     d                                     like(xmlStreamCtxtPtr)
93     d  comp                               value like(xmlPatternPtr)
94
95     d xmlFreeStreamCtxt...
96     d                 pr                  extproc('xmlFreeStreamCtxt')
97     d  stream                             value like(xmlStreamCtxtPtr)
98
99     d xmlStreamPushNode...
100     d                 pr                  extproc('xmlStreamPushNode')
101     d                                     like(xmlCint)
102     d  stream                             value like(xmlStreamCtxtPtr)
103     d  name                           *   value options(*string)               const xmlChar *
104     d  ns                             *   value options(*string)               const xmlChar *
105     d  nodeType                           value like(xmlCint)
106
107     d xmlStreamPush   pr                  extproc('xmlStreamPush')
108     d                                     like(xmlCint)
109     d  stream                             value like(xmlStreamCtxtPtr)
110     d  name                           *   value options(*string)               const xmlChar *
111     d  ns                             *   value options(*string)               const xmlChar *
112
113     d xmlStreamPushAttr...
114     d                 pr                  extproc('xmlStreamPushAttr')
115     d                                     like(xmlCint)
116     d  stream                             value like(xmlStreamCtxtPtr)
117     d  name                           *   value options(*string)               const xmlChar *
118     d  ns                             *   value options(*string)               const xmlChar *
119
120     d xmlStreamPop    pr                  extproc('xmlStreamPop')
121     d                                     like(xmlCint)
122     d  stream                             value like(xmlStreamCtxtPtr)
123
124     d xmlStreamWantsAnyNode...
125     d                 pr                  extproc('xmlStreamWantsAnyNode')
126     d                                     like(xmlCint)
127     d  stream                             value like(xmlStreamCtxtPtr)
128
129      /endif                                                                    LIBXML_PATTERN_ENBLD
130      /endif                                                                    XML_PATTERN_H__
131