@img/sharp-libvips-dev 1.2.2-rc.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/include/expat.h +37 -24
  2. package/include/expat_config.h +9 -9
  3. package/include/expat_external.h +62 -61
  4. package/include/libxml2/libxml/HTMLparser.h +159 -101
  5. package/include/libxml2/libxml/HTMLtree.h +49 -74
  6. package/include/libxml2/libxml/SAX.h +8 -5
  7. package/include/libxml2/libxml/SAX2.h +18 -15
  8. package/include/libxml2/libxml/c14n.h +30 -29
  9. package/include/libxml2/libxml/catalog.h +47 -22
  10. package/include/libxml2/libxml/chvalid.h +52 -64
  11. package/include/libxml2/libxml/debugXML.h +18 -15
  12. package/include/libxml2/libxml/dict.h +22 -19
  13. package/include/libxml2/libxml/encoding.h +144 -111
  14. package/include/libxml2/libxml/entities.h +95 -75
  15. package/include/libxml2/libxml/globals.h +7 -4
  16. package/include/libxml2/libxml/hash.h +61 -64
  17. package/include/libxml2/libxml/list.h +59 -51
  18. package/include/libxml2/libxml/nanoftp.h +7 -4
  19. package/include/libxml2/libxml/nanohttp.h +10 -7
  20. package/include/libxml2/libxml/parser.h +1091 -563
  21. package/include/libxml2/libxml/parserInternals.h +167 -214
  22. package/include/libxml2/libxml/pattern.h +29 -31
  23. package/include/libxml2/libxml/relaxng.h +59 -58
  24. package/include/libxml2/libxml/schemasInternals.h +114 -268
  25. package/include/libxml2/libxml/schematron.h +59 -51
  26. package/include/libxml2/libxml/threads.h +19 -20
  27. package/include/libxml2/libxml/tree.h +873 -623
  28. package/include/libxml2/libxml/uri.h +21 -22
  29. package/include/libxml2/libxml/valid.h +170 -199
  30. package/include/libxml2/libxml/xinclude.h +24 -43
  31. package/include/libxml2/libxml/xlink.h +55 -51
  32. package/include/libxml2/libxml/xmlIO.h +133 -151
  33. package/include/libxml2/libxml/xmlautomata.h +66 -65
  34. package/include/libxml2/libxml/xmlerror.h +197 -94
  35. package/include/libxml2/libxml/xmlexports.h +17 -19
  36. package/include/libxml2/libxml/xmlmemory.h +44 -29
  37. package/include/libxml2/libxml/xmlmodule.h +14 -15
  38. package/include/libxml2/libxml/xmlreader.h +137 -131
  39. package/include/libxml2/libxml/xmlregexp.h +28 -31
  40. package/include/libxml2/libxml/xmlsave.h +81 -36
  41. package/include/libxml2/libxml/xmlschemas.h +61 -67
  42. package/include/libxml2/libxml/xmlschemastypes.h +60 -54
  43. package/include/libxml2/libxml/xmlstring.h +8 -9
  44. package/include/libxml2/libxml/xmlunicode.h +6 -3
  45. package/include/libxml2/libxml/xmlversion.h +44 -121
  46. package/include/libxml2/libxml/xmlwriter.h +97 -97
  47. package/include/libxml2/libxml/xpath.h +235 -232
  48. package/include/libxml2/libxml/xpathInternals.h +247 -277
  49. package/include/libxml2/libxml/xpointer.h +21 -17
  50. package/package.json +1 -1
  51. package/versions.json +2 -2
@@ -1,12 +1,15 @@
1
- /*
2
- * Summary: interfaces for tree manipulation
3
- * Description: this module describes the structures found in an tree resulting
4
- * from an XML or HTML parsing, as well as the API provided for
5
- * various processing on that tree
1
+ /**
2
+ * @file
3
+ *
4
+ * @brief Document tree API
6
5
  *
7
- * Copy: See Copyright for the status of this software.
6
+ * Data structures and functions to build, modify, query and
7
+ * serialize XML and HTML document trees. Also contains the
8
+ * buffer API.
8
9
  *
9
- * Author: Daniel Veillard
10
+ * @copyright See Copyright for the status of this software.
11
+ *
12
+ * @author Daniel Veillard
10
13
  */
11
14
 
12
15
  #ifndef XML_TREE_INTERNALS
@@ -19,7 +22,9 @@
19
22
  #else /* XML_TREE_INTERNALS */
20
23
 
21
24
  #ifndef __XML_TREE_H__
25
+ /** @cond ignore */
22
26
  #define __XML_TREE_H__
27
+ /** @endcond */
23
28
 
24
29
  #include <stdio.h>
25
30
  #include <limits.h>
