Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/lxml/includes/libxml/tree.h @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author | shellac |
---|---|
date | Sat, 02 May 2020 07:14:21 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:26e78fe6e8c4 |
---|---|
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 | |
6 * | |
7 * Copy: See Copyright for the status of this software. | |
8 * | |
9 * Author: Daniel Veillard | |
10 */ | |
11 | |
12 #ifndef __XML_TREE_H__ | |
13 #define __XML_TREE_H__ | |
14 | |
15 #include <stdio.h> | |
16 #include <limits.h> | |
17 #include <libxml/xmlversion.h> | |
18 #include <libxml/xmlstring.h> | |
19 | |
20 #ifdef __cplusplus | |
21 extern "C" { | |
22 #endif | |
23 | |
24 /* | |
25 * Some of the basic types pointer to structures: | |
26 */ | |
27 /* xmlIO.h */ | |
28 typedef struct _xmlParserInputBuffer xmlParserInputBuffer; | |
29 typedef xmlParserInputBuffer *xmlParserInputBufferPtr; | |
30 | |
31 typedef struct _xmlOutputBuffer xmlOutputBuffer; | |
32 typedef xmlOutputBuffer *xmlOutputBufferPtr; | |
33 | |
34 /* parser.h */ | |
35 typedef struct _xmlParserInput xmlParserInput; | |
36 typedef xmlParserInput *xmlParserInputPtr; | |
37 | |
38 typedef struct _xmlParserCtxt xmlParserCtxt; | |
39 typedef xmlParserCtxt *xmlParserCtxtPtr; | |
40 | |
41 typedef struct _xmlSAXLocator xmlSAXLocator; | |
42 typedef xmlSAXLocator *xmlSAXLocatorPtr; | |
43 | |
44 typedef struct _xmlSAXHandler xmlSAXHandler; | |
45 typedef xmlSAXHandler *xmlSAXHandlerPtr; | |
46 | |
47 /* entities.h */ | |
48 typedef struct _xmlEntity xmlEntity; | |
49 typedef xmlEntity *xmlEntityPtr; | |
50 | |
51 /** | |
52 * BASE_BUFFER_SIZE: | |
53 * | |
54 * default buffer size 4000. | |
55 */ | |
56 #define BASE_BUFFER_SIZE 4096 | |
57 | |
58 /** | |
59 * LIBXML_NAMESPACE_DICT: | |
60 * | |
61 * Defines experimental behaviour: | |
62 * 1) xmlNs gets an additional field @context (a xmlDoc) | |
63 * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc. | |
64 */ | |
65 /* #define LIBXML_NAMESPACE_DICT */ | |
66 | |
67 /** | |
68 * xmlBufferAllocationScheme: | |
69 * | |
70 * A buffer allocation scheme can be defined to either match exactly the | |
71 * need or double it's allocated size each time it is found too small. | |
72 */ | |
73 | |
74 typedef enum { | |
75 XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ | |
76 XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ | |
77 XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */ | |
78 XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ | |
79 XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ | |
80 XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ | |
81 } xmlBufferAllocationScheme; | |
82 | |
83 /** | |
84 * xmlBuffer: | |
85 * | |
86 * A buffer structure, this old construct is limited to 2GB and | |
87 * is being deprecated, use API with xmlBuf instead | |
88 */ | |
89 typedef struct _xmlBuffer xmlBuffer; | |
90 typedef xmlBuffer *xmlBufferPtr; | |
91 struct _xmlBuffer { | |
92 xmlChar *content; /* The buffer content UTF8 */ | |
93 unsigned int use; /* The buffer size used */ | |
94 unsigned int size; /* The buffer size */ | |
95 xmlBufferAllocationScheme alloc; /* The realloc method */ | |
96 xmlChar *contentIO; /* in IO mode we may have a different base */ | |
97 }; | |
98 | |
99 /** | |
100 * xmlBuf: | |
101 * | |
102 * A buffer structure, new one, the actual structure internals are not public | |
103 */ | |
104 | |
105 typedef struct _xmlBuf xmlBuf; | |
106 | |
107 /** | |
108 * xmlBufPtr: | |
109 * | |
110 * A pointer to a buffer structure, the actual structure internals are not | |
111 * public | |
112 */ | |
113 | |
114 typedef xmlBuf *xmlBufPtr; | |
115 | |
116 /* | |
117 * A few public routines for xmlBuf. As those are expected to be used | |
118 * mostly internally the bulk of the routines are internal in buf.h | |
119 */ | |
120 XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBuf* buf); | |
121 XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (xmlBufPtr buf); | |
122 XMLPUBFUN size_t XMLCALL xmlBufUse (const xmlBufPtr buf); | |
123 XMLPUBFUN size_t XMLCALL xmlBufShrink (xmlBufPtr buf, size_t len); | |
124 | |
125 /* | |
126 * LIBXML2_NEW_BUFFER: | |
127 * | |
128 * Macro used to express that the API use the new buffers for | |
129 * xmlParserInputBuffer and xmlOutputBuffer. The change was | |
130 * introduced in 2.9.0. | |
131 */ | |
132 #define LIBXML2_NEW_BUFFER | |
133 | |
134 /** | |
135 * XML_XML_NAMESPACE: | |
136 * | |
137 * This is the namespace for the special xml: prefix predefined in the | |
138 * XML Namespace specification. | |
139 */ | |
140 #define XML_XML_NAMESPACE \ | |
141 (const xmlChar *) "http://www.w3.org/XML/1998/namespace" | |
142 | |
143 /** | |
144 * XML_XML_ID: | |
145 * | |
146 * This is the name for the special xml:id attribute | |
147 */ | |
148 #define XML_XML_ID (const xmlChar *) "xml:id" | |
149 | |
150 /* | |
151 * The different element types carried by an XML tree. | |
152 * | |
153 * NOTE: This is synchronized with DOM Level1 values | |
154 * See http://www.w3.org/TR/REC-DOM-Level-1/ | |
155 * | |
156 * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should | |
157 * be deprecated to use an XML_DTD_NODE. | |
158 */ | |
159 typedef enum { | |
160 XML_ELEMENT_NODE= 1, | |
161 XML_ATTRIBUTE_NODE= 2, | |
162 XML_TEXT_NODE= 3, | |
163 XML_CDATA_SECTION_NODE= 4, | |
164 XML_ENTITY_REF_NODE= 5, | |
165 XML_ENTITY_NODE= 6, | |
166 XML_PI_NODE= 7, | |
167 XML_COMMENT_NODE= 8, | |
168 XML_DOCUMENT_NODE= 9, | |
169 XML_DOCUMENT_TYPE_NODE= 10, | |
170 XML_DOCUMENT_FRAG_NODE= 11, | |
171 XML_NOTATION_NODE= 12, | |
172 XML_HTML_DOCUMENT_NODE= 13, | |
173 XML_DTD_NODE= 14, | |
174 XML_ELEMENT_DECL= 15, | |
175 XML_ATTRIBUTE_DECL= 16, | |
176 XML_ENTITY_DECL= 17, | |
177 XML_NAMESPACE_DECL= 18, | |
178 XML_XINCLUDE_START= 19, | |
179 XML_XINCLUDE_END= 20 | |
180 #ifdef LIBXML_DOCB_ENABLED | |
181 ,XML_DOCB_DOCUMENT_NODE= 21 | |
182 #endif | |
183 } xmlElementType; | |
184 | |
185 | |
186 /** | |
187 * xmlNotation: | |
188 * | |
189 * A DTD Notation definition. | |
190 */ | |
191 | |
192 typedef struct _xmlNotation xmlNotation; | |
193 typedef xmlNotation *xmlNotationPtr; | |
194 struct _xmlNotation { | |
195 const xmlChar *name; /* Notation name */ | |
196 const xmlChar *PublicID; /* Public identifier, if any */ | |
197 const xmlChar *SystemID; /* System identifier, if any */ | |
198 }; | |
199 | |
200 /** | |
201 * xmlAttributeType: | |
202 * | |
203 * A DTD Attribute type definition. | |
204 */ | |
205 | |
206 typedef enum { | |
207 XML_ATTRIBUTE_CDATA = 1, | |
208 XML_ATTRIBUTE_ID, | |
209 XML_ATTRIBUTE_IDREF , | |
210 XML_ATTRIBUTE_IDREFS, | |
211 XML_ATTRIBUTE_ENTITY, | |
212 XML_ATTRIBUTE_ENTITIES, | |
213 XML_ATTRIBUTE_NMTOKEN, | |
214 XML_ATTRIBUTE_NMTOKENS, | |
215 XML_ATTRIBUTE_ENUMERATION, | |
216 XML_ATTRIBUTE_NOTATION | |
217 } xmlAttributeType; | |
218 | |
219 /** | |
220 * xmlAttributeDefault: | |
221 * | |
222 * A DTD Attribute default definition. | |
223 */ | |
224 | |
225 typedef enum { | |
226 XML_ATTRIBUTE_NONE = 1, | |
227 XML_ATTRIBUTE_REQUIRED, | |
228 XML_ATTRIBUTE_IMPLIED, | |
229 XML_ATTRIBUTE_FIXED | |
230 } xmlAttributeDefault; | |
231 | |
232 /** | |
233 * xmlEnumeration: | |
234 * | |
235 * List structure used when there is an enumeration in DTDs. | |
236 */ | |
237 | |
238 typedef struct _xmlEnumeration xmlEnumeration; | |
239 typedef xmlEnumeration *xmlEnumerationPtr; | |
240 struct _xmlEnumeration { | |
241 struct _xmlEnumeration *next; /* next one */ | |
242 const xmlChar *name; /* Enumeration name */ | |
243 }; | |
244 | |
245 /** | |
246 * xmlAttribute: | |
247 * | |
248 * An Attribute declaration in a DTD. | |
249 */ | |
250 | |
251 typedef struct _xmlAttribute xmlAttribute; | |
252 typedef xmlAttribute *xmlAttributePtr; | |
253 struct _xmlAttribute { | |
254 void *_private; /* application data */ | |
255 xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ | |
256 const xmlChar *name; /* Attribute name */ | |
257 struct _xmlNode *children; /* NULL */ | |
258 struct _xmlNode *last; /* NULL */ | |
259 struct _xmlDtd *parent; /* -> DTD */ | |
260 struct _xmlNode *next; /* next sibling link */ | |
261 struct _xmlNode *prev; /* previous sibling link */ | |
262 struct _xmlDoc *doc; /* the containing document */ | |
263 | |
264 struct _xmlAttribute *nexth; /* next in hash table */ | |
265 xmlAttributeType atype; /* The attribute type */ | |
266 xmlAttributeDefault def; /* the default */ | |
267 const xmlChar *defaultValue; /* or the default value */ | |
268 xmlEnumerationPtr tree; /* or the enumeration tree if any */ | |
269 const xmlChar *prefix; /* the namespace prefix if any */ | |
270 const xmlChar *elem; /* Element holding the attribute */ | |
271 }; | |
272 | |
273 /** | |
274 * xmlElementContentType: | |
275 * | |
276 * Possible definitions of element content types. | |
277 */ | |
278 typedef enum { | |
279 XML_ELEMENT_CONTENT_PCDATA = 1, | |
280 XML_ELEMENT_CONTENT_ELEMENT, | |
281 XML_ELEMENT_CONTENT_SEQ, | |
282 XML_ELEMENT_CONTENT_OR | |
283 } xmlElementContentType; | |
284 | |
285 /** | |
286 * xmlElementContentOccur: | |
287 * | |
288 * Possible definitions of element content occurrences. | |
289 */ | |
290 typedef enum { | |
291 XML_ELEMENT_CONTENT_ONCE = 1, | |
292 XML_ELEMENT_CONTENT_OPT, | |
293 XML_ELEMENT_CONTENT_MULT, | |
294 XML_ELEMENT_CONTENT_PLUS | |
295 } xmlElementContentOccur; | |
296 | |
297 /** | |
298 * xmlElementContent: | |
299 * | |
300 * An XML Element content as stored after parsing an element definition | |
301 * in a DTD. | |
302 */ | |
303 | |
304 typedef struct _xmlElementContent xmlElementContent; | |
305 typedef xmlElementContent *xmlElementContentPtr; | |
306 struct _xmlElementContent { | |
307 xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ | |
308 xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ | |
309 const xmlChar *name; /* Element name */ | |
310 struct _xmlElementContent *c1; /* first child */ | |
311 struct _xmlElementContent *c2; /* second child */ | |
312 struct _xmlElementContent *parent; /* parent */ | |
313 const xmlChar *prefix; /* Namespace prefix */ | |
314 }; | |
315 | |
316 /** | |
317 * xmlElementTypeVal: | |
318 * | |
319 * The different possibilities for an element content type. | |
320 */ | |
321 | |
322 typedef enum { | |
323 XML_ELEMENT_TYPE_UNDEFINED = 0, | |
324 XML_ELEMENT_TYPE_EMPTY = 1, | |
325 XML_ELEMENT_TYPE_ANY, | |
326 XML_ELEMENT_TYPE_MIXED, | |
327 XML_ELEMENT_TYPE_ELEMENT | |
328 } xmlElementTypeVal; | |
329 | |
330 #ifdef __cplusplus | |
331 } | |
332 #endif | |
333 #include <libxml/xmlregexp.h> | |
334 #ifdef __cplusplus | |
335 extern "C" { | |
336 #endif | |
337 | |
338 /** | |
339 * xmlElement: | |
340 * | |
341 * An XML Element declaration from a DTD. | |
342 */ | |
343 | |
344 typedef struct _xmlElement xmlElement; | |
345 typedef xmlElement *xmlElementPtr; | |
346 struct _xmlElement { | |
347 void *_private; /* application data */ | |
348 xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ | |
349 const xmlChar *name; /* Element name */ | |
350 struct _xmlNode *children; /* NULL */ | |
351 struct _xmlNode *last; /* NULL */ | |
352 struct _xmlDtd *parent; /* -> DTD */ | |
353 struct _xmlNode *next; /* next sibling link */ | |
354 struct _xmlNode *prev; /* previous sibling link */ | |
355 struct _xmlDoc *doc; /* the containing document */ | |
356 | |
357 xmlElementTypeVal etype; /* The type */ | |
358 xmlElementContentPtr content; /* the allowed element content */ | |
359 xmlAttributePtr attributes; /* List of the declared attributes */ | |
360 const xmlChar *prefix; /* the namespace prefix if any */ | |
361 #ifdef LIBXML_REGEXP_ENABLED | |
362 xmlRegexpPtr contModel; /* the validating regexp */ | |
363 #else | |
364 void *contModel; | |
365 #endif | |
366 }; | |
367 | |
368 | |
369 /** | |
370 * XML_LOCAL_NAMESPACE: | |
371 * | |
372 * A namespace declaration node. | |
373 */ | |
374 #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL | |
375 typedef xmlElementType xmlNsType; | |
376 | |
377 /** | |
378 * xmlNs: | |
379 * | |
380 * An XML namespace. | |
381 * Note that prefix == NULL is valid, it defines the default namespace | |
382 * within the subtree (until overridden). | |
383 * | |
384 * xmlNsType is unified with xmlElementType. | |
385 */ | |
386 | |
387 typedef struct _xmlNs xmlNs; | |
388 typedef xmlNs *xmlNsPtr; | |
389 struct _xmlNs { | |
390 struct _xmlNs *next; /* next Ns link for this node */ | |
391 xmlNsType type; /* global or local */ | |
392 const xmlChar *href; /* URL for the namespace */ | |
393 const xmlChar *prefix; /* prefix for the namespace */ | |
394 void *_private; /* application data */ | |
395 struct _xmlDoc *context; /* normally an xmlDoc */ | |
396 }; | |
397 | |
398 /** | |
399 * xmlDtd: | |
400 * | |
401 * An XML DTD, as defined by <!DOCTYPE ... There is actually one for | |
402 * the internal subset and for the external subset. | |
403 */ | |
404 typedef struct _xmlDtd xmlDtd; | |
405 typedef xmlDtd *xmlDtdPtr; | |
406 struct _xmlDtd { | |
407 void *_private; /* application data */ | |
408 xmlElementType type; /* XML_DTD_NODE, must be second ! */ | |
409 const xmlChar *name; /* Name of the DTD */ | |
410 struct _xmlNode *children; /* the value of the property link */ | |
411 struct _xmlNode *last; /* last child link */ | |
412 struct _xmlDoc *parent; /* child->parent link */ | |
413 struct _xmlNode *next; /* next sibling link */ | |
414 struct _xmlNode *prev; /* previous sibling link */ | |
415 struct _xmlDoc *doc; /* the containing document */ | |
416 | |
417 /* End of common part */ | |
418 void *notations; /* Hash table for notations if any */ | |
419 void *elements; /* Hash table for elements if any */ | |
420 void *attributes; /* Hash table for attributes if any */ | |
421 void *entities; /* Hash table for entities if any */ | |
422 const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ | |
423 const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ | |
424 void *pentities; /* Hash table for param entities if any */ | |
425 }; | |
426 | |
427 /** | |
428 * xmlAttr: | |
429 * | |
430 * An attribute on an XML node. | |
431 */ | |
432 typedef struct _xmlAttr xmlAttr; | |
433 typedef xmlAttr *xmlAttrPtr; | |
434 struct _xmlAttr { | |
435 void *_private; /* application data */ | |
436 xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ | |
437 const xmlChar *name; /* the name of the property */ | |
438 struct _xmlNode *children; /* the value of the property */ | |
439 struct _xmlNode *last; /* NULL */ | |
440 struct _xmlNode *parent; /* child->parent link */ | |
441 struct _xmlAttr *next; /* next sibling link */ | |
442 struct _xmlAttr *prev; /* previous sibling link */ | |
443 struct _xmlDoc *doc; /* the containing document */ | |
444 xmlNs *ns; /* pointer to the associated namespace */ | |
445 xmlAttributeType atype; /* the attribute type if validating */ | |
446 void *psvi; /* for type/PSVI informations */ | |
447 }; | |
448 | |
449 /** | |
450 * xmlID: | |
451 * | |
452 * An XML ID instance. | |
453 */ | |
454 | |
455 typedef struct _xmlID xmlID; | |
456 typedef xmlID *xmlIDPtr; | |
457 struct _xmlID { | |
458 struct _xmlID *next; /* next ID */ | |
459 const xmlChar *value; /* The ID name */ | |
460 xmlAttrPtr attr; /* The attribute holding it */ | |
461 const xmlChar *name; /* The attribute if attr is not available */ | |
462 int lineno; /* The line number if attr is not available */ | |
463 struct _xmlDoc *doc; /* The document holding the ID */ | |
464 }; | |
465 | |
466 /** | |
467 * xmlRef: | |
468 * | |
469 * An XML IDREF instance. | |
470 */ | |
471 | |
472 typedef struct _xmlRef xmlRef; | |
473 typedef xmlRef *xmlRefPtr; | |
474 struct _xmlRef { | |
475 struct _xmlRef *next; /* next Ref */ | |
476 const xmlChar *value; /* The Ref name */ | |
477 xmlAttrPtr attr; /* The attribute holding it */ | |
478 const xmlChar *name; /* The attribute if attr is not available */ | |
479 int lineno; /* The line number if attr is not available */ | |
480 }; | |
481 | |
482 /** | |
483 * xmlNode: | |
484 * | |
485 * A node in an XML tree. | |
486 */ | |
487 typedef struct _xmlNode xmlNode; | |
488 typedef xmlNode *xmlNodePtr; | |
489 struct _xmlNode { | |
490 void *_private; /* application data */ | |
491 xmlElementType type; /* type number, must be second ! */ | |
492 const xmlChar *name; /* the name of the node, or the entity */ | |
493 struct _xmlNode *children; /* parent->childs link */ | |
494 struct _xmlNode *last; /* last child link */ | |
495 struct _xmlNode *parent; /* child->parent link */ | |
496 struct _xmlNode *next; /* next sibling link */ | |
497 struct _xmlNode *prev; /* previous sibling link */ | |
498 struct _xmlDoc *doc; /* the containing document */ | |
499 | |
500 /* End of common part */ | |
501 xmlNs *ns; /* pointer to the associated namespace */ | |
502 xmlChar *content; /* the content */ | |
503 struct _xmlAttr *properties;/* properties list */ | |
504 xmlNs *nsDef; /* namespace definitions on this node */ | |
505 void *psvi; /* for type/PSVI informations */ | |
506 unsigned short line; /* line number */ | |
507 unsigned short extra; /* extra data for XPath/XSLT */ | |
508 }; | |
509 | |
510 /** | |
511 * XML_GET_CONTENT: | |
512 * | |
513 * Macro to extract the content pointer of a node. | |
514 */ | |
515 #define XML_GET_CONTENT(n) \ | |
516 ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) | |
517 | |
518 /** | |
519 * XML_GET_LINE: | |
520 * | |
521 * Macro to extract the line number of an element node. | |
522 */ | |
523 #define XML_GET_LINE(n) \ | |
524 (xmlGetLineNo(n)) | |
525 | |
526 /** | |
527 * xmlDocProperty | |
528 * | |
529 * Set of properties of the document as found by the parser | |
530 * Some of them are linked to similarly named xmlParserOption | |
531 */ | |
532 typedef enum { | |
533 XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */ | |
534 XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */ | |
535 XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */ | |
536 XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */ | |
537 XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */ | |
538 XML_DOC_USERBUILT = 1<<5, /* Document was built using the API | |
539 and not by parsing an instance */ | |
540 XML_DOC_INTERNAL = 1<<6, /* built for internal processing */ | |
541 XML_DOC_HTML = 1<<7 /* parsed or built HTML document */ | |
542 } xmlDocProperties; | |
543 | |
544 /** | |
545 * xmlDoc: | |
546 * | |
547 * An XML document. | |
548 */ | |
549 typedef struct _xmlDoc xmlDoc; | |
550 typedef xmlDoc *xmlDocPtr; | |
551 struct _xmlDoc { | |
552 void *_private; /* application data */ | |
553 xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ | |
554 char *name; /* name/filename/URI of the document */ | |
555 struct _xmlNode *children; /* the document tree */ | |
556 struct _xmlNode *last; /* last child link */ | |
557 struct _xmlNode *parent; /* child->parent link */ | |
558 struct _xmlNode *next; /* next sibling link */ | |
559 struct _xmlNode *prev; /* previous sibling link */ | |
560 struct _xmlDoc *doc; /* autoreference to itself */ | |
561 | |
562 /* End of common part */ | |
563 int compression;/* level of zlib compression */ | |
564 int standalone; /* standalone document (no external refs) | |
565 1 if standalone="yes" | |
566 0 if standalone="no" | |
567 -1 if there is no XML declaration | |
568 -2 if there is an XML declaration, but no | |
569 standalone attribute was specified */ | |
570 struct _xmlDtd *intSubset; /* the document internal subset */ | |
571 struct _xmlDtd *extSubset; /* the document external subset */ | |
572 struct _xmlNs *oldNs; /* Global namespace, the old way */ | |
573 const xmlChar *version; /* the XML version string */ | |
574 const xmlChar *encoding; /* external initial encoding, if any */ | |
575 void *ids; /* Hash table for ID attributes if any */ | |
576 void *refs; /* Hash table for IDREFs attributes if any */ | |
577 const xmlChar *URL; /* The URI for that document */ | |
578 int charset; /* Internal flag for charset handling, | |
579 actually an xmlCharEncoding */ | |
580 struct _xmlDict *dict; /* dict used to allocate names or NULL */ | |
581 void *psvi; /* for type/PSVI informations */ | |
582 int parseFlags; /* set of xmlParserOption used to parse the | |
583 document */ | |
584 int properties; /* set of xmlDocProperties for this document | |
585 set at the end of parsing */ | |
586 }; | |
587 | |
588 | |
589 typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; | |
590 typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; | |
591 | |
592 /** | |
593 * xmlDOMWrapAcquireNsFunction: | |
594 * @ctxt: a DOM wrapper context | |
595 * @node: the context node (element or attribute) | |
596 * @nsName: the requested namespace name | |
597 * @nsPrefix: the requested namespace prefix | |
598 * | |
599 * A function called to acquire namespaces (xmlNs) from the wrapper. | |
600 * | |
601 * Returns an xmlNsPtr or NULL in case of an error. | |
602 */ | |
603 typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, | |
604 xmlNodePtr node, | |
605 const xmlChar *nsName, | |
606 const xmlChar *nsPrefix); | |
607 | |
608 /** | |
609 * xmlDOMWrapCtxt: | |
610 * | |
611 * Context for DOM wrapper-operations. | |
612 */ | |
613 struct _xmlDOMWrapCtxt { | |
614 void * _private; | |
615 /* | |
616 * The type of this context, just in case we need specialized | |
617 * contexts in the future. | |
618 */ | |
619 int type; | |
620 /* | |
621 * Internal namespace map used for various operations. | |
622 */ | |
623 void * namespaceMap; | |
624 /* | |
625 * Use this one to acquire an xmlNsPtr intended for node->ns. | |
626 * (Note that this is not intended for elem->nsDef). | |
627 */ | |
628 xmlDOMWrapAcquireNsFunction getNsForNodeFunc; | |
629 }; | |
630 | |
631 /** | |
632 * xmlChildrenNode: | |
633 * | |
634 * Macro for compatibility naming layer with libxml1. Maps | |
635 * to "children." | |
636 */ | |
637 #ifndef xmlChildrenNode | |
638 #define xmlChildrenNode children | |
639 #endif | |
640 | |
641 /** | |
642 * xmlRootNode: | |
643 * | |
644 * Macro for compatibility naming layer with libxml1. Maps | |
645 * to "children". | |
646 */ | |
647 #ifndef xmlRootNode | |
648 #define xmlRootNode children | |
649 #endif | |
650 | |
651 /* | |
652 * Variables. | |
653 */ | |
654 | |
655 /* | |
656 * Some helper functions | |
657 */ | |
658 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ | |
659 defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \ | |
660 defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \ | |
661 defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \ | |
662 defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) | |
663 XMLPUBFUN int XMLCALL | |
664 xmlValidateNCName (const xmlChar *value, | |
665 int space); | |
666 #endif | |
667 | |
668 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) | |
669 XMLPUBFUN int XMLCALL | |
670 xmlValidateQName (const xmlChar *value, | |
671 int space); | |
672 XMLPUBFUN int XMLCALL | |
673 xmlValidateName (const xmlChar *value, | |
674 int space); | |
675 XMLPUBFUN int XMLCALL | |
676 xmlValidateNMToken (const xmlChar *value, | |
677 int space); | |
678 #endif | |
679 | |
680 XMLPUBFUN xmlChar * XMLCALL | |
681 xmlBuildQName (const xmlChar *ncname, | |
682 const xmlChar *prefix, | |
683 xmlChar *memory, | |
684 int len); | |
685 XMLPUBFUN xmlChar * XMLCALL | |
686 xmlSplitQName2 (const xmlChar *name, | |
687 xmlChar **prefix); | |
688 XMLPUBFUN const xmlChar * XMLCALL | |
689 xmlSplitQName3 (const xmlChar *name, | |
690 int *len); | |
691 | |
692 /* | |
693 * Handling Buffers, the old ones see @xmlBuf for the new ones. | |
694 */ | |
695 | |
696 XMLPUBFUN void XMLCALL | |
697 xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); | |
698 XMLPUBFUN xmlBufferAllocationScheme XMLCALL | |
699 xmlGetBufferAllocationScheme(void); | |
700 | |
701 XMLPUBFUN xmlBufferPtr XMLCALL | |
702 xmlBufferCreate (void); | |
703 XMLPUBFUN xmlBufferPtr XMLCALL | |
704 xmlBufferCreateSize (size_t size); | |
705 XMLPUBFUN xmlBufferPtr XMLCALL | |
706 xmlBufferCreateStatic (void *mem, | |
707 size_t size); | |
708 XMLPUBFUN int XMLCALL | |
709 xmlBufferResize (xmlBufferPtr buf, | |
710 unsigned int size); | |
711 XMLPUBFUN void XMLCALL | |
712 xmlBufferFree (xmlBufferPtr buf); | |
713 XMLPUBFUN int XMLCALL | |
714 xmlBufferDump (FILE *file, | |
715 xmlBufferPtr buf); | |
716 XMLPUBFUN int XMLCALL | |
717 xmlBufferAdd (xmlBufferPtr buf, | |
718 const xmlChar *str, | |
719 int len); | |
720 XMLPUBFUN int XMLCALL | |
721 xmlBufferAddHead (xmlBufferPtr buf, | |
722 const xmlChar *str, | |
723 int len); | |
724 XMLPUBFUN int XMLCALL | |
725 xmlBufferCat (xmlBufferPtr buf, | |
726 const xmlChar *str); | |
727 XMLPUBFUN int XMLCALL | |
728 xmlBufferCCat (xmlBufferPtr buf, | |
729 const char *str); | |
730 XMLPUBFUN int XMLCALL | |
731 xmlBufferShrink (xmlBufferPtr buf, | |
732 unsigned int len); | |
733 XMLPUBFUN int XMLCALL | |
734 xmlBufferGrow (xmlBufferPtr buf, | |
735 unsigned int len); | |
736 XMLPUBFUN void XMLCALL | |
737 xmlBufferEmpty (xmlBufferPtr buf); | |
738 XMLPUBFUN const xmlChar* XMLCALL | |
739 xmlBufferContent (const xmlBuffer *buf); | |
740 XMLPUBFUN xmlChar* XMLCALL | |
741 xmlBufferDetach (xmlBufferPtr buf); | |
742 XMLPUBFUN void XMLCALL | |
743 xmlBufferSetAllocationScheme(xmlBufferPtr buf, | |
744 xmlBufferAllocationScheme scheme); | |
745 XMLPUBFUN int XMLCALL | |
746 xmlBufferLength (const xmlBuffer *buf); | |
747 | |
748 /* | |
749 * Creating/freeing new structures. | |
750 */ | |
751 XMLPUBFUN xmlDtdPtr XMLCALL | |
752 xmlCreateIntSubset (xmlDocPtr doc, | |
753 const xmlChar *name, | |
754 const xmlChar *ExternalID, | |
755 const xmlChar *SystemID); | |
756 XMLPUBFUN xmlDtdPtr XMLCALL | |
757 xmlNewDtd (xmlDocPtr doc, | |
758 const xmlChar *name, | |
759 const xmlChar *ExternalID, | |
760 const xmlChar *SystemID); | |
761 XMLPUBFUN xmlDtdPtr XMLCALL | |
762 xmlGetIntSubset (const xmlDoc *doc); | |
763 XMLPUBFUN void XMLCALL | |
764 xmlFreeDtd (xmlDtdPtr cur); | |
765 #ifdef LIBXML_LEGACY_ENABLED | |
766 XMLPUBFUN xmlNsPtr XMLCALL | |
767 xmlNewGlobalNs (xmlDocPtr doc, | |
768 const xmlChar *href, | |
769 const xmlChar *prefix); | |
770 #endif /* LIBXML_LEGACY_ENABLED */ | |
771 XMLPUBFUN xmlNsPtr XMLCALL | |
772 xmlNewNs (xmlNodePtr node, | |
773 const xmlChar *href, | |
774 const xmlChar *prefix); | |
775 XMLPUBFUN void XMLCALL | |
776 xmlFreeNs (xmlNsPtr cur); | |
777 XMLPUBFUN void XMLCALL | |
778 xmlFreeNsList (xmlNsPtr cur); | |
779 XMLPUBFUN xmlDocPtr XMLCALL | |
780 xmlNewDoc (const xmlChar *version); | |
781 XMLPUBFUN void XMLCALL | |
782 xmlFreeDoc (xmlDocPtr cur); | |
783 XMLPUBFUN xmlAttrPtr XMLCALL | |
784 xmlNewDocProp (xmlDocPtr doc, | |
785 const xmlChar *name, | |
786 const xmlChar *value); | |
787 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ | |
788 defined(LIBXML_SCHEMAS_ENABLED) | |
789 XMLPUBFUN xmlAttrPtr XMLCALL | |
790 xmlNewProp (xmlNodePtr node, | |
791 const xmlChar *name, | |
792 const xmlChar *value); | |
793 #endif | |
794 XMLPUBFUN xmlAttrPtr XMLCALL | |
795 xmlNewNsProp (xmlNodePtr node, | |
796 xmlNsPtr ns, | |
797 const xmlChar *name, | |
798 const xmlChar *value); | |
799 XMLPUBFUN xmlAttrPtr XMLCALL | |
800 xmlNewNsPropEatName (xmlNodePtr node, | |
801 xmlNsPtr ns, | |
802 xmlChar *name, | |
803 const xmlChar *value); | |
804 XMLPUBFUN void XMLCALL | |
805 xmlFreePropList (xmlAttrPtr cur); | |
806 XMLPUBFUN void XMLCALL | |
807 xmlFreeProp (xmlAttrPtr cur); | |
808 XMLPUBFUN xmlAttrPtr XMLCALL | |
809 xmlCopyProp (xmlNodePtr target, | |
810 xmlAttrPtr cur); | |
811 XMLPUBFUN xmlAttrPtr XMLCALL | |
812 xmlCopyPropList (xmlNodePtr target, | |
813 xmlAttrPtr cur); | |
814 #ifdef LIBXML_TREE_ENABLED | |
815 XMLPUBFUN xmlDtdPtr XMLCALL | |
816 xmlCopyDtd (xmlDtdPtr dtd); | |
817 #endif /* LIBXML_TREE_ENABLED */ | |
818 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) | |
819 XMLPUBFUN xmlDocPtr XMLCALL | |
820 xmlCopyDoc (xmlDocPtr doc, | |
821 int recursive); | |
822 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ | |
823 /* | |
824 * Creating new nodes. | |
825 */ | |
826 XMLPUBFUN xmlNodePtr XMLCALL | |
827 xmlNewDocNode (xmlDocPtr doc, | |
828 xmlNsPtr ns, | |
829 const xmlChar *name, | |
830 const xmlChar *content); | |
831 XMLPUBFUN xmlNodePtr XMLCALL | |
832 xmlNewDocNodeEatName (xmlDocPtr doc, | |
833 xmlNsPtr ns, | |
834 xmlChar *name, | |
835 const xmlChar *content); | |
836 XMLPUBFUN xmlNodePtr XMLCALL | |
837 xmlNewNode (xmlNsPtr ns, | |
838 const xmlChar *name); | |
839 XMLPUBFUN xmlNodePtr XMLCALL | |
840 xmlNewNodeEatName (xmlNsPtr ns, | |
841 xmlChar *name); | |
842 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) | |
843 XMLPUBFUN xmlNodePtr XMLCALL | |
844 xmlNewChild (xmlNodePtr parent, | |
845 xmlNsPtr ns, | |
846 const xmlChar *name, | |
847 const xmlChar *content); | |
848 #endif | |
849 XMLPUBFUN xmlNodePtr XMLCALL | |
850 xmlNewDocText (const xmlDoc *doc, | |
851 const xmlChar *content); | |
852 XMLPUBFUN xmlNodePtr XMLCALL | |
853 xmlNewText (const xmlChar *content); | |
854 XMLPUBFUN xmlNodePtr XMLCALL | |
855 xmlNewDocPI (xmlDocPtr doc, | |
856 const xmlChar *name, | |
857 const xmlChar *content); | |
858 XMLPUBFUN xmlNodePtr XMLCALL | |
859 xmlNewPI (const xmlChar *name, | |
860 const xmlChar *content); | |
861 XMLPUBFUN xmlNodePtr XMLCALL | |
862 xmlNewDocTextLen (xmlDocPtr doc, | |
863 const xmlChar *content, | |
864 int len); | |
865 XMLPUBFUN xmlNodePtr XMLCALL | |
866 xmlNewTextLen (const xmlChar *content, | |
867 int len); | |
868 XMLPUBFUN xmlNodePtr XMLCALL | |
869 xmlNewDocComment (xmlDocPtr doc, | |
870 const xmlChar *content); | |
871 XMLPUBFUN xmlNodePtr XMLCALL | |
872 xmlNewComment (const xmlChar *content); | |
873 XMLPUBFUN xmlNodePtr XMLCALL | |
874 xmlNewCDataBlock (xmlDocPtr doc, | |
875 const xmlChar *content, | |
876 int len); | |
877 XMLPUBFUN xmlNodePtr XMLCALL | |
878 xmlNewCharRef (xmlDocPtr doc, | |
879 const xmlChar *name); | |
880 XMLPUBFUN xmlNodePtr XMLCALL | |
881 xmlNewReference (const xmlDoc *doc, | |
882 const xmlChar *name); | |
883 XMLPUBFUN xmlNodePtr XMLCALL | |
884 xmlCopyNode (xmlNodePtr node, | |
885 int recursive); | |
886 XMLPUBFUN xmlNodePtr XMLCALL | |
887 xmlDocCopyNode (xmlNodePtr node, | |
888 xmlDocPtr doc, | |
889 int recursive); | |
890 XMLPUBFUN xmlNodePtr XMLCALL | |
891 xmlDocCopyNodeList (xmlDocPtr doc, | |
892 xmlNodePtr node); | |
893 XMLPUBFUN xmlNodePtr XMLCALL | |
894 xmlCopyNodeList (xmlNodePtr node); | |
895 #ifdef LIBXML_TREE_ENABLED | |
896 XMLPUBFUN xmlNodePtr XMLCALL | |
897 xmlNewTextChild (xmlNodePtr parent, | |
898 xmlNsPtr ns, | |
899 const xmlChar *name, | |
900 const xmlChar *content); | |
901 XMLPUBFUN xmlNodePtr XMLCALL | |
902 xmlNewDocRawNode (xmlDocPtr doc, | |
903 xmlNsPtr ns, | |
904 const xmlChar *name, | |
905 const xmlChar *content); | |
906 XMLPUBFUN xmlNodePtr XMLCALL | |
907 xmlNewDocFragment (xmlDocPtr doc); | |
908 #endif /* LIBXML_TREE_ENABLED */ | |
909 | |
910 /* | |
911 * Navigating. | |
912 */ | |
913 XMLPUBFUN long XMLCALL | |
914 xmlGetLineNo (const xmlNode *node); | |
915 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) | |
916 XMLPUBFUN xmlChar * XMLCALL | |
917 xmlGetNodePath (const xmlNode *node); | |
918 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */ | |
919 XMLPUBFUN xmlNodePtr XMLCALL | |
920 xmlDocGetRootElement (const xmlDoc *doc); | |
921 XMLPUBFUN xmlNodePtr XMLCALL | |
922 xmlGetLastChild (const xmlNode *parent); | |
923 XMLPUBFUN int XMLCALL | |
924 xmlNodeIsText (const xmlNode *node); | |
925 XMLPUBFUN int XMLCALL | |
926 xmlIsBlankNode (const xmlNode *node); | |
927 | |
928 /* | |
929 * Changing the structure. | |
930 */ | |
931 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) | |
932 XMLPUBFUN xmlNodePtr XMLCALL | |
933 xmlDocSetRootElement (xmlDocPtr doc, | |
934 xmlNodePtr root); | |
935 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ | |
936 #ifdef LIBXML_TREE_ENABLED | |
937 XMLPUBFUN void XMLCALL | |
938 xmlNodeSetName (xmlNodePtr cur, | |
939 const xmlChar *name); | |
940 #endif /* LIBXML_TREE_ENABLED */ | |
941 XMLPUBFUN xmlNodePtr XMLCALL | |
942 xmlAddChild (xmlNodePtr parent, | |
943 xmlNodePtr cur); | |
944 XMLPUBFUN xmlNodePtr XMLCALL | |
945 xmlAddChildList (xmlNodePtr parent, | |
946 xmlNodePtr cur); | |
947 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) | |
948 XMLPUBFUN xmlNodePtr XMLCALL | |
949 xmlReplaceNode (xmlNodePtr old, | |
950 xmlNodePtr cur); | |
951 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ | |
952 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ | |
953 defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) | |
954 XMLPUBFUN xmlNodePtr XMLCALL | |
955 xmlAddPrevSibling (xmlNodePtr cur, | |
956 xmlNodePtr elem); | |
957 #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */ | |
958 XMLPUBFUN xmlNodePtr XMLCALL | |
959 xmlAddSibling (xmlNodePtr cur, | |
960 xmlNodePtr elem); | |
961 XMLPUBFUN xmlNodePtr XMLCALL | |
962 xmlAddNextSibling (xmlNodePtr cur, | |
963 xmlNodePtr elem); | |
964 XMLPUBFUN void XMLCALL | |
965 xmlUnlinkNode (xmlNodePtr cur); | |
966 XMLPUBFUN xmlNodePtr XMLCALL | |
967 xmlTextMerge (xmlNodePtr first, | |
968 xmlNodePtr second); | |
969 XMLPUBFUN int XMLCALL | |
970 xmlTextConcat (xmlNodePtr node, | |
971 const xmlChar *content, | |
972 int len); | |
973 XMLPUBFUN void XMLCALL | |
974 xmlFreeNodeList (xmlNodePtr cur); | |
975 XMLPUBFUN void XMLCALL | |
976 xmlFreeNode (xmlNodePtr cur); | |
977 XMLPUBFUN void XMLCALL | |
978 xmlSetTreeDoc (xmlNodePtr tree, | |
979 xmlDocPtr doc); | |
980 XMLPUBFUN void XMLCALL | |
981 xmlSetListDoc (xmlNodePtr list, | |
982 xmlDocPtr doc); | |
983 /* | |
984 * Namespaces. | |
985 */ | |
986 XMLPUBFUN xmlNsPtr XMLCALL | |
987 xmlSearchNs (xmlDocPtr doc, | |
988 xmlNodePtr node, | |
989 const xmlChar *nameSpace); | |
990 XMLPUBFUN xmlNsPtr XMLCALL | |
991 xmlSearchNsByHref (xmlDocPtr doc, | |
992 xmlNodePtr node, | |
993 const xmlChar *href); | |
994 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ | |
995 defined(LIBXML_SCHEMAS_ENABLED) | |
996 XMLPUBFUN xmlNsPtr * XMLCALL | |
997 xmlGetNsList (const xmlDoc *doc, | |
998 const xmlNode *node); | |
999 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */ | |
1000 | |
1001 XMLPUBFUN void XMLCALL | |
1002 xmlSetNs (xmlNodePtr node, | |
1003 xmlNsPtr ns); | |
1004 XMLPUBFUN xmlNsPtr XMLCALL | |
1005 xmlCopyNamespace (xmlNsPtr cur); | |
1006 XMLPUBFUN xmlNsPtr XMLCALL | |
1007 xmlCopyNamespaceList (xmlNsPtr cur); | |
1008 | |
1009 /* | |
1010 * Changing the content. | |
1011 */ | |
1012 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ | |
1013 defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) | |
1014 XMLPUBFUN xmlAttrPtr XMLCALL | |
1015 xmlSetProp (xmlNodePtr node, | |
1016 const xmlChar *name, | |
1017 const xmlChar *value); | |
1018 XMLPUBFUN xmlAttrPtr XMLCALL | |
1019 xmlSetNsProp (xmlNodePtr node, | |
1020 xmlNsPtr ns, | |
1021 const xmlChar *name, | |
1022 const xmlChar *value); | |
1023 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ | |
1024 defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */ | |
1025 XMLPUBFUN xmlChar * XMLCALL | |
1026 xmlGetNoNsProp (const xmlNode *node, | |
1027 const xmlChar *name); | |
1028 XMLPUBFUN xmlChar * XMLCALL | |
1029 xmlGetProp (const xmlNode *node, | |
1030 const xmlChar *name); | |
1031 XMLPUBFUN xmlAttrPtr XMLCALL | |
1032 xmlHasProp (const xmlNode *node, | |
1033 const xmlChar *name); | |
1034 XMLPUBFUN xmlAttrPtr XMLCALL | |
1035 xmlHasNsProp (const xmlNode *node, | |
1036 const xmlChar *name, | |
1037 const xmlChar *nameSpace); | |
1038 XMLPUBFUN xmlChar * XMLCALL | |
1039 xmlGetNsProp (const xmlNode *node, | |
1040 const xmlChar *name, | |
1041 const xmlChar *nameSpace); | |
1042 XMLPUBFUN xmlNodePtr XMLCALL | |
1043 xmlStringGetNodeList (const xmlDoc *doc, | |
1044 const xmlChar *value); | |
1045 XMLPUBFUN xmlNodePtr XMLCALL | |
1046 xmlStringLenGetNodeList (const xmlDoc *doc, | |
1047 const xmlChar *value, | |
1048 int len); | |
1049 XMLPUBFUN xmlChar * XMLCALL | |
1050 xmlNodeListGetString (xmlDocPtr doc, | |
1051 const xmlNode *list, | |
1052 int inLine); | |
1053 #ifdef LIBXML_TREE_ENABLED | |
1054 XMLPUBFUN xmlChar * XMLCALL | |
1055 xmlNodeListGetRawString (const xmlDoc *doc, | |
1056 const xmlNode *list, | |
1057 int inLine); | |
1058 #endif /* LIBXML_TREE_ENABLED */ | |
1059 XMLPUBFUN void XMLCALL | |
1060 xmlNodeSetContent (xmlNodePtr cur, | |
1061 const xmlChar *content); | |
1062 #ifdef LIBXML_TREE_ENABLED | |
1063 XMLPUBFUN void XMLCALL | |
1064 xmlNodeSetContentLen (xmlNodePtr cur, | |
1065 const xmlChar *content, | |
1066 int len); | |
1067 #endif /* LIBXML_TREE_ENABLED */ | |
1068 XMLPUBFUN void XMLCALL | |
1069 xmlNodeAddContent (xmlNodePtr cur, | |
1070 const xmlChar *content); | |
1071 XMLPUBFUN void XMLCALL | |
1072 xmlNodeAddContentLen (xmlNodePtr cur, | |
1073 const xmlChar *content, | |
1074 int len); | |
1075 XMLPUBFUN xmlChar * XMLCALL | |
1076 xmlNodeGetContent (const xmlNode *cur); | |
1077 | |
1078 XMLPUBFUN int XMLCALL | |
1079 xmlNodeBufGetContent (xmlBufferPtr buffer, | |
1080 const xmlNode *cur); | |
1081 XMLPUBFUN int XMLCALL | |
1082 xmlBufGetNodeContent (xmlBufPtr buf, | |
1083 const xmlNode *cur); | |
1084 | |
1085 XMLPUBFUN xmlChar * XMLCALL | |
1086 xmlNodeGetLang (const xmlNode *cur); | |
1087 XMLPUBFUN int XMLCALL | |
1088 xmlNodeGetSpacePreserve (const xmlNode *cur); | |
1089 #ifdef LIBXML_TREE_ENABLED | |
1090 XMLPUBFUN void XMLCALL | |
1091 xmlNodeSetLang (xmlNodePtr cur, | |
1092 const xmlChar *lang); | |
1093 XMLPUBFUN void XMLCALL | |
1094 xmlNodeSetSpacePreserve (xmlNodePtr cur, | |
1095 int val); | |
1096 #endif /* LIBXML_TREE_ENABLED */ | |
1097 XMLPUBFUN xmlChar * XMLCALL | |
1098 xmlNodeGetBase (const xmlDoc *doc, | |
1099 const xmlNode *cur); | |
1100 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) | |
1101 XMLPUBFUN void XMLCALL | |
1102 xmlNodeSetBase (xmlNodePtr cur, | |
1103 const xmlChar *uri); | |
1104 #endif | |
1105 | |
1106 /* | |
1107 * Removing content. | |
1108 */ | |
1109 XMLPUBFUN int XMLCALL | |
1110 xmlRemoveProp (xmlAttrPtr cur); | |
1111 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) | |
1112 XMLPUBFUN int XMLCALL | |
1113 xmlUnsetNsProp (xmlNodePtr node, | |
1114 xmlNsPtr ns, | |
1115 const xmlChar *name); | |
1116 XMLPUBFUN int XMLCALL | |
1117 xmlUnsetProp (xmlNodePtr node, | |
1118 const xmlChar *name); | |
1119 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ | |
1120 | |
1121 /* | |
1122 * Internal, don't use. | |
1123 */ | |
1124 XMLPUBFUN void XMLCALL | |
1125 xmlBufferWriteCHAR (xmlBufferPtr buf, | |
1126 const xmlChar *string); | |
1127 XMLPUBFUN void XMLCALL | |
1128 xmlBufferWriteChar (xmlBufferPtr buf, | |
1129 const char *string); | |
1130 XMLPUBFUN void XMLCALL | |
1131 xmlBufferWriteQuotedString(xmlBufferPtr buf, | |
1132 const xmlChar *string); | |
1133 | |
1134 #ifdef LIBXML_OUTPUT_ENABLED | |
1135 XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf, | |
1136 xmlDocPtr doc, | |
1137 xmlAttrPtr attr, | |
1138 const xmlChar *string); | |
1139 #endif /* LIBXML_OUTPUT_ENABLED */ | |
1140 | |
1141 #ifdef LIBXML_TREE_ENABLED | |
1142 /* | |
1143 * Namespace handling. | |
1144 */ | |
1145 XMLPUBFUN int XMLCALL | |
1146 xmlReconciliateNs (xmlDocPtr doc, | |
1147 xmlNodePtr tree); | |
1148 #endif | |
1149 | |
1150 #ifdef LIBXML_OUTPUT_ENABLED | |
1151 /* | |
1152 * Saving. | |
1153 */ | |
1154 XMLPUBFUN void XMLCALL | |
1155 xmlDocDumpFormatMemory (xmlDocPtr cur, | |
1156 xmlChar **mem, | |
1157 int *size, | |
1158 int format); | |
1159 XMLPUBFUN void XMLCALL | |
1160 xmlDocDumpMemory (xmlDocPtr cur, | |
1161 xmlChar **mem, | |
1162 int *size); | |
1163 XMLPUBFUN void XMLCALL | |
1164 xmlDocDumpMemoryEnc (xmlDocPtr out_doc, | |
1165 xmlChar **doc_txt_ptr, | |
1166 int * doc_txt_len, | |
1167 const char *txt_encoding); | |
1168 XMLPUBFUN void XMLCALL | |
1169 xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, | |
1170 xmlChar **doc_txt_ptr, | |
1171 int * doc_txt_len, | |
1172 const char *txt_encoding, | |
1173 int format); | |
1174 XMLPUBFUN int XMLCALL | |
1175 xmlDocFormatDump (FILE *f, | |
1176 xmlDocPtr cur, | |
1177 int format); | |
1178 XMLPUBFUN int XMLCALL | |
1179 xmlDocDump (FILE *f, | |
1180 xmlDocPtr cur); | |
1181 XMLPUBFUN void XMLCALL | |
1182 xmlElemDump (FILE *f, | |
1183 xmlDocPtr doc, | |
1184 xmlNodePtr cur); | |
1185 XMLPUBFUN int XMLCALL | |
1186 xmlSaveFile (const char *filename, | |
1187 xmlDocPtr cur); | |
1188 XMLPUBFUN int XMLCALL | |
1189 xmlSaveFormatFile (const char *filename, | |
1190 xmlDocPtr cur, | |
1191 int format); | |
1192 XMLPUBFUN size_t XMLCALL | |
1193 xmlBufNodeDump (xmlBufPtr buf, | |
1194 xmlDocPtr doc, | |
1195 xmlNodePtr cur, | |
1196 int level, | |
1197 int format); | |
1198 XMLPUBFUN int XMLCALL | |
1199 xmlNodeDump (xmlBufferPtr buf, | |
1200 xmlDocPtr doc, | |
1201 xmlNodePtr cur, | |
1202 int level, | |
1203 int format); | |
1204 | |
1205 XMLPUBFUN int XMLCALL | |
1206 xmlSaveFileTo (xmlOutputBufferPtr buf, | |
1207 xmlDocPtr cur, | |
1208 const char *encoding); | |
1209 XMLPUBFUN int XMLCALL | |
1210 xmlSaveFormatFileTo (xmlOutputBufferPtr buf, | |
1211 xmlDocPtr cur, | |
1212 const char *encoding, | |
1213 int format); | |
1214 XMLPUBFUN void XMLCALL | |
1215 xmlNodeDumpOutput (xmlOutputBufferPtr buf, | |
1216 xmlDocPtr doc, | |
1217 xmlNodePtr cur, | |
1218 int level, | |
1219 int format, | |
1220 const char *encoding); | |
1221 | |
1222 XMLPUBFUN int XMLCALL | |
1223 xmlSaveFormatFileEnc (const char *filename, | |
1224 xmlDocPtr cur, | |
1225 const char *encoding, | |
1226 int format); | |
1227 | |
1228 XMLPUBFUN int XMLCALL | |
1229 xmlSaveFileEnc (const char *filename, | |
1230 xmlDocPtr cur, | |
1231 const char *encoding); | |
1232 | |
1233 #endif /* LIBXML_OUTPUT_ENABLED */ | |
1234 /* | |
1235 * XHTML | |
1236 */ | |
1237 XMLPUBFUN int XMLCALL | |
1238 xmlIsXHTML (const xmlChar *systemID, | |
1239 const xmlChar *publicID); | |
1240 | |
1241 /* | |
1242 * Compression. | |
1243 */ | |
1244 XMLPUBFUN int XMLCALL | |
1245 xmlGetDocCompressMode (const xmlDoc *doc); | |
1246 XMLPUBFUN void XMLCALL | |
1247 xmlSetDocCompressMode (xmlDocPtr doc, | |
1248 int mode); | |
1249 XMLPUBFUN int XMLCALL | |
1250 xmlGetCompressMode (void); | |
1251 XMLPUBFUN void XMLCALL | |
1252 xmlSetCompressMode (int mode); | |
1253 | |
1254 /* | |
1255 * DOM-wrapper helper functions. | |
1256 */ | |
1257 XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL | |
1258 xmlDOMWrapNewCtxt (void); | |
1259 XMLPUBFUN void XMLCALL | |
1260 xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); | |
1261 XMLPUBFUN int XMLCALL | |
1262 xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, | |
1263 xmlNodePtr elem, | |
1264 int options); | |
1265 XMLPUBFUN int XMLCALL | |
1266 xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, | |
1267 xmlDocPtr sourceDoc, | |
1268 xmlNodePtr node, | |
1269 xmlDocPtr destDoc, | |
1270 xmlNodePtr destParent, | |
1271 int options); | |
1272 XMLPUBFUN int XMLCALL | |
1273 xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, | |
1274 xmlDocPtr doc, | |
1275 xmlNodePtr node, | |
1276 int options); | |
1277 XMLPUBFUN int XMLCALL | |
1278 xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, | |
1279 xmlDocPtr sourceDoc, | |
1280 xmlNodePtr node, | |
1281 xmlNodePtr *clonedNode, | |
1282 xmlDocPtr destDoc, | |
1283 xmlNodePtr destParent, | |
1284 int deep, | |
1285 int options); | |
1286 | |
1287 #ifdef LIBXML_TREE_ENABLED | |
1288 /* | |
1289 * 5 interfaces from DOM ElementTraversal, but different in entities | |
1290 * traversal. | |
1291 */ | |
1292 XMLPUBFUN unsigned long XMLCALL | |
1293 xmlChildElementCount (xmlNodePtr parent); | |
1294 XMLPUBFUN xmlNodePtr XMLCALL | |
1295 xmlNextElementSibling (xmlNodePtr node); | |
1296 XMLPUBFUN xmlNodePtr XMLCALL | |
1297 xmlFirstElementChild (xmlNodePtr parent); | |
1298 XMLPUBFUN xmlNodePtr XMLCALL | |
1299 xmlLastElementChild (xmlNodePtr parent); | |
1300 XMLPUBFUN xmlNodePtr XMLCALL | |
1301 xmlPreviousElementSibling (xmlNodePtr node); | |
1302 #endif | |
1303 #ifdef __cplusplus | |
1304 } | |
1305 #endif | |
1306 #ifndef __XML_PARSER_H__ | |
1307 #include <libxml/xmlmemory.h> | |
1308 #endif | |
1309 | |
1310 #endif /* __XML_TREE_H__ */ | |
1311 |