1      * Summary: implementation of XML Schema Datatypes
2      * Description: module providing the XML Schema Datatypes implementation
3      *              both definition and validity checking
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_SCHEMA_TYPES_H__)
10      /define XML_SCHEMA_TYPES_H__
11
12      /include "libxmlrpg/xmlversion"
13      /include "libxmlrpg/xmlTypesC"
14
15      /if defined(LIBXML_SCHEMAS_ENABLED)
16
17      /include "libxmlrpg/schemasInternals"
18      /include "libxmlrpg/xmlschemas"
19
20     d xmlSchemaWhitespaceValueType...
21     d                 s             10i 0 based(######typedef######)           enum
22     d  XML_SCHEMA_WHITESPACE_UNKNOWN...
23     d                 c                   0
24     d  XML_SCHEMA_WHITESPACE_PRESERVE...
25     d                 c                   1
26     d  XML_SCHEMA_WHITESPACE_REPLACE...
27     d                 c                   2
28     d  XML_SCHEMA_WHITESPACE_COLLAPSE...
29     d                 c                   3
30
31     d xmlSchemaInitTypes...
32     d                 pr                  extproc('xmlSchemaInitTypes')
33
34     d xmlSchemaCleanupTypes...
35     d                 pr                  extproc('xmlSchemaCleanupTypes')
36
37     d xmlSchemaGetPredefinedType...
38     d                 pr                  extproc('xmlSchemaGetPredefinedType')
39     d                                     like(xmlSchemaTypePtr)
40     d  name                           *   value options(*string)               const xmlChar *
41     d  ns                             *   value options(*string)               const xmlChar *
42
43     d xmlSchemaValidatePredefinedType...
44     d                 pr            10i 0 extproc(
45     d                                     'xmlSchemaValidatePredefinedType')
46     d  type                               value like(xmlSchemaTypePtr)
47     d  value                          *   value options(*string)               const xmlChar *
48     d  val                            *   value                                xmlSchemaValPtr *
49
50     d xmlSchemaValPredefTypeNode...
51     d                 pr            10i 0 extproc('xmlSchemaValPredefTypeNode')
52     d  type                               value like(xmlSchemaTypePtr)
53     d  value                          *   value options(*string)               const xmlChar *
54     d  val                            *   value                                xmlSchemaValPtr *
55     d  node                               value like(xmlNodePtr)
56
57     d xmlSchemaValidateFacet...
58     d                 pr            10i 0 extproc('xmlSchemaValidateFacet')
59     d  base                               value like(xmlSchemaTypePtr)
60     d  facet                              value like(xmlSchemaFacetPtr)
61     d  value                          *   value options(*string)               const xmlChar *
62     d  val                                value like(xmlSchemaValPtr)
63
64     d xmlSchemaValidateFacetWhtsp...
65     d                 pr            10i 0 extproc(
66     d                                     'xmlSchemaValidateFacetWhtsp')
67     d  facet                              value like(xmlSchemaFacetPtr)
68     d  fws                                value
69     d                                     like(xmlSchemaWhitespaceValueType)
70     d  valType                            value like(xmlSchemaValType)
71     d  value                          *   value options(*string)               const xmlChar *
72     d  val                                value like(xmlSchemaValPtr)
73     d  ws                                 value
74     d                                     like(xmlSchemaWhitespaceValueType)
75
76     d xmlSchemaFreeValue...
77     d                 pr                  extproc('xmlSchemaFreeValue')
78     d  val                                value like(xmlSchemaValPtr)
79
80     d xmlSchemaNewFacet...
81     d                 pr                  extproc('xmlSchemaNewFacet')
82     d                                     like(xmlSchemaFacetPtr)
83
84     d xmlSchemaCheckFacet...
85     d                 pr            10i 0 extproc('xmlSchemaCheckFacet')
86     d  facet                              value like(xmlSchemaFacetPtr)
87     d  typeDecl                           value like(xmlSchemaTypePtr)
88     d  ctxt                               value like(xmlSchemaParserCtxtPtr)
89     d  name                           *   value options(*string)               const xmlChar *
90
91     d xmlSchemaFreeFacet...
92     d                 pr                  extproc('xmlSchemaFreeFacet')
93     d  facet                              value like(xmlSchemaFacetPtr)
94
95     d xmlSchemaCompareValues...
96     d                 pr            10i 0 extproc('xmlSchemaCompareValues')
97     d  x                                  value like(xmlSchemaValPtr)
98     d  y                                  value like(xmlSchemaValPtr)
99
100     d xmlSchemaGetBuiltInListSimpleTypeItemType...
101     d                 pr                  extproc('xmlSchemaGetBuiltInListSimp-
102     d                                     leTypeItemType')
103     d                                     like(xmlSchemaTypePtr)
104     d  type                               value like(xmlSchemaTypePtr)
105
106     d xmlSchemaValidateListSimpleTypeFacet...
107     d                 pr            10i 0 extproc('xmlSchemaValidateListSimple-
108     d                                     TypeFacet')
109     d  facet                              value like(xmlSchemaFacetPtr)
110     d  value                          *   value options(*string)               const xmlChar *
111     d  actualLen                          value like(xmlCulong)
112     d  expectedLen                    *   value                                unsigned long *
113
114     d xmlSchemaGetBuiltInType...
115     d                 pr                  extproc('xmlSchemaGetBuiltInType')
116     d                                     like(xmlSchemaTypePtr)
117     d  type                               value like(xmlSchemaValType)
118
119     d xmlSchemaIsBuiltInTypeFacet...
120     d                 pr            10i 0 extproc(
121     d                                     'xmlSchemaIsBuiltInTypeFacet')
122     d  type                               value like(xmlSchemaTypePtr)
123     d  facetType                    10i 0 value
124
125     d xmlSchemaCollapseString...
126     d                 pr              *   extproc('xmlSchemaCollapseString')   xmlChar *
127     d  value                          *   value options(*string)               const xmlChar *
128
129     d xmlSchemaWhiteSpaceReplace...
130     d                 pr              *   extproc('xmlSchemaWhiteSpaceReplace')xmlChar *
131     d  value                          *   value options(*string)               const xmlChar *
132
133     d xmlSchemaGetFacetValueAsULong...
134     d                 pr                  extproc(
135     d                                     'xmlSchemaGetFacetValueAsULong')
136     d                                     like(xmlCulong)
137     d  facet                              value like(xmlSchemaFacetPtr)
138
139     d xmlSchemaValidateLengthFacet...
140     d                 pr            10i 0 extproc(
141     d                                     'xmlSchemaValidateLengthFacet')
142     d  type                               value like(xmlSchemaTypePtr)
143     d  facet                              value like(xmlSchemaFacetPtr)
144     d  value                          *   value options(*string)               const xmlChar *
145     d  val                                value like(xmlSchemaValPtr)
146     d  length                             like(xmlCulong)
147
148     d xmlSchemaValidateLengthFacetWhtsp...
149     d                 pr            10i 0 extproc(
150     d                                     'xmlSchemaValidateLengthFacetWhtsp')
151     d  facet                              value like(xmlSchemaFacetPtr)
152     d  valType                            value like(xmlSchemaValType)
153     d  value                          *   value options(*string)               const xmlChar *
154     d  val                                value like(xmlSchemaValPtr)
155     d  length                             like(xmlCulong)
156     d  ws                                 value
157     d                                     like(xmlSchemaWhitespaceValueType)
158
159     d xmlSchemaValPredefTypeNodeNoNorm...
160     d                 pr            10i 0 extproc(
161     d                                     'xmlSchemaValPredefTypeNodeNoNorm')
162     d  type                               value like(xmlSchemaTypePtr)
163     d  value                          *   value options(*string)               const xmlChar *
164     d  val                                like(xmlSchemaValPtr)
165     d  node                               value like(xmlNodePtr)
166
167     d xmlSchemaGetCanonValue...
168     d                 pr            10i 0 extproc('xmlSchemaGetCanonValue')
169     d  val                                value like(xmlSchemaValPtr)
170     d  retValue                       *   value                                const xmlChar * *
171
172     d xmlSchemaGetCanonValueWhtsp...
173     d                 pr            10i 0 extproc(
174     d                                     'xmlSchemaGetCanonValueWhtsp')
175     d  val                                value like(xmlSchemaValPtr)
176     d  retValue                       *   value                                const xmlChar * *
177     d  ws                                 value
178     d                                     like(xmlSchemaWhitespaceValueType)
179
180     d xmlSchemaValueAppend...
181     d                 pr            10i 0 extproc('xmlSchemaValueAppend')
182     d  prev                               value like(xmlSchemaValPtr)
183     d  cur                                value like(xmlSchemaValPtr)
184
185     d xmlSchemaValueGetNext...
186     d                 pr                  extproc('xmlSchemaValueGetNext')
187     d                                     like(xmlSchemaValPtr)
188     d  cur                                value like(xmlSchemaValPtr)
189
190     d xmlSchemaValueGetAsString...
191     d                 pr              *   extproc('xmlSchemaValueGetAsString') const xmlChar *
192     d  val                                value like(xmlSchemaValPtr)
193
194     d xmlSchemaValueGetAsBoolean...
195     d                 pr            10i 0 extproc('xmlSchemaValueGetAsBoolean')
196     d  val                                value like(xmlSchemaValPtr)
197
198     d xmlSchemaNewStringValue...
199     d                 pr                  extproc('xmlSchemaNewStringValue')
200     d                                     like(xmlSchemaValPtr)
201     d  type                               value like(xmlSchemaValType)
202     d  value                          *   value options(*string)               const xmlChar *
203
204     d xmlSchemaNewNOTATIONValue...
205     d                 pr                  extproc('xmlSchemaNewNOTATIONValue')
206     d                                     like(xmlSchemaValPtr)
207     d  name                           *   value options(*string)               const xmlChar *
208     d  ns                             *   value options(*string)               const xmlChar *
209
210     d xmlSchemaNewQNameValue...
211     d                 pr                  extproc('xmlSchemaNewQNameValue')
212     d                                     like(xmlSchemaValPtr)
213     d  namespaceName                  *   value options(*string)               const xmlChar *
214     d  localName                      *   value options(*string)               const xmlChar *
215
216     d xmlSchemaCompareValuesWhtsp...
217     d                 pr            10i 0 extproc(
218     d                                     'xmlSchemaCompareValuesWhtsp')
219     d  x                                  value like(xmlSchemaValPtr)
220     d  xws                                value
221     d                                     like(xmlSchemaWhitespaceValueType)
222     d  y                                  value like(xmlSchemaValPtr)
223     d  yws                                value
224     d                                     like(xmlSchemaWhitespaceValueType)
225
226     d xmlSchemaCopyValue...
227     d                 pr                  extproc('xmlSchemaCopyValue')
228     d                                     like(xmlSchemaValPtr)
229     d  val                                value like(xmlSchemaValPtr)
230
231     d xmlSchemaGetValType...
232     d                 pr                  extproc('xmlSchemaGetValType')
233     d                                     like(xmlSchemaValType)
234     d  val                                value like(xmlSchemaValPtr)
235
236      /endif                                                                    LIBXML_SCHEMAS_ENBLD
237      /endif                                                                    XML_SCHEMA_TYPES_H__
238