@helm2/poc_jenki_rce 0.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @helm2/poc_jenki_rce might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +118 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,958 @@
1
+ /*
2
+ * Summary: internal interfaces for XML Schemas
3
+ * Description: internal interfaces for the XML Schemas handling
4
+ * and schema validity checking
5
+ * The Schemas development is a Work In Progress.
6
+ * Some of those interfaces are not guaranteed to be API or ABI stable !
7
+ *
8
+ * Copy: See Copyright for the status of this software.
9
+ *
10
+ * Author: Daniel Veillard
11
+ */
12
+
13
+
14
+ #ifndef __XML_SCHEMA_INTERNALS_H__
15
+ #define __XML_SCHEMA_INTERNALS_H__
16
+
17
+ #include <libxml/xmlversion.h>
18
+
19
+ #ifdef LIBXML_SCHEMAS_ENABLED
20
+
21
+ #include <libxml/xmlregexp.h>
22
+ #include <libxml/hash.h>
23
+ #include <libxml/dict.h>
24
+
25
+ #ifdef __cplusplus
26
+ extern "C" {
27
+ #endif
28
+
29
+ typedef enum {
30
+ XML_SCHEMAS_UNKNOWN = 0,
31
+ XML_SCHEMAS_STRING = 1,
32
+ XML_SCHEMAS_NORMSTRING = 2,
33
+ XML_SCHEMAS_DECIMAL = 3,
34
+ XML_SCHEMAS_TIME = 4,
35
+ XML_SCHEMAS_GDAY = 5,
36
+ XML_SCHEMAS_GMONTH = 6,
37
+ XML_SCHEMAS_GMONTHDAY = 7,
38
+ XML_SCHEMAS_GYEAR = 8,
39
+ XML_SCHEMAS_GYEARMONTH = 9,
40
+ XML_SCHEMAS_DATE = 10,
41
+ XML_SCHEMAS_DATETIME = 11,
42
+ XML_SCHEMAS_DURATION = 12,
43
+ XML_SCHEMAS_FLOAT = 13,
44
+ XML_SCHEMAS_DOUBLE = 14,
45
+ XML_SCHEMAS_BOOLEAN = 15,
46
+ XML_SCHEMAS_TOKEN = 16,
47
+ XML_SCHEMAS_LANGUAGE = 17,
48
+ XML_SCHEMAS_NMTOKEN = 18,
49
+ XML_SCHEMAS_NMTOKENS = 19,
50
+ XML_SCHEMAS_NAME = 20,
51
+ XML_SCHEMAS_QNAME = 21,
52
+ XML_SCHEMAS_NCNAME = 22,
53
+ XML_SCHEMAS_ID = 23,
54
+ XML_SCHEMAS_IDREF = 24,
55
+ XML_SCHEMAS_IDREFS = 25,
56
+ XML_SCHEMAS_ENTITY = 26,
57
+ XML_SCHEMAS_ENTITIES = 27,
58
+ XML_SCHEMAS_NOTATION = 28,
59
+ XML_SCHEMAS_ANYURI = 29,
60
+ XML_SCHEMAS_INTEGER = 30,
61
+ XML_SCHEMAS_NPINTEGER = 31,
62
+ XML_SCHEMAS_NINTEGER = 32,
63
+ XML_SCHEMAS_NNINTEGER = 33,
64
+ XML_SCHEMAS_PINTEGER = 34,
65
+ XML_SCHEMAS_INT = 35,
66
+ XML_SCHEMAS_UINT = 36,
67
+ XML_SCHEMAS_LONG = 37,
68
+ XML_SCHEMAS_ULONG = 38,
69
+ XML_SCHEMAS_SHORT = 39,
70
+ XML_SCHEMAS_USHORT = 40,
71
+ XML_SCHEMAS_BYTE = 41,
72
+ XML_SCHEMAS_UBYTE = 42,
73
+ XML_SCHEMAS_HEXBINARY = 43,
74
+ XML_SCHEMAS_BASE64BINARY = 44,
75
+ XML_SCHEMAS_ANYTYPE = 45,
76
+ XML_SCHEMAS_ANYSIMPLETYPE = 46
77
+ } xmlSchemaValType;
78
+
79
+ /*
80
+ * XML Schemas defines multiple type of types.
81
+ */
82
+ typedef enum {
83
+ XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
84
+ XML_SCHEMA_TYPE_ANY,
85
+ XML_SCHEMA_TYPE_FACET,
86
+ XML_SCHEMA_TYPE_SIMPLE,
87
+ XML_SCHEMA_TYPE_COMPLEX,
88
+ XML_SCHEMA_TYPE_SEQUENCE = 6,
89
+ XML_SCHEMA_TYPE_CHOICE,
90
+ XML_SCHEMA_TYPE_ALL,
91
+ XML_SCHEMA_TYPE_SIMPLE_CONTENT,
92
+ XML_SCHEMA_TYPE_COMPLEX_CONTENT,
93
+ XML_SCHEMA_TYPE_UR,
94
+ XML_SCHEMA_TYPE_RESTRICTION,
95
+ XML_SCHEMA_TYPE_EXTENSION,
96
+ XML_SCHEMA_TYPE_ELEMENT,
97
+ XML_SCHEMA_TYPE_ATTRIBUTE,
98
+ XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
99
+ XML_SCHEMA_TYPE_GROUP,
100
+ XML_SCHEMA_TYPE_NOTATION,
101
+ XML_SCHEMA_TYPE_LIST,
102
+ XML_SCHEMA_TYPE_UNION,
103
+ XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
104
+ XML_SCHEMA_TYPE_IDC_UNIQUE,
105
+ XML_SCHEMA_TYPE_IDC_KEY,
106
+ XML_SCHEMA_TYPE_IDC_KEYREF,
107
+ XML_SCHEMA_TYPE_PARTICLE = 25,
108
+ XML_SCHEMA_TYPE_ATTRIBUTE_USE,
109
+ XML_SCHEMA_FACET_MININCLUSIVE = 1000,
110
+ XML_SCHEMA_FACET_MINEXCLUSIVE,
111
+ XML_SCHEMA_FACET_MAXINCLUSIVE,
112
+ XML_SCHEMA_FACET_MAXEXCLUSIVE,
113
+ XML_SCHEMA_FACET_TOTALDIGITS,
114
+ XML_SCHEMA_FACET_FRACTIONDIGITS,
115
+ XML_SCHEMA_FACET_PATTERN,
116
+ XML_SCHEMA_FACET_ENUMERATION,
117
+ XML_SCHEMA_FACET_WHITESPACE,
118
+ XML_SCHEMA_FACET_LENGTH,
119
+ XML_SCHEMA_FACET_MAXLENGTH,
120
+ XML_SCHEMA_FACET_MINLENGTH,
121
+ XML_SCHEMA_EXTRA_QNAMEREF = 2000,
122
+ XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
123
+ } xmlSchemaTypeType;
124
+
125
+ typedef enum {
126
+ XML_SCHEMA_CONTENT_UNKNOWN = 0,
127
+ XML_SCHEMA_CONTENT_EMPTY = 1,
128
+ XML_SCHEMA_CONTENT_ELEMENTS,
129
+ XML_SCHEMA_CONTENT_MIXED,
130
+ XML_SCHEMA_CONTENT_SIMPLE,
131
+ XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
132
+ XML_SCHEMA_CONTENT_BASIC,
133
+ XML_SCHEMA_CONTENT_ANY
134
+ } xmlSchemaContentType;
135
+
136
+ typedef struct _xmlSchemaVal xmlSchemaVal;
137
+ typedef xmlSchemaVal *xmlSchemaValPtr;
138
+
139
+ typedef struct _xmlSchemaType xmlSchemaType;
140
+ typedef xmlSchemaType *xmlSchemaTypePtr;
141
+
142
+ typedef struct _xmlSchemaFacet xmlSchemaFacet;
143
+ typedef xmlSchemaFacet *xmlSchemaFacetPtr;
144
+
145
+ /**
146
+ * Annotation
147
+ */
148
+ typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
149
+ typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
150
+ struct _xmlSchemaAnnot {
151
+ struct _xmlSchemaAnnot *next;
152
+ xmlNodePtr content; /* the annotation */
153
+ };
154
+
155
+ /**
156
+ * XML_SCHEMAS_ANYATTR_SKIP:
157
+ *
158
+ * Skip unknown attribute from validation
159
+ * Obsolete, not used anymore.
160
+ */
161
+ #define XML_SCHEMAS_ANYATTR_SKIP 1
162
+ /**
163
+ * XML_SCHEMAS_ANYATTR_LAX:
164
+ *
165
+ * Ignore validation non definition on attributes
166
+ * Obsolete, not used anymore.
167
+ */
168
+ #define XML_SCHEMAS_ANYATTR_LAX 2
169
+ /**
170
+ * XML_SCHEMAS_ANYATTR_STRICT:
171
+ *
172
+ * Apply strict validation rules on attributes
173
+ * Obsolete, not used anymore.
174
+ */
175
+ #define XML_SCHEMAS_ANYATTR_STRICT 3
176
+ /**
177
+ * XML_SCHEMAS_ANY_SKIP:
178
+ *
179
+ * Skip unknown attribute from validation
180
+ */
181
+ #define XML_SCHEMAS_ANY_SKIP 1
182
+ /**
183
+ * XML_SCHEMAS_ANY_LAX:
184
+ *
185
+ * Used by wildcards.
186
+ * Validate if type found, don't worry if not found
187
+ */
188
+ #define XML_SCHEMAS_ANY_LAX 2
189
+ /**
190
+ * XML_SCHEMAS_ANY_STRICT:
191
+ *
192
+ * Used by wildcards.
193
+ * Apply strict validation rules
194
+ */
195
+ #define XML_SCHEMAS_ANY_STRICT 3
196
+ /**
197
+ * XML_SCHEMAS_ATTR_USE_PROHIBITED:
198
+ *
199
+ * Used by wildcards.
200
+ * The attribute is prohibited.
201
+ */
202
+ #define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
203
+ /**
204
+ * XML_SCHEMAS_ATTR_USE_REQUIRED:
205
+ *
206
+ * The attribute is required.
207
+ */
208
+ #define XML_SCHEMAS_ATTR_USE_REQUIRED 1
209
+ /**
210
+ * XML_SCHEMAS_ATTR_USE_OPTIONAL:
211
+ *
212
+ * The attribute is optional.
213
+ */
214
+ #define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
215
+ /**
216
+ * XML_SCHEMAS_ATTR_GLOBAL:
217
+ *
218
+ * allow elements in no namespace
219
+ */
220
+ #define XML_SCHEMAS_ATTR_GLOBAL 1 << 0
221
+ /**
222
+ * XML_SCHEMAS_ATTR_NSDEFAULT:
223
+ *
224
+ * allow elements in no namespace
225
+ */
226
+ #define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7
227
+ /**
228
+ * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
229
+ *
230
+ * this is set when the "type" and "ref" references
231
+ * have been resolved.
232
+ */
233
+ #define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8
234
+ /**
235
+ * XML_SCHEMAS_ATTR_FIXED:
236
+ *
237
+ * the attribute has a fixed value
238
+ */
239
+ #define XML_SCHEMAS_ATTR_FIXED 1 << 9
240
+
241
+ /**
242
+ * xmlSchemaAttribute:
243
+ * An attribute definition.
244
+ */
245
+
246
+ typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
247
+ typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
248
+ struct _xmlSchemaAttribute {
249
+ xmlSchemaTypeType type;
250
+ struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
251
+ const xmlChar *name; /* the name of the declaration */
252
+ const xmlChar *id; /* Deprecated; not used */
253
+ const xmlChar *ref; /* Deprecated; not used */
254
+ const xmlChar *refNs; /* Deprecated; not used */
255
+ const xmlChar *typeName; /* the local name of the type definition */
256
+ const xmlChar *typeNs; /* the ns URI of the type definition */
257
+ xmlSchemaAnnotPtr annot;
258
+
259
+ xmlSchemaTypePtr base; /* Deprecated; not used */
260
+ int occurs; /* Deprecated; not used */
261
+ const xmlChar *defValue; /* The initial value of the value constraint */
262
+ xmlSchemaTypePtr subtypes; /* the type definition */
263
+ xmlNodePtr node;
264
+ const xmlChar *targetNamespace;
265
+ int flags;
266
+ const xmlChar *refPrefix; /* Deprecated; not used */
267
+ xmlSchemaValPtr defVal; /* The compiled value constraint */
268
+ xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
269
+ };
270
+
271
+ /**
272
+ * xmlSchemaAttributeLink:
273
+ * Used to build a list of attribute uses on complexType definitions.
274
+ * WARNING: Deprecated; not used.
275
+ */
276
+ typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
277
+ typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
278
+ struct _xmlSchemaAttributeLink {
279
+ struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
280
+ struct _xmlSchemaAttribute *attr;/* the linked attribute */
281
+ };
282
+
283
+ /**
284
+ * XML_SCHEMAS_WILDCARD_COMPLETE:
285
+ *
286
+ * If the wildcard is complete.
287
+ */
288
+ #define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
289
+
290
+ /**
291
+ * xmlSchemaCharValueLink:
292
+ * Used to build a list of namespaces on wildcards.
293
+ */
294
+ typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
295
+ typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
296
+ struct _xmlSchemaWildcardNs {
297
+ struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
298
+ const xmlChar *value;/* the value */
299
+ };
300
+
301
+ /**
302
+ * xmlSchemaWildcard.
303
+ * A wildcard.
304
+ */
305
+ typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
306
+ typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
307
+ struct _xmlSchemaWildcard {
308
+ xmlSchemaTypeType type; /* The kind of type */
309
+ const xmlChar *id; /* Deprecated; not used */
310
+ xmlSchemaAnnotPtr annot;
311
+ xmlNodePtr node;
312
+ int minOccurs; /* Deprecated; not used */
313
+ int maxOccurs; /* Deprecated; not used */
314
+ int processContents;
315
+ int any; /* Indicates if the ns constraint is of ##any */
316
+ xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
317
+ xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
318
+ int flags;
319
+ };
320
+
321
+ /**
322
+ * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
323
+ *
324
+ * The attribute wildcard has been built.
325
+ */
326
+ #define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
327
+ /**
328
+ * XML_SCHEMAS_ATTRGROUP_GLOBAL:
329
+ *
330
+ * The attribute group has been defined.
331
+ */
332
+ #define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
333
+ /**
334
+ * XML_SCHEMAS_ATTRGROUP_MARKED:
335
+ *
336
+ * Marks the attr group as marked; used for circular checks.
337
+ */
338
+ #define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
339
+
340
+ /**
341
+ * XML_SCHEMAS_ATTRGROUP_REDEFINED:
342
+ *
343
+ * The attr group was redefined.
344
+ */
345
+ #define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
346
+ /**
347
+ * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
348
+ *
349
+ * Whether this attr. group contains attr. group references.
350
+ */
351
+ #define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4
352
+
353
+ /**
354
+ * An attribute group definition.
355
+ *
356
+ * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
357
+ * must be kept similar
358
+ */
359
+ typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
360
+ typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
361
+ struct _xmlSchemaAttributeGroup {
362
+ xmlSchemaTypeType type; /* The kind of type */
363
+ struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
364
+ const xmlChar *name;
365
+ const xmlChar *id;
366
+ const xmlChar *ref; /* Deprecated; not used */
367
+ const xmlChar *refNs; /* Deprecated; not used */
368
+ xmlSchemaAnnotPtr annot;
369
+
370
+ xmlSchemaAttributePtr attributes; /* Deprecated; not used */
371
+ xmlNodePtr node;
372
+ int flags;
373
+ xmlSchemaWildcardPtr attributeWildcard;
374
+ const xmlChar *refPrefix; /* Deprecated; not used */
375
+ xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
376
+ const xmlChar *targetNamespace;
377
+ void *attrUses;
378
+ };
379
+
380
+ /**
381
+ * xmlSchemaTypeLink:
382
+ * Used to build a list of types (e.g. member types of
383
+ * simpleType with variety "union").
384
+ */
385
+ typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
386
+ typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
387
+ struct _xmlSchemaTypeLink {
388
+ struct _xmlSchemaTypeLink *next;/* the next type link ... */
389
+ xmlSchemaTypePtr type;/* the linked type */
390
+ };
391
+
392
+ /**
393
+ * xmlSchemaFacetLink:
394
+ * Used to build a list of facets.
395
+ */
396
+ typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
397
+ typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
398
+ struct _xmlSchemaFacetLink {
399
+ struct _xmlSchemaFacetLink *next;/* the next facet link ... */
400
+ xmlSchemaFacetPtr facet;/* the linked facet */
401
+ };
402
+
403
+ /**
404
+ * XML_SCHEMAS_TYPE_MIXED:
405
+ *
406
+ * the element content type is mixed
407
+ */
408
+ #define XML_SCHEMAS_TYPE_MIXED 1 << 0
409
+ /**
410
+ * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
411
+ *
412
+ * the simple or complex type has a derivation method of "extension".
413
+ */
414
+ #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1
415
+ /**
416
+ * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
417
+ *
418
+ * the simple or complex type has a derivation method of "restriction".
419
+ */
420
+ #define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2
421
+ /**
422
+ * XML_SCHEMAS_TYPE_GLOBAL:
423
+ *
424
+ * the type is global
425
+ */
426
+ #define XML_SCHEMAS_TYPE_GLOBAL 1 << 3
427
+ /**
428
+ * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
429
+ *
430
+ * the complexType owns an attribute wildcard, i.e.
431
+ * it can be freed by the complexType
432
+ */
433
+ #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */
434
+ /**
435
+ * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
436
+ *
437
+ * the simpleType has a variety of "absent".
438
+ * TODO: Actually not necessary :-/, since if
439
+ * none of the variety flags occur then it's
440
+ * automatically absent.
441
+ */
442
+ #define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5
443
+ /**
444
+ * XML_SCHEMAS_TYPE_VARIETY_LIST:
445
+ *
446
+ * the simpleType has a variety of "list".
447
+ */
448
+ #define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6
449
+ /**
450
+ * XML_SCHEMAS_TYPE_VARIETY_UNION:
451
+ *
452
+ * the simpleType has a variety of "union".
453
+ */
454
+ #define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7
455
+ /**
456
+ * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
457
+ *
458
+ * the simpleType has a variety of "union".
459
+ */
460
+ #define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8
461
+ /**
462
+ * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
463
+ *
464
+ * the complexType has a final of "extension".
465
+ */
466
+ #define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9
467
+ /**
468
+ * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
469
+ *
470
+ * the simpleType/complexType has a final of "restriction".
471
+ */
472
+ #define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10
473
+ /**
474
+ * XML_SCHEMAS_TYPE_FINAL_LIST:
475
+ *
476
+ * the simpleType has a final of "list".
477
+ */
478
+ #define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11
479
+ /**
480
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
481
+ *
482
+ * the simpleType has a final of "union".
483
+ */
484
+ #define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12
485
+ /**
486
+ * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
487
+ *
488
+ * the simpleType has a final of "default".
489
+ */
490
+ #define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13
491
+ /**
492
+ * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
493
+ *
494
+ * Marks the item as a builtin primitive.
495
+ */
496
+ #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14
497
+ /**
498
+ * XML_SCHEMAS_TYPE_MARKED:
499
+ *
500
+ * Marks the item as marked; used for circular checks.
501
+ */
502
+ #define XML_SCHEMAS_TYPE_MARKED 1 << 16
503
+ /**
504
+ * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
505
+ *
506
+ * the complexType did not specify 'block' so use the default of the
507
+ * <schema> item.
508
+ */
509
+ #define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17
510
+ /**
511
+ * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
512
+ *
513
+ * the complexType has a 'block' of "extension".
514
+ */
515
+ #define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18
516
+ /**
517
+ * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
518
+ *
519
+ * the complexType has a 'block' of "restriction".
520
+ */
521
+ #define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19
522
+ /**
523
+ * XML_SCHEMAS_TYPE_ABSTRACT:
524
+ *
525
+ * the simple/complexType is abstract.
526
+ */
527
+ #define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20
528
+ /**
529
+ * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
530
+ *
531
+ * indicates if the facets need a computed value
532
+ */
533
+ #define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21
534
+ /**
535
+ * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
536
+ *
537
+ * indicates that the type was typefixed
538
+ */
539
+ #define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22
540
+ /**
541
+ * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
542
+ *
543
+ * indicates that the type is invalid
544
+ */
545
+ #define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23
546
+ /**
547
+ * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
548
+ *
549
+ * a whitespace-facet value of "preserve"
550
+ */
551
+ #define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24
552
+ /**
553
+ * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
554
+ *
555
+ * a whitespace-facet value of "replace"
556
+ */
557
+ #define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25
558
+ /**
559
+ * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
560
+ *
561
+ * a whitespace-facet value of "collapse"
562
+ */
563
+ #define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26
564
+ /**
565
+ * XML_SCHEMAS_TYPE_HAS_FACETS:
566
+ *
567
+ * has facets
568
+ */
569
+ #define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27
570
+ /**
571
+ * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
572
+ *
573
+ * indicates if the facets (pattern) need a normalized value
574
+ */
575
+ #define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28
576
+
577
+ /**
578
+ * XML_SCHEMAS_TYPE_FIXUP_1:
579
+ *
580
+ * First stage of fixup was done.
581
+ */
582
+ #define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29
583
+
584
+ /**
585
+ * XML_SCHEMAS_TYPE_REDEFINED:
586
+ *
587
+ * The type was redefined.
588
+ */
589
+ #define XML_SCHEMAS_TYPE_REDEFINED 1 << 30
590
+ /**
591
+ * XML_SCHEMAS_TYPE_REDEFINING:
592
+ *
593
+ * The type redefines an other type.
594
+ */
595
+ /* #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 */
596
+
597
+ /**
598
+ * _xmlSchemaType:
599
+ *
600
+ * Schemas type definition.
601
+ */
602
+ struct _xmlSchemaType {
603
+ xmlSchemaTypeType type; /* The kind of type */
604
+ struct _xmlSchemaType *next; /* the next type if in a sequence ... */
605
+ const xmlChar *name;
606
+ const xmlChar *id ; /* Deprecated; not used */
607
+ const xmlChar *ref; /* Deprecated; not used */
608
+ const xmlChar *refNs; /* Deprecated; not used */
609
+ xmlSchemaAnnotPtr annot;
610
+ xmlSchemaTypePtr subtypes;
611
+ xmlSchemaAttributePtr attributes; /* Deprecated; not used */
612
+ xmlNodePtr node;
613
+ int minOccurs; /* Deprecated; not used */
614
+ int maxOccurs; /* Deprecated; not used */
615
+
616
+ int flags;
617
+ xmlSchemaContentType contentType;
618
+ const xmlChar *base; /* Base type's local name */
619
+ const xmlChar *baseNs; /* Base type's target namespace */
620
+ xmlSchemaTypePtr baseType; /* The base type component */
621
+ xmlSchemaFacetPtr facets; /* Local facets */
622
+ struct _xmlSchemaType *redef; /* Deprecated; not used */
623
+ int recurse; /* Obsolete */
624
+ xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
625
+ xmlSchemaWildcardPtr attributeWildcard;
626
+ int builtInType; /* Type of built-in types. */
627
+ xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
628
+ xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
629
+ const xmlChar *refPrefix; /* Deprecated; not used */
630
+ xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
631
+ Could we use @subtypes for this? */
632
+ xmlRegexpPtr contModel; /* Holds the automaton of the content model */
633
+ const xmlChar *targetNamespace;
634
+ void *attrUses;
635
+ };
636
+
637
+ /*
638
+ * xmlSchemaElement:
639
+ * An element definition.
640
+ *
641
+ * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
642
+ * structures must be kept similar
643
+ */
644
+ /**
645
+ * XML_SCHEMAS_ELEM_NILLABLE:
646
+ *
647
+ * the element is nillable
648
+ */
649
+ #define XML_SCHEMAS_ELEM_NILLABLE 1 << 0
650
+ /**
651
+ * XML_SCHEMAS_ELEM_GLOBAL:
652
+ *
653
+ * the element is global
654
+ */
655
+ #define XML_SCHEMAS_ELEM_GLOBAL 1 << 1
656
+ /**
657
+ * XML_SCHEMAS_ELEM_DEFAULT:
658
+ *
659
+ * the element has a default value
660
+ */
661
+ #define XML_SCHEMAS_ELEM_DEFAULT 1 << 2
662
+ /**
663
+ * XML_SCHEMAS_ELEM_FIXED:
664
+ *
665
+ * the element has a fixed value
666
+ */
667
+ #define XML_SCHEMAS_ELEM_FIXED 1 << 3
668
+ /**
669
+ * XML_SCHEMAS_ELEM_ABSTRACT:
670
+ *
671
+ * the element is abstract
672
+ */
673
+ #define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4
674
+ /**
675
+ * XML_SCHEMAS_ELEM_TOPLEVEL:
676
+ *
677
+ * the element is top level
678
+ * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
679
+ */
680
+ #define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5
681
+ /**
682
+ * XML_SCHEMAS_ELEM_REF:
683
+ *
684
+ * the element is a reference to a type
685
+ */
686
+ #define XML_SCHEMAS_ELEM_REF 1 << 6
687
+ /**
688
+ * XML_SCHEMAS_ELEM_NSDEFAULT:
689
+ *
690
+ * allow elements in no namespace
691
+ * Obsolete, not used anymore.
692
+ */
693
+ #define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7
694
+ /**
695
+ * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
696
+ *
697
+ * this is set when "type", "ref", "substitutionGroup"
698
+ * references have been resolved.
699
+ */
700
+ #define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8
701
+ /**
702
+ * XML_SCHEMAS_ELEM_CIRCULAR:
703
+ *
704
+ * a helper flag for the search of circular references.
705
+ */
706
+ #define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9
707
+ /**
708
+ * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
709
+ *
710
+ * the "block" attribute is absent
711
+ */
712
+ #define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10
713
+ /**
714
+ * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
715
+ *
716
+ * disallowed substitutions are absent
717
+ */
718
+ #define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11
719
+ /**
720
+ * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
721
+ *
722
+ * disallowed substitutions: "restriction"
723
+ */
724
+ #define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12
725
+ /**
726
+ * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
727
+ *
728
+ * disallowed substitutions: "substitution"
729
+ */
730
+ #define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13
731
+ /**
732
+ * XML_SCHEMAS_ELEM_FINAL_ABSENT:
733
+ *
734
+ * substitution group exclusions are absent
735
+ */
736
+ #define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14
737
+ /**
738
+ * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
739
+ *
740
+ * substitution group exclusions: "extension"
741
+ */
742
+ #define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15
743
+ /**
744
+ * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
745
+ *
746
+ * substitution group exclusions: "restriction"
747
+ */
748
+ #define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16
749
+ /**
750
+ * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
751
+ *
752
+ * the declaration is a substitution group head
753
+ */
754
+ #define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17
755
+ /**
756
+ * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
757
+ *
758
+ * this is set when the elem decl has been checked against
759
+ * all constraints
760
+ */
761
+ #define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18
762
+
763
+ typedef struct _xmlSchemaElement xmlSchemaElement;
764
+ typedef xmlSchemaElement *xmlSchemaElementPtr;
765
+ struct _xmlSchemaElement {
766
+ xmlSchemaTypeType type; /* The kind of type */
767
+ struct _xmlSchemaType *next; /* Not used? */
768
+ const xmlChar *name;
769
+ const xmlChar *id; /* Deprecated; not used */
770
+ const xmlChar *ref; /* Deprecated; not used */
771
+ const xmlChar *refNs; /* Deprecated; not used */
772
+ xmlSchemaAnnotPtr annot;
773
+ xmlSchemaTypePtr subtypes; /* the type definition */
774
+ xmlSchemaAttributePtr attributes;
775
+ xmlNodePtr node;
776
+ int minOccurs; /* Deprecated; not used */
777
+ int maxOccurs; /* Deprecated; not used */
778
+
779
+ int flags;
780
+ const xmlChar *targetNamespace;
781
+ const xmlChar *namedType;
782
+ const xmlChar *namedTypeNs;
783
+ const xmlChar *substGroup;
784
+ const xmlChar *substGroupNs;
785
+ const xmlChar *scope;
786
+ const xmlChar *value; /* The original value of the value constraint. */
787
+ struct _xmlSchemaElement *refDecl; /* This will now be used for the
788
+ substitution group affiliation */
789
+ xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
790
+ xmlSchemaContentType contentType;
791
+ const xmlChar *refPrefix; /* Deprecated; not used */
792
+ xmlSchemaValPtr defVal; /* The compiled value constraint. */
793
+ void *idcs; /* The identity-constraint defs */
794
+ };
795
+
796
+ /*
797
+ * XML_SCHEMAS_FACET_UNKNOWN:
798
+ *
799
+ * unknown facet handling
800
+ */
801
+ #define XML_SCHEMAS_FACET_UNKNOWN 0
802
+ /*
803
+ * XML_SCHEMAS_FACET_PRESERVE:
804
+ *
805
+ * preserve the type of the facet
806
+ */
807
+ #define XML_SCHEMAS_FACET_PRESERVE 1
808
+ /*
809
+ * XML_SCHEMAS_FACET_REPLACE:
810
+ *
811
+ * replace the type of the facet
812
+ */
813
+ #define XML_SCHEMAS_FACET_REPLACE 2
814
+ /*
815
+ * XML_SCHEMAS_FACET_COLLAPSE:
816
+ *
817
+ * collapse the types of the facet
818
+ */
819
+ #define XML_SCHEMAS_FACET_COLLAPSE 3
820
+ /**
821
+ * A facet definition.
822
+ */
823
+ struct _xmlSchemaFacet {
824
+ xmlSchemaTypeType type; /* The kind of type */
825
+ struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
826
+ const xmlChar *value; /* The original value */
827
+ const xmlChar *id; /* Obsolete */
828
+ xmlSchemaAnnotPtr annot;
829
+ xmlNodePtr node;
830
+ int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
831
+ int whitespace;
832
+ xmlSchemaValPtr val; /* The compiled value */
833
+ xmlRegexpPtr regexp; /* The regex for patterns */
834
+ };
835
+
836
+ /**
837
+ * A notation definition.
838
+ */
839
+ typedef struct _xmlSchemaNotation xmlSchemaNotation;
840
+ typedef xmlSchemaNotation *xmlSchemaNotationPtr;
841
+ struct _xmlSchemaNotation {
842
+ xmlSchemaTypeType type; /* The kind of type */
843
+ const xmlChar *name;
844
+ xmlSchemaAnnotPtr annot;
845
+ const xmlChar *identifier;
846
+ const xmlChar *targetNamespace;
847
+ };
848
+
849
+ /*
850
+ * TODO: Actually all those flags used for the schema should sit
851
+ * on the schema parser context, since they are used only
852
+ * during parsing an XML schema document, and not available
853
+ * on the component level as per spec.
854
+ */
855
+ /**
856
+ * XML_SCHEMAS_QUALIF_ELEM:
857
+ *
858
+ * Reflects elementFormDefault == qualified in
859
+ * an XML schema document.
860
+ */
861
+ #define XML_SCHEMAS_QUALIF_ELEM 1 << 0
862
+ /**
863
+ * XML_SCHEMAS_QUALIF_ATTR:
864
+ *
865
+ * Reflects attributeFormDefault == qualified in
866
+ * an XML schema document.
867
+ */
868
+ #define XML_SCHEMAS_QUALIF_ATTR 1 << 1
869
+ /**
870
+ * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
871
+ *
872
+ * the schema has "extension" in the set of finalDefault.
873
+ */
874
+ #define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2
875
+ /**
876
+ * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
877
+ *
878
+ * the schema has "restriction" in the set of finalDefault.
879
+ */
880
+ #define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3
881
+ /**
882
+ * XML_SCHEMAS_FINAL_DEFAULT_LIST:
883
+ *
884
+ * the schema has "list" in the set of finalDefault.
885
+ */
886
+ #define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4
887
+ /**
888
+ * XML_SCHEMAS_FINAL_DEFAULT_UNION:
889
+ *
890
+ * the schema has "union" in the set of finalDefault.
891
+ */
892
+ #define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5
893
+ /**
894
+ * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
895
+ *
896
+ * the schema has "extension" in the set of blockDefault.
897
+ */
898
+ #define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6
899
+ /**
900
+ * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
901
+ *
902
+ * the schema has "restriction" in the set of blockDefault.
903
+ */
904
+ #define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7
905
+ /**
906
+ * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
907
+ *
908
+ * the schema has "substitution" in the set of blockDefault.
909
+ */
910
+ #define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8
911
+ /**
912
+ * XML_SCHEMAS_INCLUDING_CONVERT_NS:
913
+ *
914
+ * the schema is currently including an other schema with
915
+ * no target namespace.
916
+ */
917
+ #define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9
918
+ /**
919
+ * _xmlSchema:
920
+ *
921
+ * A Schemas definition
922
+ */
923
+ struct _xmlSchema {
924
+ const xmlChar *name; /* schema name */
925
+ const xmlChar *targetNamespace; /* the target namespace */
926
+ const xmlChar *version;
927
+ const xmlChar *id; /* Obsolete */
928
+ xmlDocPtr doc;
929
+ xmlSchemaAnnotPtr annot;
930
+ int flags;
931
+
932
+ xmlHashTablePtr typeDecl;
933
+ xmlHashTablePtr attrDecl;
934
+ xmlHashTablePtr attrgrpDecl;
935
+ xmlHashTablePtr elemDecl;
936
+ xmlHashTablePtr notaDecl;
937
+
938
+ xmlHashTablePtr schemasImports;
939
+
940
+ void *_private; /* unused by the library for users or bindings */
941
+ xmlHashTablePtr groupDecl;
942
+ xmlDictPtr dict;
943
+ void *includes; /* the includes, this is opaque for now */
944
+ int preserve; /* whether to free the document */
945
+ int counter; /* used to give anonymous components unique names */
946
+ xmlHashTablePtr idcDef; /* All identity-constraint defs. */
947
+ void *volatiles; /* Obsolete */
948
+ };
949
+
950
+ XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type);
951
+ XMLPUBFUN void XMLCALL xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
952
+
953
+ #ifdef __cplusplus
954
+ }
955
+ #endif
956
+
957
+ #endif /* LIBXML_SCHEMAS_ENABLED */
958
+ #endif /* __XML_SCHEMA_INTERNALS_H__ */