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