rolled back to 2.9.2 because 2.9.4 doesn't work with XML validator
[platform/upstream/libxml2.git] / os400 / libxmlrpg / valid.rpgle
1       * Summary: The DTD validation
2       * Description: API for the DTD handling and the validity checking
3       *
4       * Copy: See Copyright for the status of this software.
5       *
6       * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7
8       /if not defined(XML_VALID_H__)
9       /define XML_VALID_H__
10
11       /include "libxmlrpg/xmlversion"
12       /include "libxmlrpg/xmlerror"
13       /include "libxmlrpg/tree"
14       /include "libxmlrpg/list"
15       /include "libxmlrpg/xmlautomata"
16       /include "libxmlrpg/xmlregexp"
17
18       * Validation state added for non-determinist content model.
19
20      d xmlValidStatePtr...
21      d                 s               *   based(######typedef######)
22
23       * xmlValidityErrorFunc:
24       * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
25       *        but comes from ctxt->userData (which normally contains such
26       *        a pointer); ctxt->userData can be changed by the user.
27       * @msg:  the string to format *printf like vararg
28       * @...:  remaining arguments to the format
29       *
30       * Callback called when a validity error is found. This is a message
31       * oriented function similar to an *printf function.
32
33      d xmlValidityErrorFunc...
34      d                 s               *   based(######typedef######)
35      d                                     procptr
36
37       * xmlValidityWarningFunc:
38       * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
39       *        but comes from ctxt->userData (which normally contains such
40       *        a pointer); ctxt->userData can be changed by the user.
41       * @msg:  the string to format *printf like vararg
42       * @...:  remaining arguments to the format
43       *
44       * Callback called when a validity warning is found. This is a message
45       * oriented function similar to an *printf function.
46
47      d xmlValidityWarningFunc...
48      d                 s               *   based(######typedef######)
49      d                                     procptr
50
51       * xmlValidCtxt:
52       * An xmlValidCtxt is used for error reporting when validating.
53
54      d xmlValidCtxtPtr...
55      d                 s               *   based(######typedef######)
56
57      d xmlValidCtxt    ds                  based(xmlValidCtxtPtr)
58      d                                     align qualified
59      d  userdata                       *                                        void *
60      d  error                              like(xmlValidityErrorFunc)           Error callback
61      d  warning                            like(xmlValidityWarningFunc)         Warning callback
62       *
63       * Node analysis stack used when validating within entities
64       *
65      d  node                               like(xmlNodePtr)                     Current parsed Node
66      d  nodeNr                       10i 0                                      Parsing stack depth
67      d  nodeMax                      10i 0                                      Max stack depth
68      d  nodeTab                        *                                        xmlNodePtr *
69       *
70      d  finishDtd                    10u 0                                      Finish validtng DTD?
71      d  doc                                like(xmlDocPtr)                      The document
72      d  valid                        10i 0                                      Temp check result
73       *
74       * state state used for non-determinist content validation
75       *
76      d  vstate                         *                                        xmlValidState *
77      d  vstateNr                     10i 0                                      Validat. stack depth
78      d  vstateMax                    10i 0                                      Max stack depth
79      d  vstateTab                      *                                        xmlValidState *
80       *
81       /if defined(LIBXML_REGEXP_ENABLED)
82      d  am                                 like(xmlAutomataPtr)                 The automata
83      d  state                              like(xmlAutomataStatePtr)            Automata build state
84       /else
85      d  am                             *
86      d  state                          *
87       /endif
88
89       * ALL notation declarations are stored in a table.
90       * There is one table per DTD.
91
92      d xmlNotationTablePtr...
93      d                 s               *   based(######typedef######)
94
95       * ALL element declarations are stored in a table.
96       * There is one table per DTD.
97
98      d xmlElementTablePtr...
99      d                 s               *   based(######typedef######)
100
101       * ALL attribute declarations are stored in a table.
102       * There is one table per DTD.
103
104      d xmlAttributeTablePtr...
105      d                 s               *   based(######typedef######)
106
107       * ALL IDs attributes are stored in a table.
108       * There is one table per document.
109
110      d xmlIDTablePtr   s               *   based(######typedef######)
111
112       * ALL Refs attributes are stored in a table.
113       * There is one table per document.
114
115      d xmlRefTablePtr  s               *   based(######typedef######)
116
117       * Notation
118
119      d xmlAddNotationDecl...
120      d                 pr                  extproc('xmlAddNotationDecl')
121      d                                     like(xmlNotationPtr)
122      d  ctxt                               value like(xmlValidCtxtPtr)
123      d  dtd                                value like(xmlDtdPtr)
124      d  name                           *   value options(*string)               const xmlChar *
125      d  PublicID                       *   value options(*string)               const xmlChar *
126      d  SystemID                       *   value options(*string)               const xmlChar *
127
128       /if defined(LIBXML_TREE_ENABLED)
129      d xmlCopyNotationTable...
130      d                 pr                  extproc('xmlCopyNotationTable')
131      d                                     like(xmlNotationPtr)
132      d  table                              value like(xmlNotationTablePtr)
133       /endif                                                                    LIBXML_TREE_ENABLED
134
135      d xmlFreeNotationTable...
136      d                 pr                  extproc('xmlFreeNotationTable')
137      d  table                              value like(xmlNotationTablePtr)
138
139       /if defined(LIBXML_OUTPUT_ENABLED)
140      d xmlDumpNotationDecl...
141      d                 pr                  extproc('xmlDumpNotationDecl')
142      d  buf                                value like(xmlBufferPtr)
143      d  nota                               value like(xmlNotationPtr)
144
145      d xmlDumpNotationTable...
146      d                 pr                  extproc('xmlDumpNotationTable')
147      d  buf                                value like(xmlBufferPtr)
148      d  table                              value like(xmlNotationTablePtr)
149       /endif                                                                    LIBXML_OUTPUT_ENABLD
150
151       * Element Content
152       * the non Doc version are being deprecated
153
154      d xmlNewElementContent...
155      d                 pr                  extproc('xmlNewElementContent')
156      d                                     like(xmlElementContentPtr)
157      d  name                           *   value                                const xmlChar *
158      d  type                               value like(xmlElementContentType)
159
160      d xmlCopyElementContent...
161      d                 pr                  extproc('xmlCopyElementContent')
162      d                                     like(xmlElementContentPtr)
163      d  content                            value like(xmlElementContentPtr)
164
165      d xmlFreeElementContent...
166      d                 pr                  extproc('xmlFreeElementContent')
167      d  cur                                value like(xmlElementContentPtr)
168
169       * the new versions with doc argument
170
171      d xmlNewDocElementContent...
172      d                 pr                  extproc('xmlNewDocElementContent')
173      d                                     like(xmlElementContentPtr)
174      d  doc                                value like(xmlDocPtr)
175      d  name                           *   value                                const xmlChar *
176      d  type                               value like(xmlElementContentType)
177
178      d xmlCopyDocElementContent...
179      d                 pr                  extproc('xmlCopyDocElementContent')
180      d                                     like(xmlElementContentPtr)
181      d  doc                                value like(xmlDocPtr)
182      d  content                            value like(xmlElementContentPtr)
183
184      d xmlFreeDocElementContent...
185      d                 pr                  extproc('xmlFreeDocElementContent')
186      d  doc                                value like(xmlDocPtr)
187      d  cur                                value like(xmlElementContentPtr)
188
189      d xmlSnprintfElementContent...
190      d                 pr                  extproc('xmlSnprintfElementContent')
191      d  buf                       65535    options(*varsize)
192      d  size                         10i 0 value
193      d  content                            value like(xmlElementContentPtr)
194      d  englob                       10i 0 value
195
196       /if defined(LIBXML_OUTPUT_ENABLED)
197       * DEPRECATED
198      d xmlSprintfElementContent...
199      d                 pr                  extproc('xmlSprintfElementContent')
200      d  buf                       65535    options(*varsize)
201      d  content                            value like(xmlElementContentPtr)
202      d  englob                       10i 0 value
203       /endif                                                                    LIBXML_OUTPUT_ENABLD
204
205       * DEPRECATED
206
207       * Element
208
209      d xmlAddElementDecl...
210      d                 pr                  extproc('xmlAddElementDecl')
211      d                                     like(xmlElementPtr)
212      d  ctxt                               value like(xmlValidCtxtPtr)
213      d  dtd                                value like(xmlDtdPtr)
214      d  name                           *   value options(*string)               const xmlChar *
215      d  type                               value like(xmlElementTypeVal)
216      d  content                            value like(xmlElementContentPtr)
217
218       /if defined(LIBXML_TREE_ENABLED)
219      d xmlCopyElementTable...
220      d                 pr                  extproc('xmlCopyElementTable')
221      d                                     like(xmlElementTablePtr)
222      d  table                              value like(xmlElementTablePtr)
223       /endif                                                                    LIBXML_TREE_ENABLED
224
225      d xmlFreeElementTable...
226      d                 pr                  extproc('xmlFreeElementTable')
227      d  table                              value like(xmlElementTablePtr)
228
229       /if defined(LIBXML_OUTPUT_ENABLED)
230      d xmlDumpElementTable...
231      d                 pr                  extproc('xmlDumpElementTable')
232      d  buf                                value like(xmlBufferPtr)
233      d  table                              value like(xmlElementTablePtr)
234
235      d xmlDumpElementDecl...
236      d                 pr                  extproc('xmlDumpElementDecl')
237      d  buf                                value like(xmlBufferPtr)
238      d  elem                               value like(xmlElementPtr)
239       /endif                                                                    LIBXML_OUTPUT_ENABLD
240
241       * Enumeration
242
243      d xmlCreateEnumeration...
244      d                 pr                  extproc('xmlCreateEnumeration')
245      d                                     like(xmlEnumerationPtr)
246      d  name                           *   value options(*string)               const xmlChar *
247
248      d xmlFreeEnumeration...
249      d                 pr                  extproc('xmlFreeEnumeration')
250      d  cur                                value like(xmlEnumerationPtr)
251
252       /if defined(LIBXML_TREE_ENABLED)
253      d xmlCopyEnumeration...
254      d                 pr                  extproc('xmlCopyEnumeration')
255      d                                     like(xmlEnumerationPtr)
256      d  cur                                value like(xmlEnumerationPtr)
257       /endif                                                                    LIBXML_TREE_ENABLED
258
259       * Attribute
260
261      d xmlAddAttributeDecl...
262      d                 pr                  extproc('xmlAddAttributeDecl')
263      d                                     like(xmlAttributePtr)
264      d  ctxt                               value like(xmlValidCtxtPtr)
265      d  dtd                                value like(xmlDtdPtr)
266      d  elem                           *   value options(*string)               const xmlChar *
267      d  name                           *   value options(*string)               const xmlChar *
268      d  ns                             *   value options(*string)               const xmlChar *
269      d  type                               value like(xmlAttributeType)
270      d  def                                value like(xmlAttributeDefault)
271      d  defaultValue                   *   value options(*string)               const xmlChar *
272      d  tree                               value like(xmlEnumerationPtr)
273
274       /if defined(LIBXML_TREE_ENABLED)
275      d xmlCopyAttributeTable...
276      d                 pr                  extproc('xmlCopyAttributeTable')
277      d                                     like(xmlAttributeTablePtr)
278      d  table                              value like(xmlAttributeTablePtr)
279       /endif                                                                    LIBXML_TREE_ENABLED
280
281      d xmlFreeAttributeTable...
282      d                 pr                  extproc('xmlFreeAttributeTable')
283      d  table                              value like(xmlAttributeTablePtr)
284
285       /if defined(LIBXML_OUTPUT_ENABLED)
286      d xmlDumpAttributeTable...
287      d                 pr                  extproc('xmlDumpAttributeTable')
288      d  buf                                value like(xmlBufferPtr)
289      d  table                              value like(xmlAttributeTablePtr)
290
291      d xmlDumpAttributeDecl...
292      d                 pr                  extproc('xmlDumpAttributeDecl')
293      d  buf                                value like(xmlBufferPtr)
294      d  attr                               value like(xmlAttributePtr)
295       /endif                                                                    LIBXML_OUTPUT_ENABLD
296
297       * IDs
298
299      d xmlAddID        pr                  extproc('xmlAddID')
300      d                                     like(xmlIDPtr)
301      d  ctxt                               value like(xmlValidCtxtPtr)
302      d  doc                                value like(xmlDocPtr)
303      d  value                          *   value options(*string)               const xmlChar *
304      d  attr                               value like(xmlAttrPtr)
305
306      d xmlFreeIdTable  pr                  extproc('xmlFreeIDTable')
307      d  table                              value like(xmlIDTablePtr)
308
309      d xmlGetID        pr                  extproc('xmlGetID')
310      d                                     like(xmlAttrPtr)
311      d  doc                                value like(xmlDocPtr)
312      d  ID                             *   value options(*string)               const xmlChar *
313
314      d xmlIsID         pr            10i 0 extproc('xmlIsID')
315      d  doc                                value like(xmlDocPtr)
316      d  node                               value like(xmlNodePtr)
317      d  attr                               value like(xmlAttrPtr)
318
319      d xmlRemoveID     pr            10i 0 extproc('xmlRemoveID')
320      d  doc                                value like(xmlDocPtr)
321      d  attr                               value like(xmlAttrPtr)
322
323       * IDREFs
324
325      d xmlAddRef       pr                  extproc('xmlAddRef')
326      d                                     like(xmlRefPtr)
327      d  ctxt                               value like(xmlValidCtxtPtr)
328      d  doc                                value like(xmlDocPtr)
329      d  value                          *   value options(*string)               const xmlChar *
330      d  attr                               value like(xmlAttrPtr)
331
332      d xmlFreeRefTable...
333      d                 pr                  extproc('xmlFreeRefTable')
334      d  table                              value like(xmlRefTablePtr)
335
336      d xmlIsRef        pr            10i 0 extproc('xmlIsRef')
337      d  doc                                value like(xmlDocPtr)
338      d  node                               value like(xmlNodePtr)
339      d  attr                               value like(xmlAttrPtr)
340
341      d xmlRemoveRef    pr            10i 0 extproc('xmlRemoveRef')
342      d  doc                                value like(xmlDocPtr)
343      d  attr                               value like(xmlAttrPtr)
344
345      d xmlGetRefs      pr                  extproc('xmlGetRefs')
346      d                                     like(xmlListPtr)
347      d  doc                                value like(xmlDocPtr)
348      d  ID                             *   value options(*string)               const xmlChar *
349
350       * The public function calls related to validity checking.
351
352       /if defined(LIBXML_VALID_ENABLED)
353       * Allocate/Release Validation Contexts
354
355      d xmlNewValidCtxt...
356      d                 pr                  extproc('xmlNewValidCtxt')
357      d                                     like(xmlValidCtxtPtr)
358
359      d xmlFreeValidCtxt...
360      d                 pr                  extproc('xmlFreeValidCtxt')
361      d  ctxt                               value like(xmlValidCtxtPtr)
362
363      d xmlValidateRoot...
364      d                 pr            10i 0 extproc('xmlValidateRoot')
365      d  ctxt                               value like(xmlValidCtxtPtr)
366      d  doc                                value like(xmlDocPtr)
367
368      d xmlValidateElementDecl...
369      d                 pr            10i 0 extproc('xmlValidateElementDecl')
370      d  ctxt                               value like(xmlValidCtxtPtr)
371      d  doc                                value like(xmlDocPtr)
372      d  elem                               value like(xmlElementPtr)
373
374      d xmlValidNormalizeAttributeValue...
375      d                 pr              *   extproc(                             xmlChar *
376      d                                      'xmlValidNormalizeAttributeValue')
377      d  doc                                value like(xmlDocPtr)
378      d  elem                               value like(xmlNodePtr)
379      d  name                           *   value options(*string)               const xmlChar *
380      d  value                          *   value options(*string)               const xmlChar *
381
382      d xmlValidCtxtNormalizeAttributeValue...
383      d                 pr              *   extproc('xmlValidCtxt+               xmlChar *
384      d                                     NormalizeAttributeValue')
385      d  ctxt                               value like(xmlValidCtxtPtr)
386      d  doc                                value like(xmlDocPtr)
387      d  elem                               value like(xmlNodePtr)
388      d  name                           *   value options(*string)               const xmlChar *
389      d  value                          *   value options(*string)               const xmlChar *
390
391      d xmlValidateAttributeDecl...
392      d                 pr            10i 0 extproc('xmlValidateAttributeDecl')
393      d  ctxt                               value like(xmlValidCtxtPtr)
394      d  doc                                value like(xmlDocPtr)
395      d  attr                               value like(xmlAttributePtr)
396
397      d xmlValidateAttributeValue...
398      d                 pr            10i 0 extproc('xmlValidateAttributeValue')
399      d  type                               value like(xmlAttributeType)
400      d  value                          *   value options(*string)               const xmlChar *
401
402      d xmlValidateNotationDecl...
403      d                 pr            10i 0 extproc('xmlValidateNotationDecl')
404      d  ctxt                               value like(xmlValidCtxtPtr)
405      d  doc                                value like(xmlDocPtr)
406      d  nota                               value like(xmlNotationPtr)
407
408      d xmlValidateDtd  pr            10i 0 extproc('xmlValidateDtd')
409      d  ctxt                               value like(xmlValidCtxtPtr)
410      d  doc                                value like(xmlDocPtr)
411      d  dtd                                value like(xmlDtdPtr)
412
413      d xmlValidateDtdFinal...
414      d                 pr            10i 0 extproc('xmlValidateDtdFinal')
415      d  ctxt                               value like(xmlValidCtxtPtr)
416      d  doc                                value like(xmlDocPtr)
417
418      d xmlValidateDocument...
419      d                 pr            10i 0 extproc('xmlValidateDocument')
420      d  ctxt                               value like(xmlValidCtxtPtr)
421      d  doc                                value like(xmlDocPtr)
422
423      d xmlValidateElement...
424      d                 pr            10i 0 extproc('xmlValidateElement')
425      d  ctxt                               value like(xmlValidCtxtPtr)
426      d  doc                                value like(xmlDocPtr)
427      d  elem                               value like(xmlNodePtr)
428
429      d xmlValidateOneElement...
430      d                 pr            10i 0 extproc('xmlValidateOneElement')
431      d  ctxt                               value like(xmlValidCtxtPtr)
432      d  doc                                value like(xmlDocPtr)
433      d  elem                               value like(xmlNodePtr)
434
435      d xmlValidateOneAttribute...
436      d                 pr            10i 0 extproc('xmlValidateOneAttribute')
437      d  ctxt                               value like(xmlValidCtxtPtr)
438      d  doc                                value like(xmlDocPtr)
439      d  elem                               value like(xmlNodePtr)
440      d  attr                               value like(xmlAttrPtr)
441      d  value                          *   value options(*string)               const xmlChar *
442
443      d xmlValidateOneNamespace...
444      d                 pr            10i 0 extproc('xmlValidateOneNamespace')
445      d  ctxt                               value like(xmlValidCtxtPtr)
446      d  doc                                value like(xmlDocPtr)
447      d  elem                               value like(xmlNodePtr)
448      d  prefix                         *   value options(*string)               const xmlChar *
449      d  ns                                 value like(xmlNsPtr)
450      d  value                          *   value options(*string)               const xmlChar *
451
452      d xmlValidateDocumentFinal...
453      d                 pr            10i 0 extproc('xmlValidateDocumentFinal')
454      d  ctxt                               value like(xmlValidCtxtPtr)
455      d  doc                                value like(xmlDocPtr)
456       /endif                                                                    LIBXML_VALID_ENABLED
457
458       /undefine XML_TESTVAL
459       /if defined(LIBXML_VALID_ENABLED)
460       /define XML_TESTVAL
461       /elseif defined(LIBXML_SCHEMAS_ENABLED)
462       /define XML_TESTVAL
463       /endif
464       /if defined(XML_TESTVAL)
465      d xmlValidateNotationUse...
466      d                 pr            10i 0 extproc('xmlValidateNotationUse')
467      d  ctxt                               value like(xmlValidCtxtPtr)
468      d  doc                                value like(xmlDocPtr)
469      d  notationName                   *   value options(*string)               const xmlChar *
470
471       /undefine XML_TESTVAL
472       /endif
473
474      d xmlIsMixedElement...
475      d                 pr            10i 0 extproc('xmlIsMixedElement')
476      d  doc                                value like(xmlDocPtr)
477      d  name                           *   value options(*string)               const xmlChar *
478
479      d xmlGetDtdAttrDesc...
480      d                 pr                  extproc('xmlGetDtdAttrDesc')
481      d                                     like(xmlAttributePtr)
482      d  dtd                                value like(xmlDtdPtr)
483      d  elem                           *   value options(*string)               const xmlChar *
484      d  name                           *   value options(*string)               const xmlChar *
485
486      d xmlGetDtdQAttrDesc...
487      d                 pr                  extproc('xmlGetDtdQAttrDesc')
488      d                                     like(xmlAttributePtr)
489      d  dtd                                value like(xmlDtdPtr)
490      d  elem                           *   value options(*string)               const xmlChar *
491      d  name                           *   value options(*string)               const xmlChar *
492      d  prefix                         *   value options(*string)               const xmlChar *
493
494      d xmlGetDtdNotationDesc...
495      d                 pr                  extproc('xmlGetDtdNotationDesc')
496      d                                     like(xmlNotationPtr)
497      d  dtd                                value like(xmlDtdPtr)
498      d  name                           *   value options(*string)               const xmlChar *
499
500      d xmlGetDtdQElementDesc...
501      d                 pr                  extproc('xmlGetDtdQElementDesc')
502      d                                     like(xmlElementPtr)
503      d  dtd                                value like(xmlDtdPtr)
504      d  name                           *   value options(*string)               const xmlChar *
505      d  prefix                         *   value options(*string)               const xmlChar *
506
507      d xmlGetDtdElementDesc...
508      d                 pr                  extproc('xmlGetDtdElementDesc')
509      d                                     like(xmlElementPtr)
510      d  dtd                                value like(xmlDtdPtr)
511      d  name                           *   value options(*string)               const xmlChar *
512
513       /if defined(LIBXML_VALID_ENABLED)
514      d xmlValidGetPotentialChildren...
515      d                 pr            10i 0 extproc(
516      d                                      'xmlValidGetPotentialChildren')
517      d  ctree                          *   value                                xmlElementContent *
518      d  names                          *                                        const xmlChar *(*)
519      d  len                          10i 0
520      d  max                          10i 0 value
521
522      d xmlValidGetValidElements...
523      d                 pr            10i 0 extproc('xmlValidGetValidElements')
524      d  prev                               like(xmlNodePtr)
525      d  next                               like(xmlNodePtr)
526      d  names                          *                                        const xmlChar *(*)
527      d  max                          10i 0 value
528
529      d xmlValidateNameValue...
530      d                 pr            10i 0 extproc('xmlValidateNameValue')
531      d  value                          *   value options(*string)               const xmlChar *
532
533      d xmlValidateNamesValue...
534      d                 pr            10i 0 extproc('xmlValidateNamesValue')
535      d  value                          *   value options(*string)               const xmlChar *
536
537      d xmlValidateNmtokenValue...
538      d                 pr            10i 0 extproc('xmlValidateNmtokenValue')
539      d  value                          *   value options(*string)               const xmlChar *
540
541      d xmlValidateNmtokensValue...
542      d                 pr            10i 0 extproc('xmlValidateNmtokensValue')
543      d  value                          *   value options(*string)               const xmlChar *
544
545       /if defined(LIBXML_REGEXP_ENABLED)
546       * Validation based on the regexp support
547
548      d xmlValidBuildContentModel...
549      d                 pr            10i 0 extproc('xmlValidBuildContentModel')
550      d  ctxt                               value like(xmlValidCtxtPtr)
551      d  elem                               value like(xmlElementPtr)
552
553      d xmlValidatePushElement...
554      d                 pr            10i 0 extproc('xmlValidatePushElement')
555      d  ctxt                               value like(xmlValidCtxtPtr)
556      d  doc                                value like(xmlDocPtr)
557      d  elem                               value like(xmlNodePtr)
558      d  qname                          *   value options(*string)               const xmlChar *
559
560      d xmlValidatePushCData...
561      d                 pr            10i 0 extproc('xmlValidatePushCData')
562      d  ctxt                               value like(xmlValidCtxtPtr)
563      d  data                           *   value options(*string)               const xmlChar *
564      d  len                          10i 0 value
565
566      d xmlValidatePopElement...
567      d                 pr            10i 0 extproc('xmlValidatePopElement')
568      d  ctxt                               value like(xmlValidCtxtPtr)
569      d  doc                                value like(xmlDocPtr)
570      d  elem                               value like(xmlNodePtr)
571      d  qname                          *   value options(*string)               const xmlChar *
572
573       /endif                                                                    LIBXML_REGEXP_ENABLD
574       /endif                                                                    LIBXML_VALID_ENABLED
575       /endif                                                                    XML_VALID_H__