• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1      * Summary: interfaces for tree manipulation
2      * Description: this module describes the structures found in an tree
3      *              resulting from an XML or HTML parsing, as well as the API
4      *              provided for various processing on that tree
5      *
6      * Copy: See Copyright for the status of this software.
7      *
8      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
9
10      /if not defined(XML_TREE_H__)
11      /define XML_TREE_H__
12
13      /include "libxmlrpg/xmlversion"
14      /include "libxmlrpg/xmlTypesC"
15      /include "libxmlrpg/xmlstring"
16
17
18      * Some of the basic types pointer to structures:
19
20      * xmlIO.h
21
22     d xmlParserInputBufferPtr...
23     d                 s               *   based(######typedef######)
24
25     d xmlOutputBufferPtr...
26     d                 s               *   based(######typedef######)
27
28      * parser.h
29
30     d xmlParserInputPtr...
31     d                 s               *   based(######typedef######)
32
33     d xmlParserCtxtPtr...
34     d                 s               *   based(######typedef######)
35
36     d xmlSAXLocatorPtr...
37     d                 s               *   based(######typedef######)
38
39     d xmlSAXHandlerPtr...
40     d                 s               *   based(######typedef######)
41
42      * entities.h
43
44     d xmlEntityPtr    s               *   based(######typedef######)
45
46
47      * BASE_BUFFER_SIZE:
48      *
49      * default buffer size 4000.
50
51     d BASE_BUFFER_SIZE...
52     d                 c                   4096
53
54      * LIBXML_NAMESPACE_DICT:
55      *
56      * Defines experimental behaviour:
57      * 1) xmlNs gets an additional field @context (a xmlDoc)
58      * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
59
60      /if defined(DO_NOT_COMPILE)
61      /define LIBXML_NAMESPACE_DICT
62      /endif
63
64      * xmlBufferAllocationScheme:
65      *
66      * A buffer allocation scheme can be defined to either match exactly the
67      * need or double it's allocated size each time it is found too small.
68
69     d xmlBufferAllocationScheme...
70     d                 s                   based(######typedef######)
71     d                                     like(xmlCenum)
72     d  XML_BUFFER_ALLOC_DOUBLEIT...
73     d                 c                   0
74     d  XML_BUFFER_ALLOC_EXACT...
75     d                 c                   1
76     d  XML_BUFFER_ALLOC_IMMUTABLE...
77     d                 c                   2
78     d  XML_BUFFER_ALLOC_IO...
79     d                 c                   3
80     d  XML_BUFFER_ALLOC_HYBRID...
81     d                 c                   4
82
83      * xmlBuffer:
84      *
85      * A buffer structure, this old construct is limited to 2GB and
86      * is being deprecated, use API with xmlBuf instead
87
88     d xmlBufferPtr    s               *   based(######typedef######)
89
90     d xmlBuffer       ds                  based(xmlBufferPtr)
91     d                                     align qualified
92     d  content                        *                                        xmlChar *
93     d  use                                like(xmlCuint)
94     d  size                               like(xmlCuint)
95     d  alloc                              like(xmlBufferAllocationScheme)      The realloc method
96     d  contentIO                      *                                        xmlChar *
97
98      * xmlBufPtr:
99      *
100      * A pointer to a buffer structure, the actual structure internals are not
101      * public
102
103     d xmlBufPtr       s               *   based(######typedef######)
104
105      * A few public routines for xmlBuf. As those are expected to be used
106      * mostly internally the bulk of the routines are internal in buf.h
107
108     d xmlBufContent   pr              *   extproc('xmlBufContent')             xmlChar *
109     d  buf                                value like(xmlBufPtr)                const
110
111     d xmlBufEnd       pr              *   extproc('xmlBufEnd')                 xmlChar *
112     d  buf                                value like(xmlBufPtr)                const
113
114     d xmlBufUse       pr                  extproc('xmlBufUse')
115     d                                     like(xmlCsize_t)
116     d  buf                                value like(xmlBufPtr)                const
117
118     d xmlBufShrink    pr                  extproc('xmlBufShrink')
119     d                                     like(xmlCsize_t)
120     d  buf                                value like(xmlBufPtr)
121     d  len                                value like(xmlCsize_t)
122
123      * LIBXML2_NEW_BUFFER:
124      *
125      * Macro used to express that the API use the new buffers for
126      * xmlParserInputBuffer and xmlOutputBuffer. The change was
127      * introduced in 2.9.0.
128
129      /define LIBXML2_NEW_BUFFER
130
131      * XML_XML_NAMESPACE:
132      *
133      * This is the namespace for the special xml: prefix predefined in the
134      * XML Namespace specification.
135
136     d XML_XML_NAMESPACE...
137     d                 c                   'http://www.w3.org/XML/1998/+
138     d                                      namespace'
139
140      * XML_XML_ID:
141      *
142      * This is the name for the special xml:id attribute
143
144     d XML_XML_ID      c                   'xml:id'
145
146      * The different element types carried by an XML tree.
147      *
148      * NOTE: This is synchronized with DOM Level1 values
149      *       See http://www.w3.org/TR/REC-DOM-Level-1/
150      *
151      * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
152      * be deprecated to use an XML_DTD_NODE.
153
154     d xmlElementType  s                   based(######typedef######)
155     d                                     like(xmlCenum)
156     d  XML_ELEMENT_NODE...
157     d                 c                   1
158     d  XML_ATTRIBUTE_NODE...
159     d                 c                   2
160     d  XML_TEXT_NODE  c                   3
161     d  XML_CDATA_SECTION_NODE...
162     d                 c                   4
163     d  XML_ENTITY_REF_NODE...
164     d                 c                   5
165     d  XML_ENTITY_NODE...
166     d                 c                   6
167     d  XML_PI_NODE    c                   7
168     d  XML_COMMENT_NODE...
169     d                 c                   8
170     d  XML_DOCUMENT_NODE...
171     d                 c                   9
172     d  XML_DOCUMENT_TYPE_NODE...
173     d                 c                   10
174     d  XML_DOCUMENT_FRAG_NODE...
175     d                 c                   11
176     d  XML_NOTATION_NODE...
177     d                 c                   12
178     d  XML_HTML_DOCUMENT_NODE...
179     d                 c                   13
180     d  XML_DTD_NODE   c                   14
181     d  XML_ELEMENT_DECL...
182     d                 c                   15
183     d  XML_ATTRIBUTE_DECL...
184     d                 c                   16
185     d  XML_ENTITY_DECL...
186     d                 c                   17
187     d  XML_NAMESPACE_DECL...
188     d                 c                   18
189     d  XML_LOCAL_NAMESPACE...
190     d                 c                   18                                   Alias
191     d  XML_XINCLUDE_START...
192     d                 c                   19
193     d  XML_XINCLUDE_END...
194     d                 c                   20
195      /if defined(LIBXML_DOCB_ENABLED)
196     d  XML_DOCB_DOCUMENT_NODE...
197     d                 c                   21
198      /endif
199
200      * xmlNotation:
201      *
202      * A DTD Notation definition.
203
204     d xmlNotationPtr  s               *   based(######typedef######)
205
206     d xmlNotation     ds                  based(xmlNotationPtr)
207     d                                     align qualified
208     d  name                           *                                        const xmlChar *
209     d  PublicID                       *                                        const xmlChar *
210     d  SystemID                       *                                        const xmlChar *
211
212      * xmlAttributeType:
213      *
214      * A DTD Attribute type definition.
215
216     d xmlAttributeType...
217     d                 s                   based(######typedef######)
218     d                                     like(xmlCenum)
219     d  XML_ATTRIBUTE_CDATA...
220     d                 c                   1
221     d  XML_ATTRIBUTE_ID...
222     d                 c                   2
223     d  XML_ATTRIBUTE_IDREF...
224     d                 c                   3
225     d  XML_ATTRIBUTE_IDREFS...
226     d                 c                   4
227     d  XML_ATTRIBUTE_ENTITY...
228     d                 c                   5
229     d  XML_ATTRIBUTE_ENTITIES...
230     d                 c                   6
231     d  XML_ATTRIBUTE_NMTOKEN...
232     d                 c                   7
233     d  XML_ATTRIBUTE_NMTOKENS...
234     d                 c                   8
235     d  XML_ATTRIBUTE_ENUMERATION...
236     d                 c                   9
237     d  XML_ATTRIBUTE_NOTATION...
238     d                 c                   10
239
240      * xmlAttributeDefault:
241      *
242      * A DTD Attribute default definition.
243
244     d xmlAttributeDefault...
245     d                 s                   based(######typedef######)
246     d                                     like(xmlCenum)
247     d  XML_ATTRIBUTE_NONE...
248     d                 c                   1
249     d  XML_ATTRIBUTE_REQUIRED...
250     d                 c                   2
251     d  XML_ATTRIBUTE_IMPLIED...
252     d                 c                   3
253     d  XML_ATTRIBUTE_FIXED...
254     d                 c                   4
255
256      * xmlEnumeration:
257      *
258      * List structure used when there is an enumeration in DTDs.
259
260     d xmlEnumerationPtr...
261     d                 s               *   based(######typedef######)
262
263     d xmlEnumeration  ds                  based(xmlEnumerationPtr)
264     d                                     align qualified
265     d  next                               like(xmlEnumerationPtr)              Next one
266     d  name                           *                                        const xmlChar *
267
268      * Forward pointer declarations.
269
270     d xmlNodePtr      s               *   based(######typedef######)
271     d xmlDocPtr       s               *   based(######typedef######)
272     d xmlDtdPtr       s               *   based(######typedef######)
273
274      * xmlAttribute:
275      *
276      * An Attribute declaration in a DTD.
277
278     d xmlAttributePtr...
279     d                 s               *   based(######typedef######)
280
281     d xmlAttribute    ds                  based(xmlAttributePtr)
282     d                                     align qualified
283     d  #private                       *                                        Application data
284     d  type                               like(xmlElementType)                 XML_ATTRIBUTE_DECL
285     d  name                           *                                        const xmlChar *
286     d  children                           like(xmlNodePtr)                     NULL
287     d  last                               like(xmlNodePtr)                     NULL
288     d  parent                             like(xmlDtdPtr)                      -> DTD
289     d  next                               like(xmlNodePtr)                     next sibling link
290     d  prev                               like(xmlNodePtr)                     previous sibling lnk
291     d  doc                                like(xmlDocPtr)                      The containing doc
292     d  nexth                              like(xmlAttributePtr)                Next in hash table
293     d  atype                              like(xmlAttributeType)               The attribute type
294     d  def                                like(xmlAttributeDefault)            The default
295     d  defaultValue                   *                                        or const xmlChar *
296     d  tree                               like(xmlEnumerationPtr)              or enum tree
297     d  prefix                         *                                        const xmlChar *
298     d  elem                           *                                        const xmlChar *
299
300      * xmlElementContentType:
301      *
302      * Possible definitions of element content types.
303
304     d xmlElementContentType...
305     d                 s                   based(######typedef######)
306     d                                     like(xmlCenum)
307     d  XML_ELEMENT_CONTENT_PCDATA...
308     d                 c                   1
309     d  XML_ELEMENT_CONTENT_ELEMENT...
310     d                 c                   2
311     d  XML_ELEMENT_CONTENT_SEQ...
312     d                 c                   3
313     d  XML_ELEMENT_CONTENT_OR...
314     d                 c                   4
315
316      * xmlElementContentOccur:
317      *
318      * Possible definitions of element content occurrences.
319
320     d xmlElementContentOccur...
321     d                 s                   based(######typedef######)
322     d                                     like(xmlCenum)
323     d  XML_ELEMENT_CONTENT_ONCE...
324     d                 c                   1
325     d  XML_ELEMENT_CONTENT_OPT...
326     d                 c                   2
327     d  XML_ELEMENT_CONTENT_MULT...
328     d                 c                   3
329     d  XML_ELEMENT_CONTENT_PLUS...
330     d                 c                   4
331
332      * xmlElementContent:
333      *
334      * An XML Element content as stored after parsing an element definition
335      * in a DTD.
336
337     d xmlElementContentPtr...
338     d                 s               *   based(######typedef######)
339
340     d xmlElementContent...
341     d                 ds                  based(xmlElementContentPtr)
342     d                                     align qualified
343     d  type                               like(xmlElementContentType)
344     d  ocur                               like(xmlElementContentOccur)
345     d  name                           *                                        const xmlChar *
346     d  c1                                 like(xmlElementContentPtr)           First child
347     d  c2                                 like(xmlElementContentPtr)           Second child
348     d  parent                             like(xmlElementContentPtr)           Parent
349     d  prefix                         *                                        const xmlChar *
350
351      * xmlElementTypeVal:
352      *
353      * The different possibilities for an element content type.
354
355     d xmlElementTypeVal...
356     d                 s                   based(######typedef######)
357     d                                     like(xmlCenum)
358     d  XML_ELEMENT_TYPE_UNDEFINED...
359     d                 c                   0
360     d  XML_ELEMENT_TYPE_EMPTY...
361     d                 c                   1
362     d  XML_ELEMENT_TYPE_ANY...
363     d                 c                   2
364     d  XML_ELEMENT_TYPE_MIXED...
365     d                 c                   3
366     d  XML_ELEMENT_TYPE_ELEMENT...
367     d                 c                   4
368
369      /include "libxmlrpg/xmlregexp"
370
371      * xmlElement:
372      *
373      * An XML Element declaration from a DTD.
374
375     d xmlElementPtr   s               *   based(######typedef######)
376
377     d xmlElement      ds                  based(xmlElementPtr)
378     d                                     align qualified
379     d  #private                       *                                        Application data
380     d  type                               like(xmlElementType)                 XML_ELEMENT_DECL
381     d  name                           *                                        const xmlChar *
382     d  children                           like(xmlNodePtr)                     NULL
383     d  last                               like(xmlNodePtr)                     NULL
384     d  parent                             like(xmlDtdPtr)                      -> DTD
385     d  next                               like(xmlNodePtr)                     next sibling link
386     d  prev                               like(xmlNodePtr)                     previous sibling lnk
387     d  doc                                like(xmlDocPtr)                      The containing doc
388     d  etype                              like(xmlElementTypeVal)              The type
389     d  content                            like(xmlElementContentPtr)           Allowed elem content
390     d  attributes                         like(xmlAttributePtr)                Declared attributes
391     d  prefix                         *                                        const xmlChar *
392      /if defined(LIBXML_REGEXP_ENABLED)
393     d  contModel                          like(xmlRegexpPtr)                   Validating regexp
394      /else
395     d  contModel                      *
396      /endif
397
398      * XML_LOCAL_NAMESPACE:
399      *
400      * A namespace declaration node.
401
402      * xmlNs:
403      *
404      * An XML namespace.
405      * Note that prefix == NULL is valid, it defines the default namespace
406      * within the subtree (until overridden).
407      *
408      * xmlNsType is unified with xmlElementType.
409
410     d xmlNsType       s                   based(######typedef######)           enum
411     d                                     like(xmlElementType)
412
413     d xmlNsPtr        s               *   based(######typedef######)
414
415     d xmlNs           ds                  based(xmlNsPtr)
416     d                                     align qualified
417     d  next                               like(xmlNsPtr)                       next Ns link
418     d  type                               like(xmlNsType)                      Global or local
419     d  href                           *                                        const xmlChar *
420     d  prefix                         *                                        const xmlChar *
421     d  #private                       *                                        Application data
422     d  context                            like(xmlDocPtr)                      normally an xmlDoc
423
424      * xmlDtd:
425      *
426      * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
427      * the internal subset and for the external subset.
428
429     d xmlDtd          ds                  based(xmlDtdPtr)
430     d                                     align qualified
431     d  #private                       *                                        Application data
432     d  type                               like(xmlElementType)                 XML_DTD_NODE
433     d  name                           *                                        const xmlChar *
434     d  children                           like(xmlNodePtr)                     Property link value
435     d  last                               like(xmlNodePtr)                     Last child link
436     d  parent                             like(xmlDocPtr)                      Child->parent link
437     d  next                               like(xmlNodePtr)                     next sibling link
438     d  prev                               like(xmlNodePtr)                     previous sibling lnk
439     d  doc                                like(xmlDocPtr)                      The containing doc
440     d  notations                      *                                        notations hash table
441     d  elements                       *                                        elements hash table
442     d  entities                       *                                        entities hash table
443     d  ExternalID                     *                                        const xmlChar *
444     d  SystemID                       *                                        const xmlChar *
445     d  pentities                      *                                        param. ent. h table
446
447      * xmlAttr:
448      *
449      * An attribute on an XML node.
450
451     d xmlAttrPtr      s               *   based(######typedef######)
452
453     d xmlAttr         ds                  based(xmlAttrPtr)
454     d                                     align qualified
455     d  #private                       *                                        Application data
456     d  type                               like(xmlElementType)                 XML_ATTRIBUTE_NODE
457     d  name                           *                                        const xmlChar *
458     d  children                           like(xmlNodePtr)                     Property link value
459     d  last                               like(xmlNodePtr)                     NULL
460     d  parent                             like(xmlNodePtr)                     Child->parent link
461     d  next                               like(xmlAttrPtr)                     next sibling link
462     d  prev                               like(xmlAttrPtr)                     previous sibling lnk
463     d  doc                                like(xmlDocPtr)                      The containing doc
464     d  ns                                 like(xmlNsPtr)                       Associated namespace
465     d  atype                              like(xmlAttributeType)               For validation
466     d  psvi                           *                                        Type/PSVI info
467
468      * xmlID:
469      *
470      * An XML ID instance.
471
472     d xmlIdPtr        s               *   based(######typedef######)
473
474     d xmlID           ds                  based(xmlIdPtr)
475     d                                     align qualified
476     d  next                               like(xmlIdPtr)                       Next ID
477     d  attr                               like(xmlAttrPtr)                     Attribute holding it
478     d  name                           *                                        const xmlChar *
479     d  lineno                             like(xmlCint)                        Line # if not avail
480     d  doc                                like(xmlDocPtr)                      Doc holding ID
481
482      * xmlRef:
483      *
484      * An XML IDREF instance.
485
486     d xmlRefPtr       s               *   based(######typedef######)
487
488     d xmlRef          ds                  based(xmlRefPtr)
489     d                                     align qualified
490     d  next                               like(xmlRefPtr)                      Next Ref
491     d  value                          *                                        const xmlChar *
492     d  attr                               like(xmlAttrPtr)                     Attribute holding it
493     d  name                           *                                        const xmlChar *
494     d  lineno                             like(xmlCint)                        Line # if not avail
495
496      * xmlNode:
497      *
498      * A node in an XML tree.
499
500     d xmlNode         ds                  based(xmlNodePtr)
501     d                                     align qualified
502     d  #private                       *                                        Application data
503     d  type                               like(xmlElementType)
504     d  name                           *                                        const xmlChar *
505     d  children                           like(xmlNodePtr)                     Parent->children lnk
506     d  last                               like(xmlNodePtr)                     Last child link
507     d  parent                             like(xmlNodePtr)                     Child->parent link
508     d  next                               like(xmlNodePtr)                     next sibling link
509     d  prev                               like(xmlNodePtr)                     previous sibling lnk
510     d  doc                                like(xmlDocPtr)                      The containing doc
511     d  ns                                 like(xmlNsPtr)                       Associated namespace
512     d  content                        *                                        xmlChar *
513     d  properties                         like(xmlAttrPtr)                     Properties list
514     d  nsDef                              like(xmlNsPtr)                       Node ns definitions
515     d  psvi                           *                                        Type/PSVI info
516     d  line                               like(xmlCushort)
517     d  extra                              like(xmlCushort)                     Data for XPath/XSLT
518
519      * xmlDocProperty
520      *
521      * Set of properties of the document as found by the parser
522      * Some of them are linked to similary named xmlParserOption
523
524     d xmlDocProperties...
525     d                 s                   based(######typedef######)
526     d                                     like(xmlCenum)
527     d  XML_DOC_WELLFORMED...
528     d                 c                   X'00000001'
529     d  XML_DOC_NSVALID...
530     d                 c                   X'00000002'
531     d  XML_DOC_OLD10  c                   X'00000004'
532     d  XML_DOC_DTDVALID...
533     d                 c                   X'00000008'
534     d  XML_DOC_XINCLUDE...
535     d                 c                   X'00000010'
536     d  XML_DOC_USERBUILT...
537     d                 c                   X'00000020'
538     d  XML_DOC_INTERNAL...
539     d                 c                   X'00000030'
540     d  XML_DOC_HTML   c                   X'00000080'
541
542      * xmlDoc:
543      *
544      * An XML document.
545
546     d xmlDoc          ds                  based(xmlDocPtr)
547     d                                     align qualified
548     d  #private                       *                                        Application data
549     d  type                               like(xmlElementType)                 XML_DOCUMENT_NODE
550     d  name                           *                                        const xmlChar *
551     d  children                           like(xmlNodePtr)                     The document tree
552     d  last                               like(xmlNodePtr)                     Last child link
553     d  parent                             like(xmlNodePtr)                     Child->parent link
554     d  next                               like(xmlNodePtr)                     next sibling link
555     d  prev                               like(xmlNodePtr)                     previous sibling lnk
556     d  doc                                like(xmlDocPtr)                      Reference to itself
557     d  compression                        like(xmlCint)                        zlib compression lev
558     d  standalone                         like(xmlCint)
559     d  intSubset                          like(xmlDtdPtr)                      Internal subset
560     d  extSubset                          like(xmlDtdPtr)                      External subset
561     d  oldns                              like(xmlNsPtr)                       Global namespace
562     d  version                        *                                        const xmlChar *
563     d  encoding                       *                                        const xmlChar *
564     d  ids                            *                                        IDs hash table
565     d  refs                           *                                        IDREFs hash table
566     d  URL                            *                                        const xmlChar *
567     d  charset                            like(xmlCint)                        In-memory encoding
568     d  dict                           *                                        xmlDictPtr for names
569     d  psvi                           *                                        Type/PSVI ino
570     d  parseFlags                         like(xmlCint)                        xmlParserOption's
571     d  properties                         like(xmlCint)                        xmlDocProperties
572
573      * xmlDOMWrapAcquireNsFunction:
574      * @ctxt:  a DOM wrapper context
575      * @node:  the context node (element or attribute)
576      * @nsName:  the requested namespace name
577      * @nsPrefix:  the requested namespace prefix
578      *
579      * A function called to acquire namespaces (xmlNs) from the wrapper.
580      *
581      * Returns an xmlNsPtr or NULL in case of an error.
582
583     d xmlDOMWrapAcquireNsFunction...
584     d                 s               *   based(######typedef######)
585     d                                     procptr
586
587      * xmlDOMWrapCtxt:
588      *
589      * Context for DOM wrapper-operations.
590
591     d xmlDOMWrapCtxtPtr...
592     d                 s               *   based(######typedef######)
593
594     d xmlDOMWrapCtxt...
595     d                 ds                  based(xmlDOMWrapCtxtPtr)
596     d                                     align qualified
597     d  #private                       *                                        void *
598     d  type                               like(xmlCint)
599     d  namespaceMap                   *                                        void *
600     d  getNsForNodeFunc...
601     d                                     like(xmlDOMWrapAcquireNsFunction)
602
603
604      * Variables.
605
606      * Some helper functions
607
608      /undefine XML_TESTVAL
609      /if defined(LIBXML_TREE_ENABLED)
610      /define XML_TESTVAL
611      /elseif defined(LIBXML_XPATH_ENABLED)
612      /define XML_TESTVAL
613      /elseif defined(LIBXML_SCHEMAS_ENABLED)
614      /define XML_TESTVAL
615      /elseif defined(LIBXML_DEBUG_ENABLED)
616      /define XML_TESTVAL
617      /elseif defined(LIBXML_HTML_ENABLED)
618      /define XML_TESTVAL
619      /elseif defined(LIBXML_SAX1_ENABLED)
620      /define XML_TESTVAL
621      /elseif defined(LIBXML_HTML_ENABLED)
622      /define XML_TESTVAL
623      /elseif defined(LIBXML_WRITER_ENABLED)
624      /define XML_TESTVAL
625      /elseif defined(LIBXML_DOCB_ENABLED)
626      /define XML_TESTVAL
627      /endif
628      /if defined(XML_TESTVAL)
629     d xmlValidateNCName...
630     d                 pr                  extproc('xmlValidateNCName')
631     d                                     like(xmlCint)
632     d  value                          *   value options(*string)               const xmlChar *
633     d  space                              value like(xmlCint)
634
635      /undefine XML_TESTVAL
636      /endif
637
638      /if defined(LIBXML_TREE_ENABLED)
639      /define XML_TESTVAL
640      /elseif defined(LIBXML_SCHEMAS_ENABLED)
641      /define XML_TESTVAL
642      /endif
643      /if defined(XML_TESTVAL)
644     d xmlValidateQName...
645     d                 pr                  extproc('xmlValidateQName')
646     d                                     like(xmlCint)
647     d  value                          *   value options(*string)               const xmlChar *
648     d  space                              value like(xmlCint)
649
650     d xmlValidateName...
651     d                 pr                  extproc('xmlValidateName')
652     d                                     like(xmlCint)
653     d  value                          *   value options(*string)               const xmlChar *
654     d  space                              value like(xmlCint)
655
656     d xmlValidateNMToken...
657     d                 pr                  extproc('xmlValidateNMToken')
658     d                                     like(xmlCint)
659     d  value                          *   value options(*string)               const xmlChar *
660     d  space                              value like(xmlCint)
661
662      /undefine XML_TESTVAL
663      /endif
664
665     d xmlBuildQName   pr              *   extproc('xmlBuildQName')             xmlChar *
666     d  ncname                         *   value options(*string)               const xmlChar *
667     d  prefix                         *   value options(*string)               const xmlChar *
668     d  memory                    65535    options(*varsize: *omit)             xmlChar[]
669     d  len                                value like(xmlCint)                  memory length
670
671     d xmlSplitQName2  pr              *   extproc('xmlSplitQName2')            xmlChar *
672     d  name                           *   value options(*string)               const xmlChar *
673     d  prefix                         *                                        xmlChar *
674
675     d xmlSplitQName3  pr              *   extproc('xmlSplitQName3')            const xmlChar *
676     d  name                           *   value options(*string)               const xmlChar *
677     d  len                                like(xmlCint)
678
679      * Handling Buffers, the old ones see @xmlBuf for the new ones.
680
681     d xmlSetBufferAllocationScheme...
682     d                 pr                  extproc(
683     d                                      'xmlSetBufferAllocationScheme')
684     d  scheme                             value
685     d                                     like(xmlBufferAllocationScheme)
686
687     d xmlGetBufferAllocationScheme...
688     d                 pr                  extproc(
689     d                                      'xmlGetBufferAllocationScheme')
690     d                                     like(xmlBufferAllocationScheme)
691
692     d xmlBufferCreate...
693     d                 pr                  extproc('xmlBufferCreate')
694     d                                     like(xmlBufferPtr)
695
696     d xmlBufferCreateSize...
697     d                 pr                  extproc('xmlBufferCreateSize')
698     d                                     like(xmlBufferPtr)
699     d  size                               value like(xmlCsize_t)
700
701     d xmlBufferCreateStatic...
702     d                 pr                  extproc('xmlBufferCreateStatic')
703     d                                     like(xmlBufferPtr)
704     d  mem                            *   value
705     d  size                               value like(xmlCsize_t)
706
707     d xmlBufferResize...
708     d                 pr                  extproc('xmlBufferResize')
709     d                                     like(xmlCint)
710     d  buf                                value like(xmlBufferPtr)
711     d  size                               value like(xmlCsize_t)
712
713     d xmlBufferFree   pr                  extproc('xmlBufferFree')
714     d  buf                                value like(xmlBufferPtr)
715
716     d xmlBufferDump   pr                  extproc('xmlBufferDump')
717     d                                     like(xmlCint)
718     d  file                           *   value                                FILE *
719     d  buf                                value like(xmlBufferPtr)
720
721     d xmlBufferAdd    pr                  extproc('xmlBufferAdd')
722     d                                     like(xmlCint)
723     d  buf                                value like(xmlBufferPtr)
724     d  str                            *   value options(*string)               const xmlChar *
725     d  len                                value like(xmlCint)                  str length
726
727     d xmlBufferAddHead...
728     d                 pr                  extproc('xmlBufferAddHead')
729     d                                     like(xmlCint)
730     d  buf                                value like(xmlBufferPtr)
731     d  str                            *   value options(*string)               const xmlChar *
732     d  len                                value like(xmlCint)                  str length
733
734     d xmlBufferCat    pr                  extproc('xmlBufferCat')
735     d                                     like(xmlCint)
736     d  buf                                value like(xmlBufferPtr)
737     d  str                            *   value options(*string)               const xmlChar *
738
739     d xmlBufferCCat   pr                  extproc('xmlBufferCCat')
740     d                                     like(xmlCint)
741     d  buf                                value like(xmlBufferPtr)
742     d  str                            *   value options(*string)               const char *
743
744     d xmlBufferShrink...
745     d                 pr                  extproc('xmlBufferShrink')
746     d                                     like(xmlCint)
747     d  buf                                value like(xmlBufferPtr)
748     d  len                                value like(xmlCuint)
749
750     d xmlBufferGrow   pr                  extproc('xmlBufferGrow')
751     d                                     like(xmlCint)
752     d  buf                                value like(xmlBufferPtr)
753     d  len                                value like(xmlCuint)
754
755     d xmlBufferEmpty  pr                  extproc('xmlBufferEmpty')
756     d  buf                                value like(xmlBufferPtr)
757
758     d xmlBufferContent...
759     d                 pr              *   extproc('xmlBufferContent')          const xmlChar *
760     d  buf                                value like(xmlBufferPtr)
761
762     d xmlBufferDetach...
763     d                 pr              *   extproc('xmlBufferDetach')           xmlChar *
764     d  buf                                value like(xmlBufferPtr)
765
766     d xmlBufferSetAllocationScheme...
767     d                 pr                  extproc(
768     d                                      'xmlBufferSetAllocationScheme')
769     d  buf                                value like(xmlBufferPtr)
770     d  scheme                             value
771     d                                     like(xmlBufferAllocationScheme)
772
773     d xmlBufferLength...
774     d                 pr                  extproc('xmlBufferLength')
775     d                                     like(xmlCint)
776     d  buf                                value like(xmlBufferPtr)
777
778      * Creating/freeing new structures.
779
780     d xmlCreateIntSubset...
781     d                 pr                  extproc('xmlCreateIntSubset')
782     d                                     like(xmlDtdPtr)
783     d  doc                                value like(xmlDocPtr)
784     d  name                           *   value options(*string)               const xmlChar *
785     d  ExternalID                     *   value options(*string)               const xmlChar *
786     d  SystemlID                      *   value options(*string)               const xmlChar *
787
788     d xmlNewDtd       pr                  extproc('xmlNewDtd')
789     d                                     like(xmlDtdPtr)
790     d  doc                                value like(xmlDocPtr)
791     d  name                           *   value options(*string)               const xmlChar *
792     d  ExternalID                     *   value options(*string)               const xmlChar *
793     d  SystemlID                      *   value options(*string)               const xmlChar *
794
795     d xmlGetIntSubset...
796     d                 pr                  extproc('xmlGetIntSubset')
797     d                                     like(xmlDtdPtr)
798     d  doc                                value like(xmlDocPtr)
799
800     d xmlFreeDtd      pr                  extproc('xmlFreeDtd')
801     d  cur                                value like(xmlDtdPtr)
802
803      /if defined(LIBXML_LEGACY_ENABLED)
804     d xmlNewGlobalNs  pr                  extproc('xmlNewGlobalNs')
805     d                                     like(xmlNsPtr)
806     d  doc                                value like(xmlDocPtr)
807     d  href                           *   value options(*string)               const xmlChar *
808     d  prefix                         *   value options(*string)               const xmlChar *
809      /endif                                                                    LIBXML_LEGACY_ENABLD
810
811     d xmlNewNs        pr                  extproc('xmlNewNs')
812     d                                     like(xmlNsPtr)
813     d  node                               value like(xmlNodePtr)
814     d  href                           *   value options(*string)               const xmlChar *
815     d  prefix                         *   value options(*string)               const xmlChar *
816
817     d xmlFreeNs       pr                  extproc('xmlFreeNs')
818     d  cur                                value like(xmlNsPtr)
819
820     d xmlFreeNsList   pr                  extproc('xmlFreeNsList')
821     d  cur                                value like(xmlNsPtr)
822
823     d xmlNewDoc       pr                  extproc('xmlNewDoc')
824     d                                     like(xmlDocPtr)
825     d  version                        *   value options(*string)               const xmlChar *
826
827     d xmlFreeDoc      pr                  extproc('xmlFreeDoc')
828     d  cur                                value like(xmlDocPtr)
829
830     d xmlNewDocProp   pr                  extproc('xmlNewDocProp')
831     d                                     like(xmlAttrPtr)
832     d  name                           *   value options(*string)               const xmlChar *
833     d  value                          *   value options(*string)               const xmlChar *
834
835      /if defined(LIBXML_TREE_ENABLED)
836      /define XML_TESTVAL
837      /elseif defined(LIBXML_HTML_ENABLED)
838      /define XML_TESTVAL
839      /elseif defined(LIBXML_SCHEMAS_ENABLED)
840      /define XML_TESTVAL
841      /endif
842      /if defined(XML_TESTVAL)
843     d xmlNewProp      pr                  extproc('xmlNewProp')
844     d                                     like(xmlAttrPtr)
845     d  node                               value like(xmlNodePtr)
846     d  name                           *   value options(*string)               const xmlChar *
847     d  value                          *   value options(*string)               const xmlChar *
848
849      /undefine XML_TESTVAL
850      /endif
851
852     d xmlNewNsProp    pr                  extproc('xmlNewNsProp')
853     d                                     like(xmlAttrPtr)
854     d  node                               value like(xmlNodePtr)
855     d  ns                                 value like(xmlNsPtr)
856     d  name                           *   value options(*string)               const xmlChar *
857     d  value                          *   value options(*string)               const xmlChar *
858
859     d xmlNewNsPropEatName...
860     d                 pr                  extproc('xmlNewNsPropEatName')
861     d                                     like(xmlAttrPtr)
862     d  node                               value like(xmlNodePtr)
863     d  ns                                 value like(xmlNsPtr)
864     d  name                           *   value                                xmlChar *
865     d  value                          *   value options(*string)               const xmlChar *
866
867     d xmlFreePropList...
868     d                 pr                  extproc('xmlFreePropList')
869     d  cur                                value like(xmlAttrPtr)
870
871     d xmlFreeProp     pr                  extproc('xmlFreeProp')
872     d  cur                                value like(xmlAttrPtr)
873
874     d xmlCopyProp     pr                  extproc('xmlCopyProp')
875     d                                     like(xmlAttrPtr)
876     d  target                             value like(xmlNodePtr)
877     d  cur                                value like(xmlAttrPtr)
878
879     d xmlCopyPropList...
880     d                 pr                  extproc('xmlCopyPropList')
881     d                                     like(xmlAttrPtr)
882     d  target                             value like(xmlNodePtr)
883     d  cur                                value like(xmlAttrPtr)
884
885      /if defined(LIBXML_TREE_ENABLED)
886     d xmlCopyDtd      pr                  extproc('xmlCopyDtd')
887     d                                     like(xmlDtdPtr)
888     d  dtd                                value like(xmlDtdPtr)
889      /endif                                                                    LIBXML_TREE_ENABLED
890
891      /if defined(LIBXML_TREE_ENABLED)
892      /define XML_TESTVAL
893      /elseif defined(LIBXML_SCHEMAS_ENABLED)
894      /define XML_TESTVAL
895      /endif
896      /if defined(XML_TESTVAL)
897     d xmlCopyDoc      pr                  extproc('xmlCopyDoc')
898     d                                     like(xmlDocPtr)
899     d  doc                                value like(xmlDocPtr)
900     d  recursive                          value like(xmlCint)
901
902      /undefine XML_TESTVAL
903      /endif
904
905      * Creating new nodes.
906
907     d xmlNewDocNode   pr                  extproc('xmlNewDocNode')
908     d                                     like(xmlNodePtr)
909     d  doc                                value like(xmlDocPtr)
910     d  ns                                 value like(xmlNsPtr)
911     d  name                           *   value options(*string)               const xmlChar *
912     d  content                        *   value options(*string)               const xmlChar *
913
914     d xmlNewDocNodeEatName...
915     d                 pr                  extproc('xmlNewDocNodeEatName')
916     d                                     like(xmlNodePtr)
917     d  doc                                value like(xmlDocPtr)
918     d  ns                                 value like(xmlNsPtr)
919     d  name                           *   value                                xmlChar *
920     d  content                        *   value options(*string)               const xmlChar *
921
922     d xmlNewNode      pr                  extproc('xmlNewNode')
923     d                                     like(xmlNodePtr)
924     d  ns                                 value like(xmlNsPtr)
925     d  name                           *   value options(*string)               const xmlChar *
926
927     d xmlNewNodeEatName...
928     d                 pr                  extproc('xmlNewNodeEatName')
929     d                                     like(xmlNodePtr)
930     d  ns                                 value like(xmlNsPtr)
931     d  name                           *   value                                xmlChar *
932
933      /if defined(LIBXML_TREE_ENABLED)
934      /define XML_TESTVAL
935      /elseif defined(LIBXML_SCHEMAS_ENABLED)
936      /define XML_TESTVAL
937      /endif
938      /if defined(XML_TESTVAL)
939     d xmlNewChild     pr                  extproc('xmlNewChild')
940     d                                     like(xmlNodePtr)
941     d  parent                             value like(xmlNodePtr)
942     d  ns                                 value like(xmlNsPtr)
943     d  name                           *   value options(*string)               const xmlChar *
944     d  content                        *   value options(*string)               const xmlChar *
945
946      /undefine XML_TESTVAL
947      /endif
948
949     d xmlNewDocText   pr                  extproc('xmlNewDocText')
950     d                                     like(xmlNodePtr)
951     d  doc                                value like(xmlDocPtr)
952     d  content                        *   value options(*string)               const xmlChar *
953
954     d xmlNewText      pr                  extproc('xmlNewText')
955     d                                     like(xmlNodePtr)
956     d  content                        *   value options(*string)               const xmlChar *
957
958     d xmlNewDocPI     pr                  extproc('xmlNewDocPI')
959     d                                     like(xmlNodePtr)
960     d  doc                                value like(xmlDocPtr)
961     d  name                           *   value options(*string)               const xmlChar *
962     d  content                        *   value options(*string)               const xmlChar *
963
964     d xmlNewPI        pr                  extproc('xmlNewPI')
965     d                                     like(xmlNodePtr)
966     d  name                           *   value options(*string)               const xmlChar *
967     d  content                        *   value options(*string)               const xmlChar *
968
969     d xmlNewDocTextLen...
970     d                 pr                  extproc('xmlNewDocTextLen')
971     d                                     like(xmlNodePtr)
972     d  doc                                value like(xmlDocPtr)
973     d  content                        *   value options(*string)               const xmlChar *
974     d  len                                value like(xmlCint)
975
976     d xmlNewTextLen   pr                  extproc('xmlNewTextLen')
977     d                                     like(xmlNodePtr)
978     d  content                        *   value options(*string)               const xmlChar *
979     d  len                                value like(xmlCint)
980
981     d xmlNewDocComment...
982     d                 pr                  extproc('xmlNewDocComment')
983     d                                     like(xmlNodePtr)
984     d  doc                                value like(xmlDocPtr)
985     d  content                        *   value options(*string)               const xmlChar *
986
987     d xmlNewComment   pr                  extproc('xmlNewComment')
988     d                                     like(xmlNodePtr)
989     d  content                        *   value options(*string)               const xmlChar *
990
991     d xmlNewCDataBlock...
992     d                 pr                  extproc('xmlNewCDataBlock')
993     d                                     like(xmlNodePtr)
994     d  doc                                value like(xmlDocPtr)
995     d  content                        *   value options(*string)               const xmlChar *
996     d  len                                value like(xmlCint)
997
998     d xmlNewCharRef   pr                  extproc('xmlNewCharRef')
999     d                                     like(xmlNodePtr)
1000     d  doc                                value like(xmlDocPtr)
1001     d  name                           *   value options(*string)               const xmlChar *
1002
1003     d xmlNewReference...
1004     d                 pr                  extproc('xmlNewReference')
1005     d                                     like(xmlNodePtr)
1006     d  doc                                value like(xmlDocPtr)
1007     d  name                           *   value options(*string)               const xmlChar *
1008
1009     d xmlCopyNode     pr                  extproc('xmlCopyNode')
1010     d                                     like(xmlNodePtr)
1011     d  node                               value like(xmlNodePtr)
1012     d  recursive                          value like(xmlCint)
1013
1014     d xmlDocCopyNode  pr                  extproc('xmlDocCopyNode')
1015     d                                     like(xmlNodePtr)
1016     d  node                               value like(xmlNodePtr)
1017     d  doc                                value like(xmlDocPtr)
1018     d  recursive                          value like(xmlCint)
1019
1020     d xmlDocCopyNodeList...
1021     d                 pr                  extproc('xmlDocCopyNodeList')
1022     d                                     like(xmlNodePtr)
1023     d  doc                                value like(xmlDocPtr)
1024     d  node                               value like(xmlNodePtr)
1025
1026     d xmlCopyNodeList...
1027     d                 pr                  extproc('xmlCopyNodeList')
1028     d                                     like(xmlNodePtr)
1029     d  node                               value like(xmlNodePtr)
1030
1031      /if defined(LIBXML_TREE_ENABLED)
1032     d xmlNewTextChild...
1033     d                 pr                  extproc('xmlNewTextChild')
1034     d                                     like(xmlNodePtr)
1035     d  parent                             value like(xmlNodePtr)
1036     d  ns                                 value like(xmlNsPtr)
1037     d  name                           *   value options(*string)               const xmlChar *
1038     d  content                        *   value options(*string)               const xmlChar *
1039
1040     d xmlNewDocRawNode...
1041     d                 pr                  extproc('xmlNewDocRawNode')
1042     d                                     like(xmlNodePtr)
1043     d  doc                                value like(xmlDocPtr)
1044     d  ns                                 value like(xmlNsPtr)
1045     d  name                           *   value options(*string)               const xmlChar *
1046     d  content                        *   value options(*string)               const xmlChar *
1047
1048     d xmlNewDocFragment...
1049     d                 pr                  extproc('xmlNewDocFragment')
1050     d                                     like(xmlNodePtr)
1051     d  doc                                value like(xmlDocPtr)
1052      /endif                                                                    LIBXML_TREE_ENABLED
1053
1054      * Navigating.
1055
1056     d xmlNewDocFragment...
1057     d xmlGetLineNo    pr                  extproc('xmlGetLineNo')
1058     d                                     like(xmlClong)
1059     d  node                               value like(xmlNodePtr)
1060
1061      /if defined(LIBXML_TREE_ENABLED)
1062      /define XML_TESTVAL
1063      /elseif defined(LIBXML_DEBUG_ENABLED)
1064      /define XML_TESTVAL
1065      /endif
1066      /if defined(XML_TESTVAL)
1067     d xmlGetNodePath  pr              *   extproc('xmlGetNodePath')            xmlChar *
1068     d  node                               value like(xmlNodePtr)
1069
1070      /undefine XML_TESTVAL
1071      /endif
1072
1073     d xmlDocGetRootElement...
1074     d                 pr                  extproc('xmlDocGetRootElement')
1075     d                                     like(xmlNodePtr)
1076     d  doc                                value like(xmlDocPtr)
1077
1078     d xmlGetLastChild...
1079     d                 pr                  extproc('xmlGetLastChild')
1080     d                                     like(xmlNodePtr)
1081     d  parent                             value like(xmlNodePtr)
1082
1083     d xmlNodeIsText   pr                  extproc('xmlNodeIsText')
1084     d                                     like(xmlCint)
1085     d  node                               value like(xmlNodePtr)
1086
1087     d xmlIsBlankNode  pr                  extproc('xmlIsBlankNode')
1088     d                                     like(xmlCint)
1089     d  node                               value like(xmlNodePtr)
1090
1091      * Changing the structure.
1092
1093      /if defined(LIBXML_TREE_ENABLED)
1094      /define XML_TESTVAL
1095      /elseif defined(LIBXML_WRITER_ENABLED)
1096      /define XML_TESTVAL
1097      /endif
1098      /if defined(XML_TESTVAL)
1099     d xmlDocSetRootElement...
1100     d                 pr                  extproc('xmlDocSetRootElement')
1101     d                                     like(xmlNodePtr)
1102     d  doc                                value like(xmlDocPtr)
1103     d  root                               value like(xmlNodePtr)
1104
1105      /undefine XML_TESTVAL
1106      /endif
1107
1108      /if defined(LIBXML_TREE_ENABLED)
1109     d xmlNodeSetName  pr                  extproc('xmlNodeSetName')
1110     d  node                               value like(xmlNodePtr)
1111     d  name                           *   value options(*string)               const xmlChar *
1112      /endif                                                                    LIBXML_TREE_ENABLED
1113
1114     d xmlAddChild     pr                  extproc('xmlAddChild')
1115     d                                     like(xmlNodePtr)
1116     d  parent                             value like(xmlNodePtr)
1117     d  cur                                value like(xmlNodePtr)
1118
1119     d xmlAddChildList...
1120     d                 pr                  extproc('xmlAddChildList')
1121     d                                     like(xmlNodePtr)
1122     d  parent                             value like(xmlNodePtr)
1123     d  cur                                value like(xmlNodePtr)
1124
1125      /if defined(LIBXML_TREE_ENABLED)
1126      /define XML_TESTVAL
1127      /elseif defined(LIBXML_WRITER_ENABLED)
1128      /define XML_TESTVAL
1129      /endif
1130      /if defined(XML_TESTVAL)
1131     d xmlReplaceNode  pr                  extproc('xmlReplaceNode')
1132     d                                     like(xmlNodePtr)
1133     d  old                                value like(xmlNodePtr)
1134     d  cur                                value like(xmlNodePtr)
1135
1136      /undefine XML_TESTVAL
1137      /endif
1138
1139      /if defined(LIBXML_TREE_ENABLED)
1140      /define XML_TESTVAL
1141      /elseif defined(LIBXML_HTML_ENABLED)
1142      /define XML_TESTVAL
1143      /elseif defined(LIBXML_SCHEMAS_ENABLED)
1144      /define XML_TESTVAL
1145      /endif
1146      /if defined(XML_TESTVAL)
1147     d xmlAddPrevSibling...
1148     d                 pr                  extproc('xmlAddPrevSibling')
1149     d                                     like(xmlNodePtr)
1150     d  cur                                value like(xmlNodePtr)
1151     d  elem                               value like(xmlNodePtr)
1152
1153      /undefine XML_TESTVAL
1154      /endif
1155
1156     d xmlAddSibling   pr                  extproc('xmlAddSibling')
1157     d                                     like(xmlNodePtr)
1158     d  cur                                value like(xmlNodePtr)
1159     d  elem                               value like(xmlNodePtr)
1160
1161     d xmlAddNextSibling...
1162     d                 pr                  extproc('xmlAddNextSibling')
1163     d                                     like(xmlNodePtr)
1164     d  cur                                value like(xmlNodePtr)
1165     d  elem                               value like(xmlNodePtr)
1166
1167     d xmlUnlinkNode   pr                  extproc('xmlUnlinkNode')
1168     d  cur                                value like(xmlNodePtr)
1169
1170     d xmlTextMerge    pr                  extproc('xmlTextMerge')
1171     d                                     like(xmlNodePtr)
1172     d  first                              value like(xmlNodePtr)
1173     d  second                             value like(xmlNodePtr)
1174
1175     d xmlTextConcat   pr                  extproc('xmlTextConcat')
1176     d                                     like(xmlCint)
1177     d  node                               value like(xmlNodePtr)
1178     d  content                        *   value options(*string)               const xmlChar *
1179     d  len                                value like(xmlCint)
1180
1181     d xmlFreeNodeList...
1182     d                 pr                  extproc('xmlFreeNodeList')
1183     d  cur                                value like(xmlNodePtr)
1184
1185     d xmlFreeNode     pr                  extproc('xmlFreeNode')
1186     d  cur                                value like(xmlNodePtr)
1187
1188     d xmlSetTreeDoc   pr                  extproc('xmlSetTreeDoc')
1189     d  tree                               value like(xmlNodePtr)
1190     d  doc                                value like(xmlDocPtr)
1191
1192     d xmlSetListDoc   pr                  extproc('xmlSetListDoc')
1193     d  list                               value like(xmlNodePtr)
1194     d  doc                                value like(xmlDocPtr)
1195
1196      * Namespaces.
1197
1198     d xmlSearchNs     pr                  extproc('xmlSearchNs')
1199     d                                     like(xmlNsPtr)
1200     d  doc                                value like(xmlDocPtr)
1201     d  node                               value like(xmlNodePtr)
1202     d  nameSpace                      *   value options(*string)               const xmlChar *
1203
1204     d xmlSearchNsByHref...
1205     d                 pr                  extproc('xmlSearchNsByHref')
1206     d                                     like(xmlNsPtr)
1207     d  doc                                value like(xmlDocPtr)
1208     d  node                               value like(xmlNodePtr)
1209     d  href                           *   value options(*string)               const xmlChar *
1210
1211      /if defined(LIBXML_TREE_ENABLED)
1212      /define XML_TESTVAL
1213      /elseif defined(LIBXML_XPATH_ENABLED)
1214      /define XML_TESTVAL
1215      /elseif defined(LIBXML_SCHEMAS_ENABLED)
1216      /define XML_TESTVAL
1217      /endif
1218      /if defined(XML_TESTVAL)
1219     d xmlGetNsList    pr              *   extproc('xmlGetNsList')              xmlNsPtr *
1220     d  doc                                value like(xmlDocPtr)
1221     d  node                               value like(xmlNodePtr)
1222
1223      /undefine XML_TESTVAL
1224      /endif
1225
1226     d xmlSetNs        pr                  extproc('xmlSetNs')
1227     d  node                               value like(xmlNodePtr)
1228     d  ns                                 value like(xmlNsPtr)
1229
1230     d xmlCopyNamespace...
1231     d                 pr                  extproc('xmlCopyNamespace')
1232     d                                     like(xmlNsPtr)
1233     d  cur                                value like(xmlNsPtr)
1234
1235     d xmlCopyNamespaceList...
1236     d                 pr                  extproc('xmlCopyNamespaceList')
1237     d                                     like(xmlNsPtr)
1238     d  cur                                value like(xmlNsPtr)
1239
1240      * Changing the content.
1241
1242      /if defined(LIBXML_TREE_ENABLED)
1243      /define XML_TESTVAL
1244      /elseif defined(LIBXML_XINCLUDE_ENABLED)
1245      /define XML_TESTVAL
1246      /elseif defined(LIBXML_SCHEMAS_ENABLED)
1247      /define XML_TESTVAL
1248      /elseif defined(LIBXML_HTML_ENABLED)
1249      /define XML_TESTVAL
1250      /endif
1251      /if defined(XML_TESTVAL)
1252     d xmlSetProp      pr                  extproc('xmlSetProp')
1253     d                                     like(xmlAttrPtr)
1254     d  node                               value like(xmlNodePtr)
1255     d  name                           *   value options(*string)               const xmlChar *
1256     d  value                          *   value options(*string)               const xmlChar *
1257
1258     d xmlSetNsProp    pr                  extproc('xmlSetNsProp')
1259     d                                     like(xmlAttrPtr)
1260     d  node                               value like(xmlNodePtr)
1261     d  ns                                 value like(xmlNsPtr)
1262     d  name                           *   value options(*string)               const xmlChar *
1263     d  value                          *   value options(*string)               const xmlChar *
1264
1265      /undefine XML_TESTVAL
1266      /endif
1267
1268     d xmlGetNoNsProp  pr              *   extproc('xmlGetNoNsProp')            xmlChar *
1269     d  node                               value like(xmlNodePtr)
1270     d  name                           *   value options(*string)               const xmlChar *
1271
1272     d xmlGetProp      pr              *   extproc('xmlGetProp')                xmlChar *
1273     d  node                               value like(xmlNodePtr)
1274     d  name                           *   value options(*string)               const xmlChar *
1275
1276     d xmlHasProp      pr                  extproc('xmlHasProp')
1277     d                                     like(xmlAttrPtr)
1278     d  node                               value like(xmlNodePtr)
1279     d  name                           *   value options(*string)               const xmlChar *
1280
1281     d xmlHasNsProp    pr                  extproc('xmlHasNsProp')
1282     d                                     like(xmlAttrPtr)
1283     d  node                               value like(xmlNodePtr)
1284     d  name                           *   value options(*string)               const xmlChar *
1285     d  nameSpace                      *   value options(*string)               const xmlChar *
1286
1287     d xmlGetNsProp    pr              *   extproc('xmlGetNsProp')              xmlChar *
1288     d  node                               value like(xmlNodePtr)
1289     d  name                           *   value options(*string)               const xmlChar *
1290     d  nameSpace                      *   value options(*string)               const xmlChar *
1291
1292     d xmlStringGetNodeList...
1293     d                 pr                  extproc('xmlStringGetNodeList')
1294     d                                     like(xmlNodePtr)
1295     d  doc                                value like(xmlDocPtr)
1296     d  value                          *   value options(*string)               const xmlChar *
1297
1298     d xmlStringLenGetNodeList...
1299     d                 pr                  extproc('xmlStringLenGetNodeList')
1300     d                                     like(xmlNodePtr)
1301     d  doc                                value like(xmlDocPtr)
1302     d  value                          *   value options(*string)               const xmlChar *
1303     d  len                                value like(xmlCint)
1304
1305     d xmlNodeListGetString...
1306     d                 pr              *   extproc('xmlNodeListGetString')      xmlChar *
1307     d  doc                                value like(xmlDocPtr)
1308     d  list                               value like(xmlNodePtr)
1309     d  inLine                             value like(xmlCint)
1310
1311      /if defined(LIBXML_TREE_ENABLED)
1312     d xmlNodeListGetRawString...
1313     d                 pr              *   extproc('xmlNodeListGetRawString')   xmlChar *
1314     d  doc                                value like(xmlDocPtr)
1315     d  list                               value like(xmlNodePtr)
1316     d  inLine                             value like(xmlCint)
1317      /endif                                                                    LIBXML_TREE_ENABLED
1318
1319     d xmlNodeSetContent...
1320     d                 pr                  extproc('xmlNodeSetContent')
1321     d  cur                                value like(xmlNodePtr)
1322     d  content                        *   value options(*string)               const xmlChar *
1323
1324      /if defined(LIBXML_TREE_ENABLED)
1325     d xmlNodeSetContentLen...
1326     d                 pr                  extproc('xmlNodeSetContentLen')
1327     d  cur                                value like(xmlNodePtr)
1328     d  content                        *   value options(*string)               const xmlChar *
1329     d  len                                value like(xmlCint)
1330      /endif                                                                    LIBXML_TREE_ENABLED
1331
1332     d xmlNodeAddContent...
1333     d                 pr                  extproc('xmlNodeAddContent')
1334     d  cur                                value like(xmlNodePtr)
1335     d  content                        *   value options(*string)               const xmlChar *
1336
1337     d xmlNodeAddContentLen...
1338     d                 pr                  extproc('xmlNodeAddContentLen')
1339     d  cur                                value like(xmlNodePtr)
1340     d  content                        *   value options(*string)               const xmlChar *
1341     d  len                                value like(xmlCint)
1342
1343     d xmlNodeGetContent...
1344     d                 pr              *   extproc('xmlNodeGetContent')         xmlChar *
1345     d  cur                                value like(xmlNodePtr)
1346
1347     d xmlNodeBufGetContent...
1348     d                 pr                  extproc('xmlNodeBufGetContent')
1349     d                                     like(xmlCint)
1350     d  buffer                             value like(xmlBufferPtr)
1351     d  cur                                value like(xmlNodePtr)
1352
1353     d xmlBufGetNodeContent...
1354     d                 pr                  extproc('xmlBufGetNodeContent')
1355     d                                     like(xmlCint)
1356     d  buf                                value like(xmlBufPtr)
1357     d  cur                                value like(xmlNodePtr)
1358
1359     d xmlNodeGetLang  pr              *   extproc('xmlNodeGetLang')            xmlChar *
1360     d  cur                                value like(xmlNodePtr)
1361
1362     d xmlNodeGetSpacePreserve...
1363     d                 pr                  extproc('xmlNodeGetSpacePreserve')
1364     d                                     like(xmlCint)
1365     d  cur                                value like(xmlNodePtr)
1366
1367      /if defined(LIBXML_TREE_ENABLED)
1368     d xmlNodeSetLang  pr                  extproc('xmlNodeSetLang')
1369     d  cur                                value like(xmlNodePtr)
1370     d  lang                           *   value options(*string)               const xmlChar *
1371
1372     d xmlNodeSetSpacePreserve...
1373     d                 pr                  extproc('xmlNodeSetSpacePreserve')
1374     d  cur                                value like(xmlNodePtr)
1375     d  val                                value like(xmlCint)
1376      /endif                                                                    LIBXML_TREE_ENABLED
1377
1378     d xmlNodeGetBase  pr              *   extproc('xmlNodeGetBase')            xmlChar *
1379     d  doc                                value like(xmlDocPtr)
1380     d  cur                                value like(xmlNodePtr)
1381
1382      /if defined(LIBXML_TREE_ENABLED)
1383      /define XML_TESTVAL
1384      /elseif defined(LIBXML_XINCLUDE_ENABLED)
1385      /define XML_TESTVAL
1386      /endif
1387      /if defined(XML_TESTVAL)
1388     d xmlNodeSetBase  pr                  extproc('xmlNodeSetBase')
1389     d  node                               value like(xmlNodePtr)
1390     d  uri                            *   value options(*string)               const xmlChar *
1391
1392      /undefine XML_TESTVAL
1393      /endif
1394
1395      * Removing content.
1396
1397     d xmlRemoveProp   pr                  extproc('xmlRemoveProp')
1398     d                                     like(xmlCint)
1399     d  cur                                value like(xmlAttrPtr)
1400
1401      /if defined(LIBXML_TREE_ENABLED)
1402      /define XML_TESTVAL
1403      /elseif defined(LIBXML_SCHEMAS_ENABLED)
1404      /define XML_TESTVAL
1405      /endif
1406      /if defined(XML_TESTVAL)
1407     d xmlUnsetNsProp  pr                  extproc('xmlUnsetNsProp')
1408     d                                     like(xmlCint)
1409     d  node                               value like(xmlNodePtr)
1410     d  ns                                 value like(xmlNsPtr)
1411     d  name                           *   value options(*string)               const xmlChar *
1412
1413     d xmlUnsetProp    pr                  extproc('xmlUnsetProp')
1414     d                                     like(xmlCint)
1415     d  node                               value like(xmlNodePtr)
1416     d  name                           *   value options(*string)               const xmlChar *
1417
1418      /undefine XML_TESTVAL
1419      /endif
1420
1421      * Internal, don't use.
1422
1423     d xmlBufferWriteCharacter...                                               Warning: renamed
1424     d                 pr                  extproc('xmlBufferWriteCHAR')
1425     d  buf                                value like(xmlBufferPtr)
1426     d  string                         *   value options(*string)               const xmlChar *
1427
1428     d xmlBufferWriteChar...
1429     d                 pr                  extproc('xmlBufferWriteChar')
1430     d  buf                                value like(xmlBufferPtr)
1431     d  string                         *   value options(*string)               const xmlChar *
1432
1433     d xmlBufferWriteQuotedString...
1434     d                 pr                  extproc('xmlBufferWriteQuotedString')
1435     d  buf                                value like(xmlBufferPtr)
1436     d  string                         *   value options(*string)               const xmlChar *
1437
1438      /if defined(LIBXML_OUTPUT_ENABLED)
1439     d xmlAttrSerializeTxtContent...
1440     d                 pr                  extproc('xmlAttrSerializeTxtContent')
1441     d  buf                                value like(xmlBufferPtr)
1442     d  attr                               value like(xmlAttrPtr)
1443     d  string                         *   value options(*string)               const xmlChar *
1444      /endif                                                                    LIBXML_OUTPUT_ENABLD
1445
1446      /if defined(LIBXML_TREE_ENABLED)
1447
1448      * Namespace handling.
1449
1450     d xmlReconciliateNs...
1451     d                 pr                  extproc('xmlReconciliateNs')
1452     d                                     like(xmlCint)
1453     d  doc                                value like(xmlDocPtr)
1454     d  tree                               value like(xmlNodePtr)
1455      /endif
1456
1457      /if defined(LIBXML_OUTPUT_ENABLED)
1458
1459      * Saving.
1460
1461     d xmlDocDumpFormatMemory...
1462     d                 pr                  extproc('xmlDocDumpFormatMemory')
1463     d  cur                                value like(xmlDocPtr)
1464     d  mem                            *                                        xmlChar * (*)
1465     d  size                               like(xmlCint)
1466     d  format                             value like(xmlCint)
1467
1468     d xmlDocDumpMemory...
1469     d                 pr                  extproc('xmlDocDumpMemory')
1470     d  cur                                value like(xmlDocPtr)
1471     d  mem                            *                                        xmlChar * (*)
1472     d  size                               like(xmlCint)
1473
1474     d xmlDocDumpMemoryEnc...
1475     d                 pr                  extproc('xmlDocDumpMemoryEnc')
1476     d  out_doc                            value like(xmlDocPtr)
1477     d  doc_txt_ptr                    *                                        xmlChar * (*)
1478     d  doc_txt_len                        like(xmlCint)
1479     d  txt_encoding                   *   value options(*string)               const char *
1480
1481     d xmlDocDumpFormatMemoryEnc...
1482     d                 pr                  extproc('xmlDocDumpFormatMemoryEnc')
1483     d  out_doc                            value like(xmlDocPtr)
1484     d  doc_txt_ptr                    *                                        xmlChar * (*)
1485     d  doc_txt_len                        like(xmlCint)
1486     d  txt_encoding                   *   value options(*string)               const char *
1487     d  format                             value like(xmlCint)
1488
1489     d xmlDocFormatDump...
1490     d                 pr                  extproc('xmlDocFormatDump')
1491     d                                     like(xmlCint)
1492     d  f                              *   value                                FILE *
1493     d  cur                                value like(xmlDocPtr)
1494     d  format                             value like(xmlCint)
1495
1496     d xmlDocDump      pr                  extproc('xmlDocDump')
1497     d                                     like(xmlCint)
1498     d  f                              *   value                                FILE *
1499     d  cur                                value like(xmlDocPtr)
1500
1501     d xmlElemDump     pr                  extproc('xmlElemDump')
1502     d  f                              *   value                                FILE *
1503     d  doc                                value like(xmlDocPtr)
1504     d  cur                                value like(xmlNodePtr)
1505
1506     d xmlSaveFile     pr                  extproc('xmlSaveFile')
1507     d                                     like(xmlCint)
1508     d  filename                       *   value options(*string)               const char *
1509     d  cur                                value like(xmlDocPtr)
1510
1511     d xmlSaveFormatFile...
1512     d                 pr                  extproc('xmlSaveFormatFile')
1513     d                                     like(xmlCint)
1514     d  filename                       *   value options(*string)               const char *
1515     d  cur                                value like(xmlDocPtr)
1516     d  format                             value like(xmlCint)
1517
1518     d xmlBufNodeDump  pr                  extproc('xmlBufNodeDump')
1519     d                                     like(xmlCsize_t)
1520     d  buf                                value like(xmlBufPtr)
1521     d  doc                                value like(xmlDocPtr)
1522     d  cur                                value like(xmlNodePtr)
1523     d  level                              value like(xmlCint)
1524     d  format                             value like(xmlCint)
1525
1526     d xmlNodeDump     pr                  extproc('xmlNodeDump')
1527     d                                     like(xmlCint)
1528     d  buf                                value like(xmlBufferPtr)
1529     d  doc                                value like(xmlDocPtr)
1530     d  cur                                value like(xmlNodePtr)
1531     d  level                              value like(xmlCint)
1532     d  format                             value like(xmlCint)
1533
1534     d xmlSaveFileTo   pr                  extproc('xmlSaveFileTo')
1535     d                                     like(xmlCint)
1536     d  buf                                value like(xmlOutputBufferPtr)
1537     d  cur                                value like(xmlDocPtr)
1538     d  encoding                       *   value options(*string)               const char *
1539
1540     d xmlSaveFormatFileTo...
1541     d                 pr                  extproc('xmlSaveFormatFileTo')
1542     d                                     like(xmlCint)
1543     d  buf                                value like(xmlOutputBufferPtr)
1544     d  cur                                value like(xmlDocPtr)
1545     d  encoding                       *   value options(*string)               const char *
1546     d  format                             value like(xmlCint)
1547
1548     d xmlNodeDumpOutput...
1549     d                 pr                  extproc('xmlNodeDumpOutput')
1550     d  buf                                value like(xmlOutputBufferPtr)
1551     d  doc                                value like(xmlDocPtr)
1552     d  cur                                value like(xmlNodePtr)
1553     d  level                              value like(xmlCint)
1554     d  format                             value like(xmlCint)
1555     d  encoding                       *   value options(*string)               const char *
1556
1557     d xmlSaveFormatFileEnc...
1558     d                 pr                  extproc('xmlSaveFormatFileEnc')
1559     d                                     like(xmlCint)
1560     d  filename                       *   value options(*string)               const char *
1561     d  cur                                value like(xmlDocPtr)
1562     d  encoding                       *   value options(*string)               const char *
1563     d  format                             value like(xmlCint)
1564
1565     d xmlSaveFileEnc  pr                  extproc('xmlSaveFileEnc')
1566     d                                     like(xmlCint)
1567     d  filename                       *   value options(*string)               const char *
1568     d  cur                                value like(xmlDocPtr)
1569     d  encoding                       *   value options(*string)               const char *
1570      /endif                                                                    LIBXML_OUTPUT_ENABLD
1571
1572      * XHTML
1573
1574     d xmlIsXHTML      pr                  extproc('xmlIsXHTML')
1575     d                                     like(xmlCint)
1576     d  systemID                       *   value options(*string)               const xmlChar *
1577     d  publicID                       *   value options(*string)               const xmlChar *
1578
1579      * Compression.
1580
1581     d xmlGetDocCompressMode...
1582     d                 pr                  extproc('xmlGetDocCompressMode')
1583     d                                     like(xmlCint)
1584     d  doc                                value like(xmlDocPtr)
1585
1586     d xmlSetDocCompressMode...
1587     d                 pr                  extproc('xmlSetDocCompressMode')
1588     d  doc                                value like(xmlDocPtr)
1589     d  mode                               value like(xmlCint)
1590
1591     d xmlGetCompressMode...
1592     d                 pr                  extproc('xmlGetCompressMode')
1593     d                                     like(xmlCint)
1594
1595     d xmlSetCompressMode...
1596     d                 pr                  extproc('xmlSetCompressMode')
1597     d  mode                               value like(xmlCint)
1598
1599      * DOM-wrapper helper functions.
1600
1601     d xmlDOMWrapNewCtxt...
1602     d                 pr                  extproc('xmlDOMWrapNewCtxt')
1603     d                                     like(xmlDOMWrapCtxtPtr)
1604
1605     d xmlDOMWrapFreeCtxt...
1606     d                 pr                  extproc('xmlDOMWrapFreeCtxt')
1607     d  ctxt                               value like(xmlDOMWrapCtxtPtr)
1608
1609     d xmlDOMWrapReconcileNamespaces...
1610     d                 pr                  extproc(
1611     d                                      'xmlDOMWrapReconcileNamespaces')
1612     d                                     like(xmlCint)
1613     d  ctxt                               value like(xmlDOMWrapCtxtPtr)
1614     d  elem                               value like(xmlNodePtr)
1615     d  options                            value like(xmlCint)
1616
1617     d xmlDOMWrapAdoptNode...
1618     d                 pr                  extproc('xmlDOMWrapAdoptNode')
1619     d                                     like(xmlCint)
1620     d  ctxt                               value like(xmlDOMWrapCtxtPtr)
1621     d  sourceDoc                          value like(xmlDocPtr)
1622     d  node                               value like(xmlNodePtr)
1623     d  destDoc                            value like(xmlDocPtr)
1624     d  destParent                         value like(xmlNodePtr)
1625     d  options                            value like(xmlCint)
1626
1627     d xmlDOMWrapRemoveNode...
1628     d                 pr                  extproc('xmlDOMWrapRemoveNode')
1629     d                                     like(xmlCint)
1630     d  ctxt                               value like(xmlDOMWrapCtxtPtr)
1631     d  doc                                value like(xmlDocPtr)
1632     d  node                               value like(xmlNodePtr)
1633     d  options                            value like(xmlCint)
1634
1635     d xmlDOMWrapCloneNode...
1636     d                 pr                  extproc('xmlDOMWrapCloneNode')
1637     d                                     like(xmlCint)
1638     d  ctxt                               value like(xmlDOMWrapCtxtPtr)
1639     d  sourceDoc                          value like(xmlDocPtr)
1640     d  node                               value like(xmlNodePtr)
1641     d  clonedNode                         like(xmlNodePtr)
1642     d  destDoc                            value like(xmlDocPtr)
1643     d  destParent                         value like(xmlNodePtr)
1644     d  options                            value like(xmlCint)
1645
1646      /if defined(LIBXML_TREE_ENABLED)
1647
1648      * 5 interfaces from DOM ElementTraversal, but different in entities
1649      * traversal.
1650
1651     d xmlChildElementCount...
1652     d                 pr                  extproc('xmlChildElementCount')
1653     d                                     like(xmlClong)
1654     d  parent                             value like(xmlNodePtr)
1655
1656     d xmlNextElementSibling...
1657     d                 pr                  extproc('xmlNextElementSibling')
1658     d                                     like(xmlNodePtr)
1659     d  node                               value like(xmlNodePtr)
1660
1661     d xmlFirstElementChild...
1662     d                 pr                  extproc('xmlFirstElementChild')
1663     d                                     like(xmlNodePtr)
1664     d  parent                             value like(xmlNodePtr)
1665
1666     d xmlLastElementChild...
1667     d                 pr                  extproc('xmlLastElementChild')
1668     d                                     like(xmlNodePtr)
1669     d  parent                             value like(xmlNodePtr)
1670
1671     d xmlPreviousElementSibling...
1672     d                 pr                  extproc('xmlPreviousElementSibling')
1673     d                                     like(xmlNodePtr)
1674     d  node                               value like(xmlNodePtr)
1675      /endif
1676
1677      /if not defined(XML_PARSER_H__)
1678      /include "libxmlrpg/xmlmemory"
1679      /endif
1680
1681      /endif                                                                    XML_TREE_H__
1682