aboutsummaryrefslogtreecommitdiffstats
path: root/os400/libxmlrpg/pattern.rpgle
blob: 2e881e5d2d2efe4195794a3fb7d81a31958c6a63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
      * Summary: pattern expression handling
      * Description: allows to compile and test pattern expressions for nodes
      *              either in a tree or based on a parser state.
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(XML_PATTERN_H__)
      /define XML_PATTERN_H__

      /include "libxmlrpg/xmlversion"
      /include "libxmlrpg/tree"
      /include "libxmlrpg/dict"

      /if defined(LIBXML_PATTERN_ENABLED)

      * xmlPattern:
      *
      * A compiled (XPath based) pattern to select nodes

     d xmlPatternPtr...
     d                 s               *   based(######typedef######)

      * xmlPatternFlags:
      *
      * This is the set of options affecting the behaviour of pattern
      * matching with this module

     d xmlPatternFlags...
     d                 s             10i 0 based(######typedef######)           enum
     d  XML_PATTERN_DEFAULT...                                                  Simple pattern match
     d                 c                   X'0000'
     d  XML_PATTERN_XPATH...                                                    Std XPath pattern
     d                 c                   X'0001'
     d  XML_PATTERN_XSSEL...                                                    Schm sel XPth subset
     d                 c                   X'0002'
     d  XML_PATTERN_XSFIELD...                                                  Schm fld XPth subset
     d                 c                   X'0004'

     d xmlFreePattern  pr                  extproc('xmlFreePattern')
     d  comp                               value like(xmlPatternPtr)

     d xmlFreePatternList...
     d                 pr                  extproc('xmlFreePatternList')
     d  comp                               value like(xmlPatternPtr)

     d xmlPatterncompile...
     d                 pr                  extproc('xmlPatterncompile')
     d                                     like(xmlPatternPtr)
     d  pattern                        *   value options(*string)               const xmlChar *
     d  dict                           *   value                                xmlDict *
     d  flags                        10i 0 value
     d  namespaces                     *                                        const xmlChar *(*)

     d xmlPatternMatch...
     d                 pr            10i 0 extproc('xmlPatternMatch')
     d  comp                               value like(xmlPatternPtr)
     d  node                               value like(xmlNodePtr)

      * streaming interfaces

     d xmlStreamCtxtPtr...
     d                 s               *   based(######typedef######)

     d xmlPatternStreamable...
     d                 pr            10i 0 extproc('xmlPatternStreamable')
     d  comp                               value like(xmlPatternPtr)

     d xmlPatternMaxDepth...
     d                 pr            10i 0 extproc('xmlPatternMaxDepth')
     d  comp                               value like(xmlPatternPtr)

     d xmlPatternMinDepth...
     d                 pr            10i 0 extproc('xmlPatternMinDepth')
     d  comp                               value like(xmlPatternPtr)

     d xmlPatternFromRoot...
     d                 pr            10i 0 extproc('xmlPatternFromRoot')
     d  comp                               value like(xmlPatternPtr)

     d xmlPatternGetStreamCtxt...
     d                 pr                  extproc('xmlPatternGetStreamCtxt')
     d                                     like(xmlStreamCtxtPtr)
     d  comp                               value like(xmlPatternPtr)

     d xmlFreeStreamCtxt...
     d                 pr                  extproc('xmlFreeStreamCtxt')
     d  stream                             value like(xmlStreamCtxtPtr)

     d xmlStreamPushNode...
     d                 pr            10i 0 extproc('xmlStreamPushNode')
     d  stream                             value like(xmlStreamCtxtPtr)
     d  name                           *   value options(*string)               const xmlChar *
     d  ns                             *   value options(*string)               const xmlChar *
     d  nodeType                     10i 0 value

     d xmlStreamPush   pr            10i 0 extproc('xmlStreamPush')
     d  stream                             value like(xmlStreamCtxtPtr)
     d  name                           *   value options(*string)               const xmlChar *
     d  ns                             *   value options(*string)               const xmlChar *

     d xmlStreamPushAttr...
     d                 pr            10i 0 extproc('xmlStreamPushAttr')
     d  stream                             value like(xmlStreamCtxtPtr)
     d  name                           *   value options(*string)               const xmlChar *
     d  ns                             *   value options(*string)               const xmlChar *

     d xmlStreamPop    pr            10i 0 extproc('xmlStreamPop')
     d  stream                             value like(xmlStreamCtxtPtr)

     d xmlStreamWantsAnyNode...
     d                 pr            10i 0 extproc('xmlStreamWantsAnyNode')
     d  stream                             value like(xmlStreamCtxtPtr)

      /endif                                                                    LIBXML_PATTERN_ENBLD
      /endif                                                                    XML_PATTERN_H__