@@ -35,52 +40,56 @@ extern "C" {
35
40
  /*
36
41
  * Backward compatibility
37
42
  */
43
+ /** @cond ignore */
38
44
  #define xmlBufferAllocScheme XML_BUFFER_ALLOC_EXACT
39
45
  #define xmlDefaultBufferSize 4096
46
+ #define XML_GET_CONTENT(n) \
47
+ ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
48
+ #define XML_GET_LINE(n) xmlGetLineNo(n)
49
+ /** @endcond */
40
50
 
41
51
  /*
42
52
  * Some of the basic types pointer to structures:
43
53
  */
44
54
  /* xmlIO.h */
55
+ /**
56
+ * Parser input buffer
57
+ *
58
+ * This struct and all related functions should ultimately
59
+ * be removed from the public interface.
60
+ */
45
61
  typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
46
62
  typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
47
63
 
64
+ /** Output buffer */
48
65
  typedef struct _xmlOutputBuffer xmlOutputBuffer;
49
66
  typedef xmlOutputBuffer *xmlOutputBufferPtr;
50
67
 
51
68
  /* parser.h */
69
+ /** Parser input */
52
70
  typedef struct _xmlParserInput xmlParserInput;
53
71
  typedef xmlParserInput *xmlParserInputPtr;
54
72
 
73
+ /** Parser context */
55
74
  typedef struct _xmlParserCtxt xmlParserCtxt;
56
75
  typedef xmlParserCtxt *xmlParserCtxtPtr;
57
76
 
77
+ /** SAX locator */
58
78
  typedef struct _xmlSAXLocator xmlSAXLocator;
59
79
  typedef xmlSAXLocator *xmlSAXLocatorPtr;
60
80
 
81
+ /** SAX handler */
61
82
  typedef struct _xmlSAXHandler xmlSAXHandler;
62
83
  typedef xmlSAXHandler *xmlSAXHandlerPtr;
63
84
 
64
85
  /* entities.h */
86
+ /** Entity declaration */
65
87
  typedef struct _xmlEntity xmlEntity;
66
88
  typedef xmlEntity *xmlEntityPtr;
67
89
 
68
90
  /**
69
- * LIBXML_NAMESPACE_DICT:
70
- *
71
- * Defines experimental behaviour:
72
- * 1) xmlNs gets an additional field @context (a xmlDoc)
73
- * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
91
+ * Removed, buffers always use XML_BUFFER_ALLOC_IO now.
74
92
  */
75
- /* #define LIBXML_NAMESPACE_DICT */
76
-
77
- /**
78
- * xmlBufferAllocationScheme:
79
- *
80
- * A buffer allocation scheme can be defined to either match exactly the
81
- * need or double it's allocated size each time it is found too small.
82
- */
83
-
84
93
  typedef enum {
85
94
  XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */
86
95
  XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
@@ -90,18 +99,25 @@ typedef enum {
90
99
  XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */
91
100
  } xmlBufferAllocationScheme;
92
101
 
102
+ /** Buffer type */
103
+ typedef struct _xmlBuffer xmlBuffer;
104
+ typedef xmlBuffer *xmlBufferPtr;
93
105
  /**
94
- * xmlBuffer:
95
- *
96
106
  * A buffer structure, this old construct is limited to 2GB and
97
- * is being deprecated, use API with xmlBuf instead
107
+ * is being deprecated, use API with xmlBuf instead.
98
108
  */
99
- typedef struct _xmlBuffer xmlBuffer;
100
- typedef xmlBuffer *xmlBufferPtr;
101
109
  struct _xmlBuffer {
102
- /* The buffer content UTF8 */
110
+ /**
111
+ * @deprecated Use #xmlBufferContent
112
+ *
113
+ * The buffer content UTF8
114
+ */
103
115
  xmlChar *content XML_DEPRECATED_MEMBER;
104
- /* The buffer size used */
116
+ /**
117
+ * @deprecated Use #xmlBufferLength
118
+ *
119
+ * The buffer size used
120
+ */
105
121
  unsigned int use XML_DEPRECATED_MEMBER;
106
122
  /* The buffer size */
107
123
  unsigned int size XML_DEPRECATED_MEMBER;
@@ -111,35 +127,11 @@ struct _xmlBuffer {
111
127
  xmlChar *contentIO XML_DEPRECATED_MEMBER;
112
128
  };
113
129
 
114
- /**
115
- * xmlBuf:
116
- *
117
- * A buffer structure, new one, the actual structure internals are not public
118
- */
119
-
130
+ /** Buffer with 64-bit support */
120
131
  typedef struct _xmlBuf xmlBuf;
121
-
122
- /**
123
- * xmlBufPtr:
124
- *
125
- * A pointer to a buffer structure, the actual structure internals are not
126
- * public
127
- */
128
-
129
132
  typedef xmlBuf *xmlBufPtr;
130
133
 
131
- /*
132
- * A few public routines for xmlBuf. As those are expected to be used
133
- * mostly internally the bulk of the routines are internal in buf.h
134
- */
135
- XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf);
136
- XMLPUBFUN xmlChar* xmlBufEnd (xmlBufPtr buf);
137
- XMLPUBFUN size_t xmlBufUse (const xmlBufPtr buf);
138
- XMLPUBFUN size_t xmlBufShrink (xmlBufPtr buf, size_t len);
139
-
140
- /*
141
- * LIBXML2_NEW_BUFFER:
142
- *
134
+ /**
143
135
  * Macro used to express that the API use the new buffers for
144
136
  * xmlParserInputBuffer and xmlOutputBuffer. The change was
145
137
  * introduced in 2.9.0.
@@ -147,8 +139,6 @@ XMLPUBFUN size_t xmlBufShrink (xmlBufPtr buf, size_t len);
147
139
  #define LIBXML2_NEW_BUFFER
148
140
 
149
141
  /**
150
- * XML_XML_NAMESPACE:
151
- *
152
142
  * This is the namespace for the special xml: prefix predefined in the
153
143
  * XML Namespace specification.
154
144
  */
@@ -156,70 +146,166 @@ XMLPUBFUN size_t xmlBufShrink (xmlBufPtr buf, size_t len);
156
146
  (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
157
147
 
158
148
  /**
159
- * XML_XML_ID:
160
- *
161
149
  * This is the name for the special xml:id attribute
162
150
  */
163
151
  #define XML_XML_ID (const xmlChar *) "xml:id"
164
152
 
165
- /*
153
+ /**
166
154
  * The different element types carried by an XML tree.
167
155
  *
168
- * NOTE: This is synchronized with DOM Level1 values
156
+ * NOTE: This is synchronized with DOM Level 1 values.
169
157
  * See http://www.w3.org/TR/REC-DOM-Level-1/
170
158
  *
171
- * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
172
- * be deprecated to use an XML_DTD_NODE.
159
+ * Actually this had diverged a bit, and XML_DTD_NODE is used instead
160
+ * of XML_DOCUMENT_TYPE_NODE.
173
161
  */
174
162
  typedef enum {
163
+ /**
164
+ * An element.
165
+ *
166
+ * Objects of this type are an xmlNode.
167
+ */
175
168
  XML_ELEMENT_NODE= 1,
169
+ /**
170
+ * An attribute.
171
+ *
172
+ * Objects of this type are an xmlAttr.
173
+ */
176
174
  XML_ATTRIBUTE_NODE= 2,
175
+ /**
176
+ * A text node.
177
+ *
178
+ * Objects of this type are an xmlNode.
179
+ */
177
180
  XML_TEXT_NODE= 3,
181
+ /**
182
+ * A CDATA section.
183
+ *
184
+ * Objects of this type are an xmlNode.
185
+ */
178
186
  XML_CDATA_SECTION_NODE= 4,
187
+ /**
188
+ * An entity reference.
189
+ *
190
+ * Objects of this type are an xmlNode. The `children` member
191
+ * points to the entity declaration if available.
192
+ */
179
193
  XML_ENTITY_REF_NODE= 5,
180
- XML_ENTITY_NODE= 6, /* unused */
194
+ /** unused */
195
+ XML_ENTITY_NODE= 6,
196
+ /**
197
+ * A processing instruction.
198
+ *
199
+ * Objects of this type are an xmlNode.
200
+ */
181
201
  XML_PI_NODE= 7,
202
+ /**
203
+ * A comment.
204
+ *
205
+ * Objects of this type are an xmlNode.
206
+ */
182
207
  XML_COMMENT_NODE= 8,
208
+ /**
209
+ * A document.
210
+ *
211
+ * Objects of this type are an xmlDoc.
212
+ */
183
213
  XML_DOCUMENT_NODE= 9,
184
- XML_DOCUMENT_TYPE_NODE= 10, /* unused */
214
+ /** unused */
215
+ XML_DOCUMENT_TYPE_NODE= 10,
216
+ /**
217
+ * A document fragment.
218
+ *
219
+ * Objects of this type are an xmlNode.
220
+ */
185
221
  XML_DOCUMENT_FRAG_NODE= 11,
186
- XML_NOTATION_NODE= 12, /* unused */
222
+ /** A notation, unused */
223
+ XML_NOTATION_NODE= 12,
224
+ /**
225
+ * An HTML document.
226
+ *
227
+ * Objects of this type are an xmlDoc.
228
+ */
187
229
  XML_HTML_DOCUMENT_NODE= 13,
230
+ /**
231
+ * A document type definition.
232
+ *
233
+ * Objects of this type are an xmlDtd.
234
+ */
188
235
  XML_DTD_NODE= 14,
236
+ /**
237
+ * An element declaration.
238
+ *
239
+ * Objects of this type are an xmlElement.
240
+ */
189
241
  XML_ELEMENT_DECL= 15,
242
+ /**
243
+ * An attribute declaration.
244
+ *
245
+ * Objects of this type are an xmlAttribute.
246
+ */
190
247
  XML_ATTRIBUTE_DECL= 16,
248
+ /**
249
+ * An entity declaration.
250
+ *
251
+ * Objects of this type are an xmlEntity.
252
+ */
191
253
  XML_ENTITY_DECL= 17,
254
+ /**
255
+ * An XPath namespace node.
256
+ *
257
+ * Can only be returned by the XPath engine. Objects of this
258
+ * type are an xmlNs which has a completely different layout
259
+ * than xmlNode. The `next` member contains a pointer to the
260
+ * xmlNode element to which the namespace applies.
261
+ *
262
+ * Nodes of this type must be handled with extreme care to
263
+ * avoid type confusion bugs.
264
+ */
192
265
  XML_NAMESPACE_DECL= 18,
266
+ /**
267
+ * An XInclude start marker.
268
+ *
269
+ * Objects of this type are an xmlNode. Inserted as preceding
270
+ * sibling of XIncluded content.
271
+ */
193
272
  XML_XINCLUDE_START= 19,
273
+ /**
274
+ * An XInclude end marker.
275
+ *
276
+ * Objects of this type are an xmlNode. Inserted as following
277
+ * sibling of XIncluded content.
278
+ */
194
279
  XML_XINCLUDE_END= 20
195
280
  /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */
196
281
  } xmlElementType;
197
282
 
198
- /** DOC_DISABLE */
283
+ /** @cond IGNORE */
199
284
  /* For backward compatibility */
200
285
  #define XML_DOCB_DOCUMENT_NODE 21
201
- /** DOC_ENABLE */
286
+ /** @endcond */
202
287
 
288
+ /** Notation declaration */
289
+ typedef struct _xmlNotation xmlNotation;
290
+ typedef xmlNotation *xmlNotationPtr;
203
291
  /**
204
- * xmlNotation:
205
- *
206
292
  * A DTD Notation definition.
293
+ *
294
+ * Should be treated as opaque. Accessing members directly
295
+ * is deprecated.
207
296
  */
208
-
209
- typedef struct _xmlNotation xmlNotation;
210
- typedef xmlNotation *xmlNotationPtr;
211
297
  struct _xmlNotation {
212
- const xmlChar *name; /* Notation name */
213
- const xmlChar *PublicID; /* Public identifier, if any */
214
- const xmlChar *SystemID; /* System identifier, if any */
298
+ /** Notation name */
299
+ const xmlChar *name XML_DEPRECATED_MEMBER;
300
+ /** Public identifier, if any */
301
+ const xmlChar *PublicID XML_DEPRECATED_MEMBER;
302
+ /** System identifier, if any */
303
+ const xmlChar *SystemID XML_DEPRECATED_MEMBER;
215
304
  };
216
305
 
217
306
  /**
218
- * xmlAttributeType:
219
- *
220
307
  * A DTD Attribute type definition.
221
308
  */
222
-
223
309
  typedef enum {
224
310
  XML_ATTRIBUTE_CDATA = 1,
225
311
  XML_ATTRIBUTE_ID,
@@ -234,11 +320,8 @@ typedef enum {
234
320
  } xmlAttributeType;
235
321
 
236
322
  /**
237
- * xmlAttributeDefault:
238
- *
239
323
  * A DTD Attribute default definition.
240
324
  */
241
-
242
325
  typedef enum {
243
326
  XML_ATTRIBUTE_NONE = 1,
244
327
  XML_ATTRIBUTE_REQUIRED,
@@ -246,50 +329,68 @@ typedef enum {
246
329
  XML_ATTRIBUTE_FIXED
247
330
  } xmlAttributeDefault;
248
331
 
332
+ /** Enumeration in a DTD */
333
+ typedef struct _xmlEnumeration xmlEnumeration;
334
+ typedef xmlEnumeration *xmlEnumerationPtr;
249
335
  /**
250
- * xmlEnumeration:
251
- *
252
336
  * List structure used when there is an enumeration in DTDs.
337
+ *
338
+ * Should be treated as opaque. Accessing members directly
339
+ * is deprecated.
253
340
  */
254
-
255
- typedef struct _xmlEnumeration xmlEnumeration;
256
- typedef xmlEnumeration *xmlEnumerationPtr;
257
341
  struct _xmlEnumeration {
258
- struct _xmlEnumeration *next; /* next one */
259
- const xmlChar *name; /* Enumeration name */
342
+ /** next enumeration */
343
+ struct _xmlEnumeration *next XML_DEPRECATED_MEMBER;
344
+ /** value */
345
+ const xmlChar *name XML_DEPRECATED_MEMBER;
260
346
  };
261
347
 
348
+ /** Attribute declaration */
349
+ typedef struct _xmlAttribute xmlAttribute;
350
+ typedef xmlAttribute *xmlAttributePtr;
262
351
  /**
263
- * xmlAttribute:
264
- *
265
352
  * An Attribute declaration in a DTD.
353
+ *
354
+ * Should be treated as opaque. Accessing members directly
355
+ * is deprecated.
266
356
  */
267
-
268
- typedef struct _xmlAttribute xmlAttribute;
269
- typedef xmlAttribute *xmlAttributePtr;
270
357
  struct _xmlAttribute {
271
- void *_private; /* application data */
272
- xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */
273
- const xmlChar *name; /* Attribute name */
274
- struct _xmlNode *children; /* NULL */
275
- struct _xmlNode *last; /* NULL */
276
- struct _xmlDtd *parent; /* -> DTD */
277
- struct _xmlNode *next; /* next sibling link */
278
- struct _xmlNode *prev; /* previous sibling link */
279
- struct _xmlDoc *doc; /* the containing document */
280
-
281
- struct _xmlAttribute *nexth; /* next in hash table */
282
- xmlAttributeType atype; /* The attribute type */
283
- xmlAttributeDefault def; /* the default */
284
- const xmlChar *defaultValue; /* or the default value */
285
- xmlEnumerationPtr tree; /* or the enumeration tree if any */
286
- const xmlChar *prefix; /* the namespace prefix if any */
287
- const xmlChar *elem; /* Element holding the attribute */
358
+ /** application data */
359
+ void *_private;
360
+ /** XML_ATTRIBUTE_DECL */
361
+ xmlElementType type;
362
+ /** attribute name */
363
+ const xmlChar *name;
364
+ /** NULL */
365
+ struct _xmlNode *children;
366
+ /** NULL */
367
+ struct _xmlNode *last;
368
+ /** DTD */
369
+ struct _xmlDtd *parent;
370
+ /** next sibling */
371
+ struct _xmlNode *next;
372
+ /** previous sibling */
373
+ struct _xmlNode *prev;
374
+ /** containing document */
375
+ struct _xmlDoc *doc;
376
+
377
+ /** next in hash table */
378
+ struct _xmlAttribute *nexth XML_DEPRECATED_MEMBER;
379
+ /** attribute type */
380
+ xmlAttributeType atype XML_DEPRECATED_MEMBER;
381
+ /** attribute default */
382
+ xmlAttributeDefault def XML_DEPRECATED_MEMBER;
383
+ /** default value */
384
+ xmlChar *defaultValue;
385
+ /** enumeration tree if any */
386
+ xmlEnumeration *tree XML_DEPRECATED_MEMBER;
387
+ /** namespace prefix if any */
388
+ const xmlChar *prefix;
389
+ /** element name */
390
+ const xmlChar *elem XML_DEPRECATED_MEMBER;
288
391
  };
289
392
 
290
393
  /**
291
- * xmlElementContentType:
292
- *
293
394
  * Possible definitions of element content types.
294
395
  */
295
396
  typedef enum {
@@ -300,8 +401,6 @@ typedef enum {
300
401
  } xmlElementContentType;
301
402
 
302
403
  /**
303
- * xmlElementContentOccur:
304
- *
305
404
  * Possible definitions of element content occurrences.
306
405
  */
307
406
  typedef enum {
@@ -311,31 +410,36 @@ typedef enum {
311
410
  XML_ELEMENT_CONTENT_PLUS
312
411
  } xmlElementContentOccur;
313
412
 
413
+ /** Element content in element declarations */
414
+ typedef struct _xmlElementContent xmlElementContent;
415
+ typedef xmlElementContent *xmlElementContentPtr;
314
416
  /**
315
- * xmlElementContent:
316
- *
317
417
  * An XML Element content as stored after parsing an element definition
318
418
  * in a DTD.
419
+ *
420
+ * Should be treated as opaque. Accessing members directly
421
+ * is deprecated.
319
422
  */
320
-
321
- typedef struct _xmlElementContent xmlElementContent;
322
- typedef xmlElementContent *xmlElementContentPtr;
323
423
  struct _xmlElementContent {
324
- xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */
325
- xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */
326
- const xmlChar *name; /* Element name */
327
- struct _xmlElementContent *c1; /* first child */
328
- struct _xmlElementContent *c2; /* second child */
329
- struct _xmlElementContent *parent; /* parent */
330
- const xmlChar *prefix; /* Namespace prefix */
424
+ /** PCDATA, ELEMENT, SEQ or OR */
425
+ xmlElementContentType type XML_DEPRECATED_MEMBER;
426
+ /** ONCE, OPT, MULT or PLUS */
427
+ xmlElementContentOccur ocur XML_DEPRECATED_MEMBER;
428
+ /** element name */
429
+ const xmlChar *name XML_DEPRECATED_MEMBER;
430
+ /** first child */
431
+ struct _xmlElementContent *c1 XML_DEPRECATED_MEMBER;
432
+ /** second child */
433
+ struct _xmlElementContent *c2 XML_DEPRECATED_MEMBER;
434
+ /** parent */
435
+ struct _xmlElementContent *parent XML_DEPRECATED_MEMBER;
436
+ /** namespace prefix */
437
+ const xmlChar *prefix XML_DEPRECATED_MEMBER;
331
438
  };
332
439
 
333
440
  /**
334
- * xmlElementTypeVal:
335
- *
336
441
  * The different possibilities for an element content type.
337
442
  */
338
-
339
443
  typedef enum {
340
444
  XML_ELEMENT_TYPE_UNDEFINED = 0,
341
445
  XML_ELEMENT_TYPE_EMPTY = 1,
@@ -344,279 +448,424 @@ typedef enum {
344
448
  XML_ELEMENT_TYPE_ELEMENT
345
449
  } xmlElementTypeVal;
346
450
 
451
+ /** Element declaration */
452
+ typedef struct _xmlElement xmlElement;
453
+ typedef xmlElement *xmlElementPtr;
347
454
  /**
348
- * xmlElement:
349
- *
350
455
  * An XML Element declaration from a DTD.
456
+ *
457
+ * Should be treated as opaque. Accessing members directly
458
+ * is deprecated.
351
459
  */
352
-
353
- typedef struct _xmlElement xmlElement;
354
- typedef xmlElement *xmlElementPtr;
355
460
  struct _xmlElement {
356
- void *_private; /* application data */
357
- xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */
358
- const xmlChar *name; /* Element name */
359
- struct _xmlNode *children; /* NULL */
360
- struct _xmlNode *last; /* NULL */
361
- struct _xmlDtd *parent; /* -> DTD */
362
- struct _xmlNode *next; /* next sibling link */
363
- struct _xmlNode *prev; /* previous sibling link */
364
- struct _xmlDoc *doc; /* the containing document */
365
-
366
- xmlElementTypeVal etype; /* The type */
367
- xmlElementContentPtr content; /* the allowed element content */
368
- xmlAttributePtr attributes; /* List of the declared attributes */
369
- const xmlChar *prefix; /* the namespace prefix if any */
461
+ /** application data */
462
+ void *_private;
463
+ /** XML_ELEMENT_DECL */
464
+ xmlElementType type;
465
+ /** element name */
466
+ const xmlChar *name;
467
+ /** NULL */
468
+ struct _xmlNode *children;
469
+ /** NULL */
470
+ struct _xmlNode *last;
471
+ /** -> DTD */
472
+ struct _xmlDtd *parent;
473
+ /** next sibling */
474
+ struct _xmlNode *next;
475
+ /** previous sibling */
476
+ struct _xmlNode *prev;
477
+ /** containing document */
478
+ struct _xmlDoc *doc;
479
+
480
+ /** element type */
481
+ xmlElementTypeVal etype XML_DEPRECATED_MEMBER;
482
+ /** allowed element content */
483
+ xmlElementContent *content XML_DEPRECATED_MEMBER;
484
+ /** list of declared attributes */
485
+ xmlAttribute *attributes XML_DEPRECATED_MEMBER;
486
+ /** namespace prefix if any */
487
+ const xmlChar *prefix XML_DEPRECATED_MEMBER;
370
488
  #ifdef LIBXML_REGEXP_ENABLED
371
- xmlRegexpPtr contModel; /* the validating regexp */
489
+ /** validating regexp */
490
+ xmlRegexp *contModel XML_DEPRECATED_MEMBER;
372
491
  #else
373
- void *contModel;
492
+ void *contModel XML_DEPRECATED_MEMBER;
374
493
  #endif
375
494
  };
376
495
 
377
496
 
378
497
  /**
379
- * XML_LOCAL_NAMESPACE:
380
- *
381
498
  * A namespace declaration node.
382
499
  */
383
500
  #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
384
501
  typedef xmlElementType xmlNsType;
385
502
 
503
+ /** Namespace declaration */
504
+ typedef struct _xmlNs xmlNs;
505
+ typedef xmlNs *xmlNsPtr;
386
506
  /**
387
- * xmlNs:
388
- *
389
507
  * An XML namespace.
390
508
  * Note that prefix == NULL is valid, it defines the default namespace
391
509
  * within the subtree (until overridden).
392
510
  *
393
511
  * xmlNsType is unified with xmlElementType.
512
+ *
513
+ * Note that the XPath engine returns XPath namespace nodes as
514
+ * xmlNs cast to xmlNode. This is a terrible design decision that
515
+ * can easily cause type confusion errors. In this case, the `next`
516
+ * member points to the xmlNode element to which the namespace
517
+ * node belongs.
394
518
  */
395
-
396
- typedef struct _xmlNs xmlNs;
397
- typedef xmlNs *xmlNsPtr;
398
519
  struct _xmlNs {
399
- struct _xmlNs *next; /* next Ns link for this node */
400
- xmlNsType type; /* global or local */
401
- const xmlChar *href; /* URL for the namespace */
402
- const xmlChar *prefix; /* prefix for the namespace */
403
- void *_private; /* application data */
404
- struct _xmlDoc *context; /* normally an xmlDoc */
520
+ /** next namespace */
521
+ struct _xmlNs *next;
522
+ /** XML_NAMESPACE_DECL */
523
+ xmlNsType type;
524
+ /** namespace URI */
525
+ const xmlChar *href;
526
+ /** namespace prefix */
527
+ const xmlChar *prefix;
528
+ /** application data */
529
+ void *_private;
530
+ /** normally an xmlDoc */
531
+ struct _xmlDoc *context XML_DEPRECATED_MEMBER;
405
532
  };
406
533
 
534
+ /** Document type definition (DTD) */
535
+ typedef struct _xmlDtd xmlDtd;
536
+ typedef xmlDtd *xmlDtdPtr;
407
537
  /**
408
- * xmlDtd:
409
- *
410
538
  * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
411
539
  * the internal subset and for the external subset.
540
+ *
541
+ * Should be treated as opaque. Accessing members directly
542
+ * is deprecated.
412
543
  */
413
- typedef struct _xmlDtd xmlDtd;
414
- typedef xmlDtd *xmlDtdPtr;
415
544
  struct _xmlDtd {
416
- void *_private; /* application data */
417
- xmlElementType type; /* XML_DTD_NODE, must be second ! */
418
- const xmlChar *name; /* Name of the DTD */
419
- struct _xmlNode *children; /* the value of the property link */
420
- struct _xmlNode *last; /* last child link */
421
- struct _xmlDoc *parent; /* child->parent link */
422
- struct _xmlNode *next; /* next sibling link */
423
- struct _xmlNode *prev; /* previous sibling link */
424
- struct _xmlDoc *doc; /* the containing document */
545
+ /** application data */
546
+ void *_private;
547
+ /** XML_DTD_NODE */
548
+ xmlElementType type;
549
+ /** name of the DTD */
550
+ const xmlChar *name;
551
+ /** first child */
552
+ struct _xmlNode *children;
553
+ /** last child */
554
+ struct _xmlNode *last;
555
+ /** parent node */
556
+ struct _xmlDoc *parent;
557
+ /** next sibling */
558
+ struct _xmlNode *next;
559
+ /** previous sibling */
560
+ struct _xmlNode *prev;
561
+ /** containing document */
562
+ struct _xmlDoc *doc;
425
563
 
426
564
  /* End of common part */
427
- void *notations; /* Hash table for notations if any */
428
- void *elements; /* Hash table for elements if any */
429
- void *attributes; /* Hash table for attributes if any */
430
- void *entities; /* Hash table for entities if any */
431
- const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */
432
- const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */
433
- void *pentities; /* Hash table for param entities if any */
565
+
566
+ /** hash table for notations if any */
567
+ void *notations XML_DEPRECATED_MEMBER;
568
+ /** hash table for elements if any */
569
+ void *elements XML_DEPRECATED_MEMBER;
570
+ /** hash table for attributes if any */
571
+ void *attributes XML_DEPRECATED_MEMBER;
572
+ /** hash table for entities if any */
573
+ void *entities XML_DEPRECATED_MEMBER;
574
+ /** public identifier */
575
+ xmlChar *ExternalID XML_DEPRECATED_MEMBER;
576
+ /** system identifier */
577
+ xmlChar *SystemID XML_DEPRECATED_MEMBER;
578
+ /** hash table for parameter entities if any */
579
+ void *pentities XML_DEPRECATED_MEMBER;
434
580
  };
435
581
 
436
- /**
437
- * xmlAttr:
438
- *
439
- * An attribute on an XML node.
440
- */
582
+ /** Attribute of an element */
441
583
  typedef struct _xmlAttr xmlAttr;
442
584
  typedef xmlAttr *xmlAttrPtr;
443
- struct _xmlAttr {
444
- void *_private; /* application data */
445
- xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */
446
- const xmlChar *name; /* the name of the property */
447
- struct _xmlNode *children; /* the value of the property */
448
- struct _xmlNode *last; /* NULL */
449
- struct _xmlNode *parent; /* child->parent link */
450
- struct _xmlAttr *next; /* next sibling link */
451
- struct _xmlAttr *prev; /* previous sibling link */
452
- struct _xmlDoc *doc; /* the containing document */
453
- xmlNs *ns; /* pointer to the associated namespace */
454
- xmlAttributeType atype; /* the attribute type if validating */
455
- void *psvi; /* for type/PSVI information */
456
- struct _xmlID *id; /* the ID struct */
457
- };
458
-
459
585
  /**
460
- * xmlID:
461
- *
462
- * An XML ID instance.
586
+ * An attribute of element.
463
587
  */
588
+ struct _xmlAttr {
589
+ /** application data */
590
+ void *_private;
591
+ /** XML_ATTRIBUTE_NODE */
592
+ xmlElementType type;
593
+ /** local name */
594
+ const xmlChar *name;
595
+ /** first child */
596
+ struct _xmlNode *children;
597
+ /** last child */
598
+ struct _xmlNode *last;
599
+ /** parent node */
600
+ struct _xmlNode *parent;
601
+ /** next sibling */
602
+ struct _xmlAttr *next;
603
+ /** previous sibling */
604
+ struct _xmlAttr *prev;
605
+ /** containing document */
606
+ struct _xmlDoc *doc;
607
+ /** namespace if any */
608
+ xmlNs *ns;
609
+ /** attribute type if validating */
610
+ xmlAttributeType atype;
611
+ /** for type/PSVI information */
612
+ void *psvi;
613
+ /** ID struct if any */
614
+ struct _xmlID *id XML_DEPRECATED_MEMBER;
615
+ };
464
616
 
617
+ /** Extra data for ID attributes */
465
618
  typedef struct _xmlID xmlID;
466
619
  typedef xmlID *xmlIDPtr;
467
- struct _xmlID {
468
- struct _xmlID *next; /* next ID */
469
- const xmlChar *value; /* The ID name */
470
- xmlAttrPtr attr; /* The attribute holding it */
471
- const xmlChar *name; /* The attribute if attr is not available */
472
- int lineno; /* The line number if attr is not available */
473
- struct _xmlDoc *doc; /* The document holding the ID */
474
- };
475
-
476
620
  /**
477
- * xmlRef:
621
+ * An XML ID instance.
478
622
  *
479
- * An XML IDREF instance.
623
+ * Should be treated as opaque. Accessing members directly
624
+ * is deprecated.
480
625
  */
626
+ struct _xmlID {
627
+ /* next ID */
628
+ struct _xmlID *next XML_DEPRECATED_MEMBER;
629
+ /* The ID name */
630
+ xmlChar *value XML_DEPRECATED_MEMBER;
631
+ /* The attribute holding it */
632
+ xmlAttr *attr XML_DEPRECATED_MEMBER;
633
+ /* The attribute if attr is not available */
634
+ const xmlChar *name XML_DEPRECATED_MEMBER;
635
+ /* The line number if attr is not available */
636
+ int lineno XML_DEPRECATED_MEMBER;
637
+ /* The document holding the ID */
638
+ struct _xmlDoc *doc XML_DEPRECATED_MEMBER;
639
+ };
481
640
 
641
+ /** @cond ignore */
482
642
  typedef struct _xmlRef xmlRef;
483
643
  typedef xmlRef *xmlRefPtr;
644
+ /*
645
+ * An XML IDREF instance.
646
+ */
484
647
  struct _xmlRef {
485
- struct _xmlRef *next; /* next Ref */
486
- const xmlChar *value; /* The Ref name */
487
- xmlAttrPtr attr; /* The attribute holding it */
488
- const xmlChar *name; /* The attribute if attr is not available */
489
- int lineno; /* The line number if attr is not available */
648
+ /* next Ref */
649
+ struct _xmlRef *next XML_DEPRECATED_MEMBER;
650
+ /* The Ref name */
651
+ const xmlChar *value XML_DEPRECATED_MEMBER;
652
+ /* The attribute holding it */
653
+ xmlAttr *attr XML_DEPRECATED_MEMBER;
654
+ /* The attribute if attr is not available */
655
+ const xmlChar *name XML_DEPRECATED_MEMBER;
656
+ /* The line number if attr is not available */
657
+ int lineno XML_DEPRECATED_MEMBER;
490
658
  };
659
+ /** @endcond */
491
660
 
661
+ /** Generic node type in an XML or HTML tree */
662
+ typedef struct _xmlNode xmlNode;
663
+ typedef xmlNode *xmlNodePtr;
492
664
  /**
493
- * xmlNode:
665
+ * Generic node type in an XML or HTML tree.
666
+ *
667
+ * This is used for
668
+ *
669
+ * - XML_ELEMENT_NODE
670
+ * - XML_TEXT_NODE
671
+ * - XML_CDATA_SECTION_NODE
672
+ * - XML_ENTITY_REF_NODE
673
+ * - XML_PI_NODE
674
+ * - XML_COMMENT_NODE
675
+ * - XML_DOCUMENT_FRAG_NODE
676
+ * - XML_XINCLUDE_START_NODE
677
+ * - XML_XINCLUDE_END_NODE
678
+ *
679
+ * Other node types have a different struct layout than xmlNode,
680
+ * see xmlElementType. Except for XML_NAMESPACE_DECL all nodes
681
+ * share the following members at the same offset:
682
+ *
683
+ * - `_private`
684
+ * - `type` (also for XML_NAMESPACE_DECL)
685
+ * - `name`
686
+ * - `children`
687
+ * - `last`
688
+ * - `parent`
689
+ * - `next`
690
+ * - `prev`
691
+ * - `doc`
494
692
  *
495
- * A node in an XML tree.
693
+ * xmlNode and xmlAttr also share the `ns` member.
496
694
  */
497
- typedef struct _xmlNode xmlNode;
498
- typedef xmlNode *xmlNodePtr;
499
695
  struct _xmlNode {
500
- void *_private; /* application data */
501
- xmlElementType type; /* type number, must be second ! */
502
- const xmlChar *name; /* the name of the node, or the entity */
503
- struct _xmlNode *children; /* parent->childs link */
504
- struct _xmlNode *last; /* last child link */
505
- struct _xmlNode *parent; /* child->parent link */
506
- struct _xmlNode *next; /* next sibling link */
507
- struct _xmlNode *prev; /* previous sibling link */
508
- struct _xmlDoc *doc; /* the containing document */
696
+ /** Application data. Often used by language bindings. */
697
+ void *_private;
698
+ /** Type enum, an xmlElementType value */
699
+ xmlElementType type;
700
+ /**
701
+ * Name of the node.
702
+ *
703
+ * - Local name of elements or attributes. As a corner case,
704
+ * this can also contain Names which are invalid QNames in
705
+ * non-namespace-wellformed documents.
706
+ * - Name of entity references
707
+ * - Target of processing instructions
708
+ * - Fixed string for text and comments
709
+ * - Unused otherwise
710
+ */
711
+ const xmlChar *name;
712
+ /** First child. Entity declaration of entity references. */
713
+ struct _xmlNode *children;
714
+ /** Last child */
715
+ struct _xmlNode *last;
716
+ /** Parent node. NULL for documents or unlinked root nodes. */
717
+ struct _xmlNode *parent;
718
+ /** Next sibling */
719
+ struct _xmlNode *next;
720
+ /** Previous sibling */
721
+ struct _xmlNode *prev;
722
+ /**
723
+ * Associated document.
724
+ *
725
+ * Used to access DTDs, entities, ID tables, dictionary or
726
+ * other document properties. All children of a node share the
727
+ * same document.
728
+ */
729
+ struct _xmlDoc *doc;
509
730
 
510
731
  /* End of common part */
511
- xmlNs *ns; /* pointer to the associated namespace */
512
- xmlChar *content; /* the content */
513
- struct _xmlAttr *properties;/* properties list */
514
- xmlNs *nsDef; /* namespace definitions on this node */
515
- void *psvi; /* for type/PSVI information */
516
- unsigned short line; /* line number */
517
- unsigned short extra; /* extra data for XPath/XSLT */
518
- };
519
-
520
- /**
521
- * XML_GET_CONTENT:
522
- *
523
- * Macro to extract the content pointer of a node.
524
- */
525
- #define XML_GET_CONTENT(n) \
526
- ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
527
732
 
528
- /**
529
- * XML_GET_LINE:
530
- *
531
- * Macro to extract the line number of an element node.
532
- */
533
- #define XML_GET_LINE(n) \
534
- (xmlGetLineNo(n))
733
+ /** Namespace of element if any */
734
+ xmlNs *ns;
735
+ /**
736
+ * Content of text, comment, PI nodes.
737
+ *
738
+ * Sort index for elements after calling #xmlXPathOrderDocElems.
739
+ * Content of internal entities for entity references.
740
+ */
741
+ xmlChar *content;
742
+ /**
743
+ * First attribute of element.
744
+ *
745
+ * Also used to store small strings with XML_PARSE_COMPACT.
746
+ */
747
+ struct _xmlAttr *properties;
748
+ /** First namespace definition of element */
749
+ xmlNs *nsDef;
750
+ /** For type/PSVI information */
751
+ void *psvi;
752
+ /** Line number */
753
+ unsigned short line;
754
+ /** Extra data for XPath/XSLT */
755
+ unsigned short extra;
756
+ };
535
757
 
536
758
  /**
537
- * xmlDocProperty
538
- *
539
- * Set of properties of the document as found by the parser
540
- * Some of them are linked to similarly named xmlParserOption
759
+ * Set of properties of the document as found by the parser.
760
+ * Some of them are linked to similarly named xmlParserOption.
541
761
  */
542
762
  typedef enum {
543
- XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */
544
- XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */
545
- XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */
546
- XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */
547
- XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */
548
- XML_DOC_USERBUILT = 1<<5, /* Document was built using the API
549
- and not by parsing an instance */
550
- XML_DOC_INTERNAL = 1<<6, /* built for internal processing */
551
- XML_DOC_HTML = 1<<7 /* parsed or built HTML document */
763
+ /** document is XML well formed */
764
+ XML_DOC_WELLFORMED = 1<<0,
765
+ /** document is Namespace valid */
766
+ XML_DOC_NSVALID = 1<<1,
767
+ /** parsed with old XML-1.0 parser */
768
+ XML_DOC_OLD10 = 1<<2,
769
+ /** DTD validation was successful */
770
+ XML_DOC_DTDVALID = 1<<3,
771
+ /** XInclude substitution was done */
772
+ XML_DOC_XINCLUDE = 1<<4,
773
+ /** Document was built using the API and not by parsing an instance */
774
+ XML_DOC_USERBUILT = 1<<5,
775
+ /** built for internal processing */
776
+ XML_DOC_INTERNAL = 1<<6,
777
+ /** parsed or built HTML document */
778
+ XML_DOC_HTML = 1<<7
552
779
  } xmlDocProperties;
553
780
 
554
- /**
555
- * xmlDoc:
556
- *
557
- * An XML document.
558
- */
781
+ /** XML or HTML document */
559
782
  typedef struct _xmlDoc xmlDoc;
560
783
  typedef xmlDoc *xmlDocPtr;
784
+ /**
785
+ * An XML or HTML document.
786
+ */
561
787
  struct _xmlDoc {
562
- void *_private; /* application data */
563
- xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */
564
- char *name; /* name/filename/URI of the document */
565
- struct _xmlNode *children; /* the document tree */
566
- struct _xmlNode *last; /* last child link */
567
- struct _xmlNode *parent; /* child->parent link */
568
- struct _xmlNode *next; /* next sibling link */
569
- struct _xmlNode *prev; /* previous sibling link */
570
- struct _xmlDoc *doc; /* autoreference to itself */
788
+ /** application data */
789
+ void *_private;
790
+ /** XML_DOCUMENT_NODE or XML_HTML_DOCUMENT_NODE */
791
+ xmlElementType type;
792
+ /** NULL */
793
+ char *name;
794
+ /** first child */
795
+ struct _xmlNode *children;
796
+ /** last child */
797
+ struct _xmlNode *last;
798
+ /** parent node */
799
+ struct _xmlNode *parent;
800
+ /** next sibling */
801
+ struct _xmlNode *next;
802
+ /** previous sibling */
803
+ struct _xmlNode *prev;
804
+ /** reference to itself */
805
+ struct _xmlDoc *doc;
571
806
 
572
807
  /* End of common part */
573
- int compression;/* level of zlib compression */
574
- int standalone; /* standalone document (no external refs)
575
- 1 if standalone="yes"
576
- 0 if standalone="no"
577
- -1 if there is no XML declaration
578
- -2 if there is an XML declaration, but no
579
- standalone attribute was specified */
580
- struct _xmlDtd *intSubset; /* the document internal subset */
581
- struct _xmlDtd *extSubset; /* the document external subset */
582
- struct _xmlNs *oldNs; /* Global namespace, the old way */
583
- const xmlChar *version; /* the XML version string */
584
- const xmlChar *encoding; /* actual encoding, if any */
585
- void *ids; /* Hash table for ID attributes if any */
586
- void *refs; /* Hash table for IDREFs attributes if any */
587
- const xmlChar *URL; /* The URI for that document */
588
- int charset; /* unused */
589
- struct _xmlDict *dict; /* dict used to allocate names or NULL */
590
- void *psvi; /* for type/PSVI information */
591
- int parseFlags; /* set of xmlParserOption used to parse the
592
- document */
593
- int properties; /* set of xmlDocProperties for this document
594
- set at the end of parsing */
808
+
809
+ /** level of zlib compression */
810
+ int compression;
811
+ /**
812
+ * standalone document (no external refs)
813
+ *
814
+ * - 1 if standalone="yes",
815
+ * - 0 if standalone="no",
816
+ * - -1 if there is no XML declaration,
817
+ * - -2 if there is an XML declaration, but no
818
+ * standalone attribute was specified
819
+ */
820
+ int standalone;
821
+ /** internal subset */
822
+ struct _xmlDtd *intSubset;
823
+ /** external subset */
824
+ struct _xmlDtd *extSubset;
825
+ /** used to hold the XML namespace if needed */
826
+ struct _xmlNs *oldNs XML_DEPRECATED_MEMBER;
827
+ /** version string from XML declaration */
828
+ xmlChar *version;
829
+ /** actual encoding if any */
830
+ xmlChar *encoding;
831
+ /** hash table for ID attributes if any */
832
+ void *ids;
833
+ /** hash table for IDREFs attributes if any */
834
+ void *refs XML_DEPRECATED_MEMBER;
835
+ /** URI of the document */
836
+ xmlChar *URL;
837
+ /** unused */
838
+ int charset;
839
+ /** dict used to allocate names if any */
840
+ struct _xmlDict *dict;
841
+ /** for type/PSVI information */
842
+ void *psvi;
843
+ /** xmlParserOption enum used to parse the document */
844
+ int parseFlags;
845
+ /** xmlDocProperties of the document */
846
+ int properties;
595
847
  };
596
848
 
597
849
 
850
+ /** Context for DOM wrapper operations */
598
851
  typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
599
852
  typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
600
853
 
601
854
  /**
602
- * xmlDOMWrapAcquireNsFunction:
603
- * @ctxt: a DOM wrapper context
604
- * @node: the context node (element or attribute)
605
- * @nsName: the requested namespace name
606
- * @nsPrefix: the requested namespace prefix
607
- *
608
855
  * A function called to acquire namespaces (xmlNs) from the wrapper.
609
856
  *
610
- * Returns an xmlNsPtr or NULL in case of an error.
857
+ * @param ctxt a DOM wrapper context
858
+ * @param node the context node (element or attribute)
859
+ * @param nsName the requested namespace name
860
+ * @param nsPrefix the requested namespace prefix
861
+ * @returns an xmlNs or NULL in case of an error.
611
862
  */
612
- typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
613
- xmlNodePtr node,
863
+ typedef xmlNs *(*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxt *ctxt,
864
+ xmlNode *node,
614
865
  const xmlChar *nsName,
615
866
  const xmlChar *nsPrefix);
616
867
 
617
868
  /**
618
- * xmlDOMWrapCtxt:
619
- *
620
869
  * Context for DOM wrapper-operations.
621
870
  */
622
871
  struct _xmlDOMWrapCtxt {
@@ -631,31 +880,27 @@ struct _xmlDOMWrapCtxt {
631
880
  */
632
881
  void * namespaceMap;
633
882
  /*
634
- * Use this one to acquire an xmlNsPtr intended for node->ns.
883
+ * Use this one to acquire an xmlNs intended for node->ns.
635
884
  * (Note that this is not intended for elem->nsDef).
636
885
  */
637
886
  xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
638
887
  };
639
888
 
640
889
  /**
641
- * xmlRegisterNodeFunc:
642
- * @node: the current node
643
- *
644
890
  * Signature for the registration callback of a created node
891
+ *
892
+ * @param node the current node
645
893
  */
646
- typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
894
+ typedef void (*xmlRegisterNodeFunc) (xmlNode *node);
647
895
 
648
896
  /**
649
- * xmlDeregisterNodeFunc:
650
- * @node: the current node
651
- *
652
897
  * Signature for the deregistration callback of a discarded node
898
+ *
899
+ * @param node the current node
653
900
  */
654
- typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
901
+ typedef void (*xmlDeregisterNodeFunc) (xmlNode *node);
655
902
 
656
903
  /**
657
- * xmlChildrenNode:
658
- *
659
904
  * Macro for compatibility naming layer with libxml1. Maps
660
905
  * to "children."
661
906
  */
@@ -664,8 +909,6 @@ typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
664
909
  #endif
665
910
 
666
911
  /**
667
- * xmlRootNode:
668
- *
669
912
  * Macro for compatibility naming layer with libxml1. Maps
670
913
  * to "children".
671
914
  */
@@ -677,7 +920,8 @@ typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
677
920
  * Variables.
678
921
  */
679
922
 
680
- /** DOC_DISABLE */
923
+ /** @cond ignore */
924
+
681
925
  XML_DEPRECATED
682
926
  XMLPUBFUN xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void);
683
927
  XML_DEPRECATED
@@ -689,7 +933,8 @@ XMLPUBFUN xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void);
689
933
  #define xmlDeregisterNodeDefaultValue \
690
934
  (*__xmlDeregisterNodeDefaultValue())
691
935
  #endif
692
- /** DOC_ENABLE */
936
+
937
+ /** @endcond */
693
938
 
694
939
  /*
695
940
  * Some helper functions
@@ -720,211 +965,150 @@ XMLPUBFUN const xmlChar *
720
965
  xmlSplitQName3 (const xmlChar *name,
721
966
  int *len);
722
967
 
723
- /*
724
- * Handling Buffers, the old ones see @xmlBuf for the new ones.
725
- */
726
-
727
- XML_DEPRECATED
728
- XMLPUBFUN void
729
- xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
730
- XML_DEPRECATED
731
- XMLPUBFUN xmlBufferAllocationScheme
732
- xmlGetBufferAllocationScheme(void);
733
-
734
- XMLPUBFUN xmlBufferPtr
735
- xmlBufferCreate (void);
736
- XMLPUBFUN xmlBufferPtr
737
- xmlBufferCreateSize (size_t size);
738
- XMLPUBFUN xmlBufferPtr
739
- xmlBufferCreateStatic (void *mem,
740
- size_t size);
741
- XML_DEPRECATED
742
- XMLPUBFUN int
743
- xmlBufferResize (xmlBufferPtr buf,
744
- unsigned int size);
745
- XMLPUBFUN void
746
- xmlBufferFree (xmlBufferPtr buf);
747
- XMLPUBFUN int
748
- xmlBufferDump (FILE *file,
749
- xmlBufferPtr buf);
750
- XMLPUBFUN int
751
- xmlBufferAdd (xmlBufferPtr buf,
752
- const xmlChar *str,
753
- int len);
754
- XMLPUBFUN int
755
- xmlBufferAddHead (xmlBufferPtr buf,
756
- const xmlChar *str,
757
- int len);
758
- XMLPUBFUN int
759
- xmlBufferCat (xmlBufferPtr buf,
760
- const xmlChar *str);
761
- XMLPUBFUN int
762
- xmlBufferCCat (xmlBufferPtr buf,
763
- const char *str);
764
- XML_DEPRECATED
765
- XMLPUBFUN int
766
- xmlBufferShrink (xmlBufferPtr buf,
767
- unsigned int len);
768
- XML_DEPRECATED
769
- XMLPUBFUN int
770
- xmlBufferGrow (xmlBufferPtr buf,
771
- unsigned int len);
772
- XMLPUBFUN void
773
- xmlBufferEmpty (xmlBufferPtr buf);
774
- XMLPUBFUN const xmlChar*
775
- xmlBufferContent (const xmlBuffer *buf);
776
- XMLPUBFUN xmlChar*
777
- xmlBufferDetach (xmlBufferPtr buf);
778
- XMLPUBFUN void
779
- xmlBufferSetAllocationScheme(xmlBufferPtr buf,
780
- xmlBufferAllocationScheme scheme);
781
- XMLPUBFUN int
782
- xmlBufferLength (const xmlBuffer *buf);
783
-
784
968
  /*
785
969
  * Creating/freeing new structures.
786
970
  */
787
- XMLPUBFUN xmlDtdPtr
788
- xmlCreateIntSubset (xmlDocPtr doc,
971
+ XMLPUBFUN xmlDtd *
972
+ xmlCreateIntSubset (xmlDoc *doc,
789
973
  const xmlChar *name,
790
- const xmlChar *ExternalID,
791
- const xmlChar *SystemID);
792
- XMLPUBFUN xmlDtdPtr
793
- xmlNewDtd (xmlDocPtr doc,
974
+ const xmlChar *publicId,
975
+ const xmlChar *systemId);
976
+ XMLPUBFUN xmlDtd *
977
+ xmlNewDtd (xmlDoc *doc,
794
978
  const xmlChar *name,
795
- const xmlChar *ExternalID,
796
- const xmlChar *SystemID);
797
- XMLPUBFUN xmlDtdPtr
979
+ const xmlChar *publicId,
980
+ const xmlChar *systemId);
981
+ XMLPUBFUN xmlDtd *
798
982
  xmlGetIntSubset (const xmlDoc *doc);
799
983
  XMLPUBFUN void
800
- xmlFreeDtd (xmlDtdPtr cur);
801
- XMLPUBFUN xmlNsPtr
802
- xmlNewNs (xmlNodePtr node,
984
+ xmlFreeDtd (xmlDtd *cur);
985
+ XMLPUBFUN xmlNs *
986
+ xmlNewNs (xmlNode *node,
803
987
  const xmlChar *href,
804
988
  const xmlChar *prefix);
805
989
  XMLPUBFUN void
806
- xmlFreeNs (xmlNsPtr cur);
990
+ xmlFreeNs (xmlNs *cur);
807
991
  XMLPUBFUN void
808
- xmlFreeNsList (xmlNsPtr cur);
809
- XMLPUBFUN xmlDocPtr
992
+ xmlFreeNsList (xmlNs *cur);
993
+ XMLPUBFUN xmlDoc *
810
994
  xmlNewDoc (const xmlChar *version);
811
995
  XMLPUBFUN void
812
- xmlFreeDoc (xmlDocPtr cur);
813
- XMLPUBFUN xmlAttrPtr
814
- xmlNewDocProp (xmlDocPtr doc,
996
+ xmlFreeDoc (xmlDoc *cur);
997
+ XMLPUBFUN xmlAttr *
998
+ xmlNewDocProp (xmlDoc *doc,
815
999
  const xmlChar *name,
816
1000
  const xmlChar *value);
817
- XMLPUBFUN xmlAttrPtr
818
- xmlNewProp (xmlNodePtr node,
1001
+ XMLPUBFUN xmlAttr *
1002
+ xmlNewProp (xmlNode *node,
819
1003
  const xmlChar *name,
820
1004
  const xmlChar *value);
821
- XMLPUBFUN xmlAttrPtr
822
- xmlNewNsProp (xmlNodePtr node,
823
- xmlNsPtr ns,
1005
+ XMLPUBFUN xmlAttr *
1006
+ xmlNewNsProp (xmlNode *node,
1007
+ xmlNs *ns,
824
1008
  const xmlChar *name,
825
1009
  const xmlChar *value);
826
- XMLPUBFUN xmlAttrPtr
827
- xmlNewNsPropEatName (xmlNodePtr node,
828
- xmlNsPtr ns,
1010
+ XMLPUBFUN xmlAttr *
1011
+ xmlNewNsPropEatName (xmlNode *node,
1012
+ xmlNs *ns,
829
1013
  xmlChar *name,
830
1014
  const xmlChar *value);
831
1015
  XMLPUBFUN void
832
- xmlFreePropList (xmlAttrPtr cur);
1016
+ xmlFreePropList (xmlAttr *cur);
833
1017
  XMLPUBFUN void
834
- xmlFreeProp (xmlAttrPtr cur);
835
- XMLPUBFUN xmlAttrPtr
836
- xmlCopyProp (xmlNodePtr target,
837
- xmlAttrPtr cur);
838
- XMLPUBFUN xmlAttrPtr
839
- xmlCopyPropList (xmlNodePtr target,
840
- xmlAttrPtr cur);
841
- XMLPUBFUN xmlDtdPtr
842
- xmlCopyDtd (xmlDtdPtr dtd);
843
- XMLPUBFUN xmlDocPtr
844
- xmlCopyDoc (xmlDocPtr doc,
1018
+ xmlFreeProp (xmlAttr *cur);
1019
+ XMLPUBFUN xmlAttr *
1020
+ xmlCopyProp (xmlNode *target,
1021
+ xmlAttr *cur);
1022
+ XMLPUBFUN xmlAttr *
1023
+ xmlCopyPropList (xmlNode *target,
1024
+ xmlAttr *cur);
1025
+ XMLPUBFUN xmlDtd *
1026
+ xmlCopyDtd (xmlDtd *dtd);
1027
+ XMLPUBFUN xmlDoc *
1028
+ xmlCopyDoc (xmlDoc *doc,
845
1029
  int recursive);
846
1030
  /*
847
1031
  * Creating new nodes.
848
1032
  */
849
- XMLPUBFUN xmlNodePtr
850
- xmlNewDocNode (xmlDocPtr doc,
851
- xmlNsPtr ns,
1033
+ XMLPUBFUN xmlNode *
1034
+ xmlNewDocNode (xmlDoc *doc,
1035
+ xmlNs *ns,
852
1036
  const xmlChar *name,
853
1037
  const xmlChar *content);
854
- XMLPUBFUN xmlNodePtr
855
- xmlNewDocNodeEatName (xmlDocPtr doc,
856
- xmlNsPtr ns,
1038
+ XMLPUBFUN xmlNode *
1039
+ xmlNewDocNodeEatName (xmlDoc *doc,
1040
+ xmlNs *ns,
857
1041
  xmlChar *name,
858
1042
  const xmlChar *content);
859
- XMLPUBFUN xmlNodePtr
860
- xmlNewNode (xmlNsPtr ns,
1043
+ XMLPUBFUN xmlNode *
1044
+ xmlNewNode (xmlNs *ns,
861
1045
  const xmlChar *name);
862
- XMLPUBFUN xmlNodePtr
863
- xmlNewNodeEatName (xmlNsPtr ns,
1046
+ XMLPUBFUN xmlNode *
1047
+ xmlNewNodeEatName (xmlNs *ns,
864
1048
  xmlChar *name);
865
- XMLPUBFUN xmlNodePtr
866
- xmlNewChild (xmlNodePtr parent,
867
- xmlNsPtr ns,
1049
+ XMLPUBFUN xmlNode *
1050
+ xmlNewChild (xmlNode *parent,
1051
+ xmlNs *ns,
868
1052
  const xmlChar *name,
869
1053
  const xmlChar *content);
870
- XMLPUBFUN xmlNodePtr
1054
+ XMLPUBFUN xmlNode *
871
1055
  xmlNewDocText (const xmlDoc *doc,
872
1056
  const xmlChar *content);
873
- XMLPUBFUN xmlNodePtr
1057
+ XMLPUBFUN xmlNode *
874
1058
  xmlNewText (const xmlChar *content);
875
- XMLPUBFUN xmlNodePtr
876
- xmlNewDocPI (xmlDocPtr doc,
1059
+ XMLPUBFUN xmlNode *
1060
+ xmlNewDocPI (xmlDoc *doc,
877
1061
  const xmlChar *name,
878
1062
  const xmlChar *content);
879
- XMLPUBFUN xmlNodePtr
1063
+ XMLPUBFUN xmlNode *
880
1064
  xmlNewPI (const xmlChar *name,
881
1065
  const xmlChar *content);
882
- XMLPUBFUN xmlNodePtr
883
- xmlNewDocTextLen (xmlDocPtr doc,
1066
+ XMLPUBFUN xmlNode *
1067
+ xmlNewDocTextLen (xmlDoc *doc,
884
1068
  const xmlChar *content,
885
1069
  int len);
886
- XMLPUBFUN xmlNodePtr
1070
+ XMLPUBFUN xmlNode *
887
1071
  xmlNewTextLen (const xmlChar *content,
888
1072
  int len);
889
- XMLPUBFUN xmlNodePtr
890
- xmlNewDocComment (xmlDocPtr doc,
1073
+ XMLPUBFUN xmlNode *
1074
+ xmlNewDocComment (xmlDoc *doc,
891
1075
  const xmlChar *content);
892
- XMLPUBFUN xmlNodePtr
1076
+ XMLPUBFUN xmlNode *
893
1077
  xmlNewComment (const xmlChar *content);
894
- XMLPUBFUN xmlNodePtr
895
- xmlNewCDataBlock (xmlDocPtr doc,
1078
+ XMLPUBFUN xmlNode *
1079
+ xmlNewCDataBlock (xmlDoc *doc,
896
1080
  const xmlChar *content,
897
1081
  int len);
898
- XMLPUBFUN xmlNodePtr
899
- xmlNewCharRef (xmlDocPtr doc,
1082
+ XMLPUBFUN xmlNode *
1083
+ xmlNewCharRef (xmlDoc *doc,
900
1084
  const xmlChar *name);
901
- XMLPUBFUN xmlNodePtr
1085
+ XMLPUBFUN xmlNode *
902
1086
  xmlNewReference (const xmlDoc *doc,
903
1087
  const xmlChar *name);
904
- XMLPUBFUN xmlNodePtr
905
- xmlCopyNode (xmlNodePtr node,
1088
+ XMLPUBFUN xmlNode *
1089
+ xmlCopyNode (xmlNode *node,
906
1090
  int recursive);
907
- XMLPUBFUN xmlNodePtr
908
- xmlDocCopyNode (xmlNodePtr node,
909
- xmlDocPtr doc,
1091
+ XMLPUBFUN xmlNode *
1092
+ xmlDocCopyNode (xmlNode *node,
1093
+ xmlDoc *doc,
910
1094
  int recursive);
911
- XMLPUBFUN xmlNodePtr
912
- xmlDocCopyNodeList (xmlDocPtr doc,
913
- xmlNodePtr node);
914
- XMLPUBFUN xmlNodePtr
915
- xmlCopyNodeList (xmlNodePtr node);
916
- XMLPUBFUN xmlNodePtr
917
- xmlNewTextChild (xmlNodePtr parent,
918
- xmlNsPtr ns,
1095
+ XMLPUBFUN xmlNode *
1096
+ xmlDocCopyNodeList (xmlDoc *doc,
1097
+ xmlNode *node);
1098
+ XMLPUBFUN xmlNode *
1099
+ xmlCopyNodeList (xmlNode *node);
1100
+ XMLPUBFUN xmlNode *
1101
+ xmlNewTextChild (xmlNode *parent,
1102
+ xmlNs *ns,
919
1103
  const xmlChar *name,
920
1104
  const xmlChar *content);
921
- XMLPUBFUN xmlNodePtr
922
- xmlNewDocRawNode (xmlDocPtr doc,
923
- xmlNsPtr ns,
1105
+ XMLPUBFUN xmlNode *
1106
+ xmlNewDocRawNode (xmlDoc *doc,
1107
+ xmlNs *ns,
924
1108
  const xmlChar *name,
925
1109
  const xmlChar *content);
926
- XMLPUBFUN xmlNodePtr
927
- xmlNewDocFragment (xmlDocPtr doc);
1110
+ XMLPUBFUN xmlNode *
1111
+ xmlNewDocFragment (xmlDoc *doc);
928
1112
 
929
1113
  /*
930
1114
  * Navigating.
@@ -933,9 +1117,9 @@ XMLPUBFUN long
933
1117
  xmlGetLineNo (const xmlNode *node);
934
1118
  XMLPUBFUN xmlChar *
935
1119
  xmlGetNodePath (const xmlNode *node);
936
- XMLPUBFUN xmlNodePtr
1120
+ XMLPUBFUN xmlNode *
937
1121
  xmlDocGetRootElement (const xmlDoc *doc);
938
- XMLPUBFUN xmlNodePtr
1122
+ XMLPUBFUN xmlNode *
939
1123
  xmlGetLastChild (const xmlNode *parent);
940
1124
  XMLPUBFUN int
941
1125
  xmlNodeIsText (const xmlNode *node);
@@ -945,86 +1129,86 @@ XMLPUBFUN int
945
1129
  /*
946
1130
  * Changing the structure.
947
1131
  */
948
- XMLPUBFUN xmlNodePtr
949
- xmlDocSetRootElement (xmlDocPtr doc,
950
- xmlNodePtr root);
1132
+ XMLPUBFUN xmlNode *
1133
+ xmlDocSetRootElement (xmlDoc *doc,
1134
+ xmlNode *root);
951
1135
  XMLPUBFUN void
952
- xmlNodeSetName (xmlNodePtr cur,
1136
+ xmlNodeSetName (xmlNode *cur,
953
1137
  const xmlChar *name);
954
- XMLPUBFUN xmlNodePtr
955
- xmlAddChild (xmlNodePtr parent,
956
- xmlNodePtr cur);
957
- XMLPUBFUN xmlNodePtr
958
- xmlAddChildList (xmlNodePtr parent,
959
- xmlNodePtr cur);
960
- XMLPUBFUN xmlNodePtr
961
- xmlReplaceNode (xmlNodePtr old,
962
- xmlNodePtr cur);
963
- XMLPUBFUN xmlNodePtr
964
- xmlAddPrevSibling (xmlNodePtr cur,
965
- xmlNodePtr elem);
966
- XMLPUBFUN xmlNodePtr
967
- xmlAddSibling (xmlNodePtr cur,
968
- xmlNodePtr elem);
969
- XMLPUBFUN xmlNodePtr
970
- xmlAddNextSibling (xmlNodePtr cur,
971
- xmlNodePtr elem);
1138
+ XMLPUBFUN xmlNode *
1139
+ xmlAddChild (xmlNode *parent,
1140
+ xmlNode *cur);
1141
+ XMLPUBFUN xmlNode *
1142
+ xmlAddChildList (xmlNode *parent,
1143
+ xmlNode *cur);
1144
+ XMLPUBFUN xmlNode *
1145
+ xmlReplaceNode (xmlNode *old,
1146
+ xmlNode *cur);
1147
+ XMLPUBFUN xmlNode *
1148
+ xmlAddPrevSibling (xmlNode *cur,
1149
+ xmlNode *elem);
1150
+ XMLPUBFUN xmlNode *
1151
+ xmlAddSibling (xmlNode *cur,
1152
+ xmlNode *elem);
1153
+ XMLPUBFUN xmlNode *
1154
+ xmlAddNextSibling (xmlNode *cur,
1155
+ xmlNode *elem);
972
1156
  XMLPUBFUN void
973
- xmlUnlinkNode (xmlNodePtr cur);
974
- XMLPUBFUN xmlNodePtr
975
- xmlTextMerge (xmlNodePtr first,
976
- xmlNodePtr second);
1157
+ xmlUnlinkNode (xmlNode *cur);
1158
+ XMLPUBFUN xmlNode *
1159
+ xmlTextMerge (xmlNode *first,
1160
+ xmlNode *second);
977
1161
  XMLPUBFUN int
978
- xmlTextConcat (xmlNodePtr node,
1162
+ xmlTextConcat (xmlNode *node,
979
1163
  const xmlChar *content,
980
1164
  int len);
981
1165
  XMLPUBFUN void
982
- xmlFreeNodeList (xmlNodePtr cur);
1166
+ xmlFreeNodeList (xmlNode *cur);
983
1167
  XMLPUBFUN void
984
- xmlFreeNode (xmlNodePtr cur);
1168
+ xmlFreeNode (xmlNode *cur);
985
1169
  XMLPUBFUN int
986
- xmlSetTreeDoc (xmlNodePtr tree,
987
- xmlDocPtr doc);
1170
+ xmlSetTreeDoc (xmlNode *tree,
1171
+ xmlDoc *doc);
988
1172
  XMLPUBFUN int
989
- xmlSetListDoc (xmlNodePtr list,
990
- xmlDocPtr doc);
1173
+ xmlSetListDoc (xmlNode *list,
1174
+ xmlDoc *doc);
991
1175
  /*
992
1176
  * Namespaces.
993
1177
  */
994
- XMLPUBFUN xmlNsPtr
995
- xmlSearchNs (xmlDocPtr doc,
996
- xmlNodePtr node,
1178
+ XMLPUBFUN xmlNs *
1179
+ xmlSearchNs (xmlDoc *doc,
1180
+ xmlNode *node,
997
1181
  const xmlChar *nameSpace);
998
- XMLPUBFUN xmlNsPtr
999
- xmlSearchNsByHref (xmlDocPtr doc,
1000
- xmlNodePtr node,
1182
+ XMLPUBFUN xmlNs *
1183
+ xmlSearchNsByHref (xmlDoc *doc,
1184
+ xmlNode *node,
1001
1185
  const xmlChar *href);
1002
1186
  XMLPUBFUN int
1003
1187
  xmlGetNsListSafe (const xmlDoc *doc,
1004
1188
  const xmlNode *node,
1005
- xmlNsPtr **out);
1006
- XMLPUBFUN xmlNsPtr *
1189
+ xmlNs ***out);
1190
+ XMLPUBFUN xmlNs **
1007
1191
  xmlGetNsList (const xmlDoc *doc,
1008
1192
  const xmlNode *node);
1009
1193
 
1010
1194
  XMLPUBFUN void
1011
- xmlSetNs (xmlNodePtr node,
1012
- xmlNsPtr ns);
1013
- XMLPUBFUN xmlNsPtr
1014
- xmlCopyNamespace (xmlNsPtr cur);
1015
- XMLPUBFUN xmlNsPtr
1016
- xmlCopyNamespaceList (xmlNsPtr cur);
1195
+ xmlSetNs (xmlNode *node,
1196
+ xmlNs *ns);
1197
+ XMLPUBFUN xmlNs *
1198
+ xmlCopyNamespace (xmlNs *cur);
1199
+ XMLPUBFUN xmlNs *
1200
+ xmlCopyNamespaceList (xmlNs *cur);
1017
1201
 
1018
1202
  /*
1019
1203
  * Changing the content.
1020
1204
  */
1021
- XMLPUBFUN xmlAttrPtr
1022
- xmlSetProp (xmlNodePtr node,
1205
+ XMLPUBFUN xmlAttr *
1206
+ xmlSetProp (xmlNode *node,
1023
1207
  const xmlChar *name,
1024
1208
  const xmlChar *value);
1025
- XMLPUBFUN xmlAttrPtr
1026
- xmlSetNsProp (xmlNodePtr node,
1027
- xmlNsPtr ns,
1209
+ XMLPUBFUN xmlAttr *
1210
+ xmlSetNsProp (xmlNode *node,
1211
+ xmlNs *ns,
1028
1212
  const xmlChar *name,
1029
1213
  const xmlChar *value);
1030
1214
  XMLPUBFUN int
@@ -1038,10 +1222,10 @@ XMLPUBFUN xmlChar *
1038
1222
  XMLPUBFUN xmlChar *
1039
1223
  xmlGetProp (const xmlNode *node,
1040
1224
  const xmlChar *name);
1041
- XMLPUBFUN xmlAttrPtr
1225
+ XMLPUBFUN xmlAttr *
1042
1226
  xmlHasProp (const xmlNode *node,
1043
1227
  const xmlChar *name);
1044
- XMLPUBFUN xmlAttrPtr
1228
+ XMLPUBFUN xmlAttr *
1045
1229
  xmlHasNsProp (const xmlNode *node,
1046
1230
  const xmlChar *name,
1047
1231
  const xmlChar *nameSpace);
@@ -1049,15 +1233,15 @@ XMLPUBFUN xmlChar *
1049
1233
  xmlGetNsProp (const xmlNode *node,
1050
1234
  const xmlChar *name,
1051
1235
  const xmlChar *nameSpace);
1052
- XMLPUBFUN xmlNodePtr
1236
+ XMLPUBFUN xmlNode *
1053
1237
  xmlStringGetNodeList (const xmlDoc *doc,
1054
1238
  const xmlChar *value);
1055
- XMLPUBFUN xmlNodePtr
1239
+ XMLPUBFUN xmlNode *
1056
1240
  xmlStringLenGetNodeList (const xmlDoc *doc,
1057
1241
  const xmlChar *value,
1058
1242
  int len);
1059
1243
  XMLPUBFUN xmlChar *
1060
- xmlNodeListGetString (xmlDocPtr doc,
1244
+ xmlNodeListGetString (xmlDoc *doc,
1061
1245
  const xmlNode *list,
1062
1246
  int inLine);
1063
1247
  XMLPUBFUN xmlChar *
@@ -1065,27 +1249,27 @@ XMLPUBFUN xmlChar *
1065
1249
  const xmlNode *list,
1066
1250
  int inLine);
1067
1251
  XMLPUBFUN int
1068
- xmlNodeSetContent (xmlNodePtr cur,
1252
+ xmlNodeSetContent (xmlNode *cur,
1069
1253
  const xmlChar *content);
1070
1254
  XMLPUBFUN int
1071
- xmlNodeSetContentLen (xmlNodePtr cur,
1255
+ xmlNodeSetContentLen (xmlNode *cur,
1072
1256
  const xmlChar *content,
1073
1257
  int len);
1074
1258
  XMLPUBFUN int
1075
- xmlNodeAddContent (xmlNodePtr cur,
1259
+ xmlNodeAddContent (xmlNode *cur,
1076
1260
  const xmlChar *content);
1077
1261
  XMLPUBFUN int
1078
- xmlNodeAddContentLen (xmlNodePtr cur,
1262
+ xmlNodeAddContentLen (xmlNode *cur,
1079
1263
  const xmlChar *content,
1080
1264
  int len);
1081
1265
  XMLPUBFUN xmlChar *
1082
1266
  xmlNodeGetContent (const xmlNode *cur);
1083
1267
 
1084
1268
  XMLPUBFUN int
1085
- xmlNodeBufGetContent (xmlBufferPtr buffer,
1269
+ xmlNodeBufGetContent (xmlBuffer *buffer,
1086
1270
  const xmlNode *cur);
1087
1271
  XMLPUBFUN int
1088
- xmlBufGetNodeContent (xmlBufPtr buf,
1272
+ xmlBufGetNodeContent (xmlBuf *buf,
1089
1273
  const xmlNode *cur);
1090
1274
 
1091
1275
  XMLPUBFUN xmlChar *
@@ -1093,10 +1277,10 @@ XMLPUBFUN xmlChar *
1093
1277
  XMLPUBFUN int
1094
1278
  xmlNodeGetSpacePreserve (const xmlNode *cur);
1095
1279
  XMLPUBFUN int
1096
- xmlNodeSetLang (xmlNodePtr cur,
1280
+ xmlNodeSetLang (xmlNode *cur,
1097
1281
  const xmlChar *lang);
1098
1282
  XMLPUBFUN int
1099
- xmlNodeSetSpacePreserve (xmlNodePtr cur,
1283
+ xmlNodeSetSpacePreserve (xmlNode *cur,
1100
1284
  int val);
1101
1285
  XMLPUBFUN int
1102
1286
  xmlNodeGetBaseSafe (const xmlDoc *doc,
@@ -1106,39 +1290,26 @@ XMLPUBFUN xmlChar *
1106
1290
  xmlNodeGetBase (const xmlDoc *doc,
1107
1291
  const xmlNode *cur);
1108
1292
  XMLPUBFUN int
1109
- xmlNodeSetBase (xmlNodePtr cur,
1293
+ xmlNodeSetBase (xmlNode *cur,
1110
1294
  const xmlChar *uri);
1111
1295
 
1112
1296
  /*
1113
1297
  * Removing content.
1114
1298
  */
1115
1299
  XMLPUBFUN int
1116
- xmlRemoveProp (xmlAttrPtr cur);
1300
+ xmlRemoveProp (xmlAttr *cur);
1117
1301
  XMLPUBFUN int
1118
- xmlUnsetNsProp (xmlNodePtr node,
1119
- xmlNsPtr ns,
1302
+ xmlUnsetNsProp (xmlNode *node,
1303
+ xmlNs *ns,
1120
1304
  const xmlChar *name);
1121
1305
  XMLPUBFUN int
1122
- xmlUnsetProp (xmlNodePtr node,
1306
+ xmlUnsetProp (xmlNode *node,
1123
1307
  const xmlChar *name);
1124
1308
 
1125
- /*
1126
- * Internal, don't use.
1127
- */
1128
- XMLPUBFUN void
1129
- xmlBufferWriteCHAR (xmlBufferPtr buf,
1130
- const xmlChar *string);
1131
- XMLPUBFUN void
1132
- xmlBufferWriteChar (xmlBufferPtr buf,
1133
- const char *string);
1134
- XMLPUBFUN void
1135
- xmlBufferWriteQuotedString(xmlBufferPtr buf,
1136
- const xmlChar *string);
1137
-
1138
1309
  #ifdef LIBXML_OUTPUT_ENABLED
1139
- XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
1140
- xmlDocPtr doc,
1141
- xmlAttrPtr attr,
1310
+ XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBuffer *buf,
1311
+ xmlDoc *doc,
1312
+ xmlAttr *attr,
1142
1313
  const xmlChar *string);
1143
1314
  #endif /* LIBXML_OUTPUT_ENABLED */
1144
1315
 
@@ -1146,90 +1317,90 @@ XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
1146
1317
  * Namespace handling.
1147
1318
  */
1148
1319
  XMLPUBFUN int
1149
- xmlReconciliateNs (xmlDocPtr doc,
1150
- xmlNodePtr tree);
1320
+ xmlReconciliateNs (xmlDoc *doc,
1321
+ xmlNode *tree);
1151
1322
 
1152
1323
  #ifdef LIBXML_OUTPUT_ENABLED
1153
1324
  /*
1154
1325
  * Saving.
1155
1326
  */
1156
1327
  XMLPUBFUN void
1157
- xmlDocDumpFormatMemory (xmlDocPtr cur,
1328
+ xmlDocDumpFormatMemory (xmlDoc *cur,
1158
1329
  xmlChar **mem,
1159
1330
  int *size,
1160
1331
  int format);
1161
1332
  XMLPUBFUN void
1162
- xmlDocDumpMemory (xmlDocPtr cur,
1333
+ xmlDocDumpMemory (xmlDoc *cur,
1163
1334
  xmlChar **mem,
1164
1335
  int *size);
1165
1336
  XMLPUBFUN void
1166
- xmlDocDumpMemoryEnc (xmlDocPtr out_doc,
1337
+ xmlDocDumpMemoryEnc (xmlDoc *out_doc,
1167
1338
  xmlChar **doc_txt_ptr,
1168
1339
  int * doc_txt_len,
1169
1340
  const char *txt_encoding);
1170
1341
  XMLPUBFUN void
1171
- xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
1342
+ xmlDocDumpFormatMemoryEnc(xmlDoc *out_doc,
1172
1343
  xmlChar **doc_txt_ptr,
1173
1344
  int * doc_txt_len,
1174
1345
  const char *txt_encoding,
1175
1346
  int format);
1176
1347
  XMLPUBFUN int
1177
1348
  xmlDocFormatDump (FILE *f,
1178
- xmlDocPtr cur,
1349
+ xmlDoc *cur,
1179
1350
  int format);
1180
1351
  XMLPUBFUN int
1181
1352
  xmlDocDump (FILE *f,
1182
- xmlDocPtr cur);
1353
+ xmlDoc *cur);
1183
1354
  XMLPUBFUN void
1184
1355
  xmlElemDump (FILE *f,
1185
- xmlDocPtr doc,
1186
- xmlNodePtr cur);
1356
+ xmlDoc *doc,
1357
+ xmlNode *cur);
1187
1358
  XMLPUBFUN int
1188
1359
  xmlSaveFile (const char *filename,
1189
- xmlDocPtr cur);
1360
+ xmlDoc *cur);
1190
1361
  XMLPUBFUN int
1191
1362
  xmlSaveFormatFile (const char *filename,
1192
- xmlDocPtr cur,
1363
+ xmlDoc *cur,
1193
1364
  int format);
1194
1365
  XMLPUBFUN size_t
1195
- xmlBufNodeDump (xmlBufPtr buf,
1196
- xmlDocPtr doc,
1197
- xmlNodePtr cur,
1366
+ xmlBufNodeDump (xmlBuf *buf,
1367
+ xmlDoc *doc,
1368
+ xmlNode *cur,
1198
1369
  int level,
1199
1370
  int format);
1200
1371
  XMLPUBFUN int
1201
- xmlNodeDump (xmlBufferPtr buf,
1202
- xmlDocPtr doc,
1203
- xmlNodePtr cur,
1372
+ xmlNodeDump (xmlBuffer *buf,
1373
+ xmlDoc *doc,
1374
+ xmlNode *cur,
1204
1375
  int level,
1205
1376
  int format);
1206
1377
 
1207
1378
  XMLPUBFUN int
1208
- xmlSaveFileTo (xmlOutputBufferPtr buf,
1209
- xmlDocPtr cur,
1379
+ xmlSaveFileTo (xmlOutputBuffer *buf,
1380
+ xmlDoc *cur,
1210
1381
  const char *encoding);
1211
1382
  XMLPUBFUN int
1212
- xmlSaveFormatFileTo (xmlOutputBufferPtr buf,
1213
- xmlDocPtr cur,
1383
+ xmlSaveFormatFileTo (xmlOutputBuffer *buf,
1384
+ xmlDoc *cur,
1214
1385
  const char *encoding,
1215
1386
  int format);
1216
1387
  XMLPUBFUN void
1217
- xmlNodeDumpOutput (xmlOutputBufferPtr buf,
1218
- xmlDocPtr doc,
1219
- xmlNodePtr cur,
1388
+ xmlNodeDumpOutput (xmlOutputBuffer *buf,
1389
+ xmlDoc *doc,
1390
+ xmlNode *cur,
1220
1391
  int level,
1221
1392
  int format,
1222
1393
  const char *encoding);
1223
1394
 
1224
1395
  XMLPUBFUN int
1225
1396
  xmlSaveFormatFileEnc (const char *filename,
1226
- xmlDocPtr cur,
1397
+ xmlDoc *cur,
1227
1398
  const char *encoding,
1228
1399
  int format);
1229
1400
 
1230
1401
  XMLPUBFUN int
1231
1402
  xmlSaveFileEnc (const char *filename,
1232
- xmlDocPtr cur,
1403
+ xmlDoc *cur,
1233
1404
  const char *encoding);
1234
1405
 
1235
1406
  #endif /* LIBXML_OUTPUT_ENABLED */
@@ -1246,7 +1417,7 @@ XMLPUBFUN int
1246
1417
  XMLPUBFUN int
1247
1418
  xmlGetDocCompressMode (const xmlDoc *doc);
1248
1419
  XMLPUBFUN void
1249
- xmlSetDocCompressMode (xmlDocPtr doc,
1420
+ xmlSetDocCompressMode (xmlDoc *doc,
1250
1421
  int mode);
1251
1422
  XML_DEPRECATED
1252
1423
  XMLPUBFUN int
@@ -1258,33 +1429,33 @@ XMLPUBFUN void
1258
1429
  /*
1259
1430
  * DOM-wrapper helper functions.
1260
1431
  */
1261
- XMLPUBFUN xmlDOMWrapCtxtPtr
1432
+ XMLPUBFUN xmlDOMWrapCtxt *
1262
1433
  xmlDOMWrapNewCtxt (void);
1263
1434
  XMLPUBFUN void
1264
- xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt);
1435
+ xmlDOMWrapFreeCtxt (xmlDOMWrapCtxt *ctxt);
1265
1436
  XMLPUBFUN int
1266
- xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
1267
- xmlNodePtr elem,
1437
+ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxt *ctxt,
1438
+ xmlNode *elem,
1268
1439
  int options);
1269
1440
  XMLPUBFUN int
1270
- xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt,
1271
- xmlDocPtr sourceDoc,
1272
- xmlNodePtr node,
1273
- xmlDocPtr destDoc,
1274
- xmlNodePtr destParent,
1441
+ xmlDOMWrapAdoptNode (xmlDOMWrapCtxt *ctxt,
1442
+ xmlDoc *sourceDoc,
1443
+ xmlNode *node,
1444
+ xmlDoc *destDoc,
1445
+ xmlNode *destParent,
1275
1446
  int options);
1276
1447
  XMLPUBFUN int
1277
- xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt,
1278
- xmlDocPtr doc,
1279
- xmlNodePtr node,
1448
+ xmlDOMWrapRemoveNode (xmlDOMWrapCtxt *ctxt,
1449
+ xmlDoc *doc,
1450
+ xmlNode *node,
1280
1451
  int options);
1281
1452
  XMLPUBFUN int
1282
- xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt,
1283
- xmlDocPtr sourceDoc,
1284
- xmlNodePtr node,
1285
- xmlNodePtr *clonedNode,
1286
- xmlDocPtr destDoc,
1287
- xmlNodePtr destParent,
1453
+ xmlDOMWrapCloneNode (xmlDOMWrapCtxt *ctxt,
1454
+ xmlDoc *sourceDoc,
1455
+ xmlNode *node,
1456
+ xmlNode **clonedNode,
1457
+ xmlDoc *destDoc,
1458
+ xmlNode *destParent,
1288
1459
  int deep,
1289
1460
  int options);
1290
1461
 
@@ -1293,15 +1464,15 @@ XMLPUBFUN int
1293
1464
  * traversal.
1294
1465
  */
1295
1466
  XMLPUBFUN unsigned long
1296
- xmlChildElementCount (xmlNodePtr parent);
1297
- XMLPUBFUN xmlNodePtr
1298
- xmlNextElementSibling (xmlNodePtr node);
1299
- XMLPUBFUN xmlNodePtr
1300
- xmlFirstElementChild (xmlNodePtr parent);
1301
- XMLPUBFUN xmlNodePtr
1302
- xmlLastElementChild (xmlNodePtr parent);
1303
- XMLPUBFUN xmlNodePtr
1304
- xmlPreviousElementSibling (xmlNodePtr node);
1467
+ xmlChildElementCount (xmlNode *parent);
1468
+ XMLPUBFUN xmlNode *
1469
+ xmlNextElementSibling (xmlNode *node);
1470
+ XMLPUBFUN xmlNode *
1471
+ xmlFirstElementChild (xmlNode *parent);
1472
+ XMLPUBFUN xmlNode *
1473
+ xmlLastElementChild (xmlNode *parent);
1474
+ XMLPUBFUN xmlNode *
1475
+ xmlPreviousElementSibling (xmlNode *node);
1305
1476
 
1306
1477
  XML_DEPRECATED
1307
1478
  XMLPUBFUN xmlRegisterNodeFunc
@@ -1316,6 +1487,85 @@ XML_DEPRECATED
1316
1487
  XMLPUBFUN xmlDeregisterNodeFunc
1317
1488
  xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
1318
1489
 
1490
+ /*
1491
+ * Handling Buffers, the old ones see `xmlBuf` for the new ones.
1492
+ */
1493
+
1494
+ XML_DEPRECATED
1495
+ XMLPUBFUN void
1496
+ xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
1497
+ XML_DEPRECATED
1498
+ XMLPUBFUN xmlBufferAllocationScheme
1499
+ xmlGetBufferAllocationScheme(void);
1500
+
1501
+ XMLPUBFUN xmlBuffer *
1502
+ xmlBufferCreate (void);
1503
+ XMLPUBFUN xmlBuffer *
1504
+ xmlBufferCreateSize (size_t size);
1505
+ XMLPUBFUN xmlBuffer *
1506
+ xmlBufferCreateStatic (void *mem,
1507
+ size_t size);
1508
+ XML_DEPRECATED
1509
+ XMLPUBFUN int
1510
+ xmlBufferResize (xmlBuffer *buf,
1511
+ unsigned int size);
1512
+ XMLPUBFUN void
1513
+ xmlBufferFree (xmlBuffer *buf);
1514
+ XMLPUBFUN int
1515
+ xmlBufferDump (FILE *file,
1516
+ xmlBuffer *buf);
1517
+ XMLPUBFUN int
1518
+ xmlBufferAdd (xmlBuffer *buf,
1519
+ const xmlChar *str,
1520
+ int len);
1521
+ XMLPUBFUN int
1522
+ xmlBufferAddHead (xmlBuffer *buf,
1523
+ const xmlChar *str,
1524
+ int len);
1525
+ XMLPUBFUN int
1526
+ xmlBufferCat (xmlBuffer *buf,
1527
+ const xmlChar *str);
1528
+ XMLPUBFUN int
1529
+ xmlBufferCCat (xmlBuffer *buf,
1530
+ const char *str);
1531
+ XML_DEPRECATED
1532
+ XMLPUBFUN int
1533
+ xmlBufferShrink (xmlBuffer *buf,
1534
+ unsigned int len);
1535
+ XML_DEPRECATED
1536
+ XMLPUBFUN int
1537
+ xmlBufferGrow (xmlBuffer *buf,
1538
+ unsigned int len);
1539
+ XMLPUBFUN void
1540
+ xmlBufferEmpty (xmlBuffer *buf);
1541
+ XMLPUBFUN const xmlChar*
1542
+ xmlBufferContent (const xmlBuffer *buf);
1543
+ XMLPUBFUN xmlChar*
1544
+ xmlBufferDetach (xmlBuffer *buf);
1545
+ XMLPUBFUN void
1546
+ xmlBufferSetAllocationScheme(xmlBuffer *buf,
1547
+ xmlBufferAllocationScheme scheme);
1548
+ XMLPUBFUN int
1549
+ xmlBufferLength (const xmlBuffer *buf);
1550
+ XMLPUBFUN void
1551
+ xmlBufferWriteCHAR (xmlBuffer *buf,
1552
+ const xmlChar *string);
1553
+ XMLPUBFUN void
1554
+ xmlBufferWriteChar (xmlBuffer *buf,
1555
+ const char *string);
1556
+ XMLPUBFUN void
1557
+ xmlBufferWriteQuotedString(xmlBuffer *buf,
1558
+ const xmlChar *string);
1559
+
1560
+ /*
1561
+ * A few public routines for xmlBuf. As those are expected to be used
1562
+ * mostly internally the bulk of the routines are internal in buf.h
1563
+ */
1564
+ XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf);
1565
+ XMLPUBFUN xmlChar* xmlBufEnd (xmlBuf *buf);
1566
+ XMLPUBFUN size_t xmlBufUse (xmlBuf *buf);
1567
+ XMLPUBFUN size_t xmlBufShrink (xmlBuf *buf, size_t len);
1568
+
1319
1569
  #ifdef __cplusplus
1320
1570
  }
1321
1571
  #endif