Imported Upstream version 2.9.4
[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/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__