Imported Upstream version 2.9.2
[platform/upstream/libxml2.git] / os400 / libxmlrpg / pattern.rpgle
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       /include "libxmlrpg/tree"
14       /include "libxmlrpg/dict"
15
16       /if defined(LIBXML_PATTERN_ENABLED)
17
18       * xmlPattern:
19       *
20       * A compiled (XPath based) pattern to select nodes
21
22      d xmlPatternPtr...
23      d                 s               *   based(######typedef######)
24
25       * xmlPatternFlags:
26       *
27       * This is the set of options affecting the behaviour of pattern
28       * matching with this module
29
30      d xmlPatternFlags...
31      d                 s             10i 0 based(######typedef######)           enum
32      d  XML_PATTERN_DEFAULT...                                                  Simple pattern match
33      d                 c                   X'0000'
34      d  XML_PATTERN_XPATH...                                                    Std XPath pattern
35      d                 c                   X'0001'
36      d  XML_PATTERN_XSSEL...                                                    Schm sel XPth subset
37      d                 c                   X'0002'
38      d  XML_PATTERN_XSFIELD...                                                  Schm fld XPth subset
39      d                 c                   X'0004'
40
41      d xmlFreePattern  pr                  extproc('xmlFreePattern')
42      d  comp                               value like(xmlPatternPtr)
43
44      d xmlFreePatternList...
45      d                 pr                  extproc('xmlFreePatternList')
46      d  comp                               value like(xmlPatternPtr)
47
48      d xmlPatterncompile...
49      d                 pr                  extproc('xmlPatterncompile')
50      d                                     like(xmlPatternPtr)
51      d  pattern                        *   value options(*string)               const xmlChar *
52      d  dict                           *   value                                xmlDict *
53      d  flags                        10i 0 value
54      d  namespaces                     *                                        const xmlChar *(*)
55
56      d xmlPatternMatch...
57      d                 pr            10i 0 extproc('xmlPatternMatch')
58      d  comp                               value like(xmlPatternPtr)
59      d  node                               value like(xmlNodePtr)
60
61       * streaming interfaces
62
63      d xmlStreamCtxtPtr...
64      d                 s               *   based(######typedef######)
65
66      d xmlPatternStreamable...
67      d                 pr            10i 0 extproc('xmlPatternStreamable')
68      d  comp                               value like(xmlPatternPtr)
69
70      d xmlPatternMaxDepth...
71      d                 pr            10i 0 extproc('xmlPatternMaxDepth')
72      d  comp                               value like(xmlPatternPtr)
73
74      d xmlPatternMinDepth...
75      d                 pr            10i 0 extproc('xmlPatternMinDepth')
76      d  comp                               value like(xmlPatternPtr)
77
78      d xmlPatternFromRoot...
79      d                 pr            10i 0 extproc('xmlPatternFromRoot')
80      d  comp                               value like(xmlPatternPtr)
81
82      d xmlPatternGetStreamCtxt...
83      d                 pr                  extproc('xmlPatternGetStreamCtxt')
84      d                                     like(xmlStreamCtxtPtr)
85      d  comp                               value like(xmlPatternPtr)
86
87      d xmlFreeStreamCtxt...
88      d                 pr                  extproc('xmlFreeStreamCtxt')
89      d  stream                             value like(xmlStreamCtxtPtr)
90
91      d xmlStreamPushNode...
92      d                 pr            10i 0 extproc('xmlStreamPushNode')
93      d  stream                             value like(xmlStreamCtxtPtr)
94      d  name                           *   value options(*string)               const xmlChar *
95      d  ns                             *   value options(*string)               const xmlChar *
96      d  nodeType                     10i 0 value
97
98      d xmlStreamPush   pr            10i 0 extproc('xmlStreamPush')
99      d  stream                             value like(xmlStreamCtxtPtr)
100      d  name                           *   value options(*string)               const xmlChar *
101      d  ns                             *   value options(*string)               const xmlChar *
102
103      d xmlStreamPushAttr...
104      d                 pr            10i 0 extproc('xmlStreamPushAttr')
105      d  stream                             value like(xmlStreamCtxtPtr)
106      d  name                           *   value options(*string)               const xmlChar *
107      d  ns                             *   value options(*string)               const xmlChar *
108
109      d xmlStreamPop    pr            10i 0 extproc('xmlStreamPop')
110      d  stream                             value like(xmlStreamCtxtPtr)
111
112      d xmlStreamWantsAnyNode...
113      d                 pr            10i 0 extproc('xmlStreamWantsAnyNode')
114      d  stream                             value like(xmlStreamCtxtPtr)
115
116       /endif                                                                    LIBXML_PATTERN_ENBLD
117       /endif                                                                    XML_PATTERN_H__