tree.h

00001 /*
00002 
00003  * Summary: interfaces for tree manipulation
00004 
00005  * Description: this module describes the structures found in an tree resulting
00006 
00007  *              from an XML or HTML parsing, as well as the API provided for
00008 
00009  *              various processing on that tree
00010 
00011  *
00012 
00013  * Copy: See Copyright for the status of this software.
00014 
00015  *
00016 
00017  * Author: Daniel Veillard
00018 
00019  */
00020 
00021 
00022 
00023 #ifndef __XML_TREE_H__
00024 
00025 #define __XML_TREE_H__
00026 
00027 
00028 
00029 #include <stdio.h>
00030 
00031 #include <libxml/xmlversion.h>
00032 
00033 #include <libxml/xmlstring.h>
00034 
00035 
00036 
00037 #ifdef __cplusplus
00038 
00039 extern "C" {
00040 
00041 #endif
00042 
00043 
00044 
00045 /*
00046 
00047  * Some of the basic types pointer to structures:
00048 
00049  */
00050 
00051 /* xmlIO.h */
00052 
00053 typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
00054 
00055 typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
00056 
00057 
00058 
00059 typedef struct _xmlOutputBuffer xmlOutputBuffer;
00060 
00061 typedef xmlOutputBuffer *xmlOutputBufferPtr;
00062 
00063 
00064 
00065 /* parser.h */
00066 
00067 typedef struct _xmlParserInput xmlParserInput;
00068 
00069 typedef xmlParserInput *xmlParserInputPtr;
00070 
00071 
00072 
00073 typedef struct _xmlParserCtxt xmlParserCtxt;
00074 
00075 typedef xmlParserCtxt *xmlParserCtxtPtr;
00076 
00077 
00078 
00079 typedef struct _xmlSAXLocator xmlSAXLocator;
00080 
00081 typedef xmlSAXLocator *xmlSAXLocatorPtr;
00082 
00083 
00084 
00085 typedef struct _xmlSAXHandler xmlSAXHandler;
00086 
00087 typedef xmlSAXHandler *xmlSAXHandlerPtr;
00088 
00089 
00090 
00091 /* entities.h */
00092 
00093 typedef struct _xmlEntity xmlEntity;
00094 
00095 typedef xmlEntity *xmlEntityPtr;
00096 
00097 
00098 
00109 #define BASE_BUFFER_SIZE 4096
00110 
00111 
00112 
00125 #define XML_XML_NAMESPACE \
00126 
00127     (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
00128 
00129 
00130 
00141 #define XML_XML_ID (const xmlChar *) "xml:id"
00142 
00143 
00144 
00145 /*
00146 
00147  * The different element types carried by an XML tree.
00148 
00149  *
00150 
00151  * NOTE: This is synchronized with DOM Level1 values
00152 
00153  *       See http://www.w3.org/TR/REC-DOM-Level-1/
00154 
00155  *
00156 
00157  * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
00158 
00159  * be deprecated to use an XML_DTD_NODE.
00160 
00161  */
00162 
00163 typedef enum {
00164 
00165     XML_ELEMENT_NODE=           1,
00166 
00167     XML_ATTRIBUTE_NODE=         2,
00168 
00169     XML_TEXT_NODE=              3,
00170 
00171     XML_CDATA_SECTION_NODE=     4,
00172 
00173     XML_ENTITY_REF_NODE=        5,
00174 
00175     XML_ENTITY_NODE=            6,
00176 
00177     XML_PI_NODE=                7,
00178 
00179     XML_COMMENT_NODE=           8,
00180 
00181     XML_DOCUMENT_NODE=          9,
00182 
00183     XML_DOCUMENT_TYPE_NODE=     10,
00184 
00185     XML_DOCUMENT_FRAG_NODE=     11,
00186 
00187     XML_NOTATION_NODE=          12,
00188 
00189     XML_HTML_DOCUMENT_NODE=     13,
00190 
00191     XML_DTD_NODE=               14,
00192 
00193     XML_ELEMENT_DECL=           15,
00194 
00195     XML_ATTRIBUTE_DECL=         16,
00196 
00197     XML_ENTITY_DECL=            17,
00198 
00199     XML_NAMESPACE_DECL=         18,
00200 
00201     XML_XINCLUDE_START=         19,
00202 
00203     XML_XINCLUDE_END=           20
00204 
00205 #ifdef LIBXML_DOCB_ENABLED
00206 
00207    ,XML_DOCB_DOCUMENT_NODE=     21
00208 
00209 #endif
00210 
00211 } xmlElementType;
00212 
00213 
00214 
00215 
00216 
00229 typedef struct _xmlNotation xmlNotation;
00230 
00231 typedef xmlNotation *xmlNotationPtr;
00232 
00233 struct _xmlNotation {
00234 
00235     const xmlChar               *name;          /* Notation name */
00236 
00237     const xmlChar               *PublicID;      /* Public identifier, if any */
00238 
00239     const xmlChar               *SystemID;      /* System identifier, if any */
00240 
00241 };
00242 
00243 
00244 
00257 typedef enum {
00258 
00259     XML_ATTRIBUTE_CDATA = 1,
00260 
00261     XML_ATTRIBUTE_ID,
00262 
00263     XML_ATTRIBUTE_IDREF ,
00264 
00265     XML_ATTRIBUTE_IDREFS,
00266 
00267     XML_ATTRIBUTE_ENTITY,
00268 
00269     XML_ATTRIBUTE_ENTITIES,
00270 
00271     XML_ATTRIBUTE_NMTOKEN,
00272 
00273     XML_ATTRIBUTE_NMTOKENS,
00274 
00275     XML_ATTRIBUTE_ENUMERATION,
00276 
00277     XML_ATTRIBUTE_NOTATION
00278 
00279 } xmlAttributeType;
00280 
00281 
00282 
00295 typedef enum {
00296 
00297     XML_ATTRIBUTE_NONE = 1,
00298 
00299     XML_ATTRIBUTE_REQUIRED,
00300 
00301     XML_ATTRIBUTE_IMPLIED,
00302 
00303     XML_ATTRIBUTE_FIXED
00304 
00305 } xmlAttributeDefault;
00306 
00307 
00308 
00321 typedef struct _xmlEnumeration xmlEnumeration;
00322 
00323 typedef xmlEnumeration *xmlEnumerationPtr;
00324 
00325 struct _xmlEnumeration {
00326 
00327     struct _xmlEnumeration    *next;    /* next one */
00328 
00329     const xmlChar            *name;     /* Enumeration name */
00330 
00331 };
00332 
00333 
00334 
00347 typedef struct _xmlAttribute xmlAttribute;
00348 
00349 typedef xmlAttribute *xmlAttributePtr;
00350 
00351 struct _xmlAttribute {
00352 
00353     void           *_private;           /* application data */
00354 
00355     xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
00356 
00357     const xmlChar          *name;       /* Attribute name */
00358 
00359     struct _xmlNode    *children;       /* NULL */
00360 
00361     struct _xmlNode        *last;       /* NULL */
00362 
00363     struct _xmlDtd       *parent;       /* -> DTD */
00364 
00365     struct _xmlNode        *next;       /* next sibling link  */
00366 
00367     struct _xmlNode        *prev;       /* previous sibling link  */
00368 
00369     struct _xmlDoc          *doc;       /* the containing document */
00370 
00371 
00372 
00373     struct _xmlAttribute  *nexth;       /* next in hash table */
00374 
00375     xmlAttributeType       atype;       /* The attribute type */
00376 
00377     xmlAttributeDefault      def;       /* the default */
00378 
00379     const xmlChar  *defaultValue;       /* or the default value */
00380 
00381     xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
00382 
00383     const xmlChar        *prefix;       /* the namespace prefix if any */
00384 
00385     const xmlChar          *elem;       /* Element holding the attribute */
00386 
00387 };
00388 
00389 
00390 
00401 typedef enum {
00402 
00403     XML_ELEMENT_CONTENT_PCDATA = 1,
00404 
00405     XML_ELEMENT_CONTENT_ELEMENT,
00406 
00407     XML_ELEMENT_CONTENT_SEQ,
00408 
00409     XML_ELEMENT_CONTENT_OR
00410 
00411 } xmlElementContentType;
00412 
00413 
00414 
00425 typedef enum {
00426 
00427     XML_ELEMENT_CONTENT_ONCE = 1,
00428 
00429     XML_ELEMENT_CONTENT_OPT,
00430 
00431     XML_ELEMENT_CONTENT_MULT,
00432 
00433     XML_ELEMENT_CONTENT_PLUS
00434 
00435 } xmlElementContentOccur;
00436 
00437 
00438 
00453 typedef struct _xmlElementContent xmlElementContent;
00454 
00455 typedef xmlElementContent *xmlElementContentPtr;
00456 
00457 struct _xmlElementContent {
00458 
00459     xmlElementContentType     type;     /* PCDATA, ELEMENT, SEQ or OR */
00460 
00461     xmlElementContentOccur    ocur;     /* ONCE, OPT, MULT or PLUS */
00462 
00463     const xmlChar             *name;    /* Element name */
00464 
00465     struct _xmlElementContent *c1;      /* first child */
00466 
00467     struct _xmlElementContent *c2;      /* second child */
00468 
00469     struct _xmlElementContent *parent;  /* parent */
00470 
00471     const xmlChar             *prefix;  /* Namespace prefix */
00472 
00473 };
00474 
00475 
00476 
00489 typedef enum {
00490 
00491     XML_ELEMENT_TYPE_UNDEFINED = 0,
00492 
00493     XML_ELEMENT_TYPE_EMPTY = 1,
00494 
00495     XML_ELEMENT_TYPE_ANY,
00496 
00497     XML_ELEMENT_TYPE_MIXED,
00498 
00499     XML_ELEMENT_TYPE_ELEMENT
00500 
00501 } xmlElementTypeVal;
00502 
00503 
00504 
00505 
00506 
00507 #ifdef __cplusplus
00508 
00509 }
00510 
00511 #endif
00512 
00513 #include <libxml/xmlregexp.h>
00514 
00515 #ifdef __cplusplus
00516 
00517 extern "C" {
00518 
00519 #endif
00520 
00521 
00522 
00535 typedef struct _xmlElement xmlElement;
00536 
00537 typedef xmlElement *xmlElementPtr;
00538 
00539 struct _xmlElement {
00540 
00541     void           *_private;           /* application data */
00542 
00543     xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
00544 
00545     const xmlChar          *name;       /* Element name */
00546 
00547     struct _xmlNode    *children;       /* NULL */
00548 
00549     struct _xmlNode        *last;       /* NULL */
00550 
00551     struct _xmlDtd       *parent;       /* -> DTD */
00552 
00553     struct _xmlNode        *next;       /* next sibling link  */
00554 
00555     struct _xmlNode        *prev;       /* previous sibling link  */
00556 
00557     struct _xmlDoc          *doc;       /* the containing document */
00558 
00559 
00560 
00561     xmlElementTypeVal      etype;       /* The type */
00562 
00563     xmlElementContentPtr content;       /* the allowed element content */
00564 
00565     xmlAttributePtr   attributes;       /* List of the declared attributes */
00566 
00567     const xmlChar        *prefix;       /* the namespace prefix if any */
00568 
00569 #ifdef LIBXML_REGEXP_ENABLED
00570 
00571     xmlRegexpPtr       contModel;       /* the validating regexp */
00572 
00573 #else
00574 
00575     void              *contModel;
00576 
00577 #endif
00578 
00579 };
00580 
00581 
00582 
00583 
00584 
00595 #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
00596 
00597 typedef xmlElementType xmlNsType;
00598 
00599 
00600 
00621 typedef struct _xmlNs xmlNs;
00622 
00623 typedef xmlNs *xmlNsPtr;
00624 
00625 struct _xmlNs {
00626 
00627     struct _xmlNs  *next;       /* next Ns link for this node  */
00628 
00629     xmlNsType      type;        /* global or local */
00630 
00631     const xmlChar *href;        /* URL for the namespace */
00632 
00633     const xmlChar *prefix;      /* prefix for the namespace */
00634 
00635     void           *_private;   /* application data */
00636 
00637 };
00638 
00639 
00640 
00653 typedef struct _xmlDtd xmlDtd;
00654 
00655 typedef xmlDtd *xmlDtdPtr;
00656 
00657 struct _xmlDtd {
00658 
00659     void           *_private;   /* application data */
00660 
00661     xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
00662 
00663     const xmlChar *name;        /* Name of the DTD */
00664 
00665     struct _xmlNode *children;  /* the value of the property link */
00666 
00667     struct _xmlNode *last;      /* last child link */
00668 
00669     struct _xmlDoc  *parent;    /* child->parent link */
00670 
00671     struct _xmlNode *next;      /* next sibling link  */
00672 
00673     struct _xmlNode *prev;      /* previous sibling link  */
00674 
00675     struct _xmlDoc  *doc;       /* the containing document */
00676 
00677 
00678 
00679     /* End of common part */
00680 
00681     void          *notations;   /* Hash table for notations if any */
00682 
00683     void          *elements;    /* Hash table for elements if any */
00684 
00685     void          *attributes;  /* Hash table for attributes if any */
00686 
00687     void          *entities;    /* Hash table for entities if any */
00688 
00689     const xmlChar *ExternalID;  /* External identifier for PUBLIC DTD */
00690 
00691     const xmlChar *SystemID;    /* URI for a SYSTEM or PUBLIC DTD */
00692 
00693     void          *pentities;   /* Hash table for param entities if any */
00694 
00695 };
00696 
00697 
00698 
00709 typedef struct _xmlAttr xmlAttr;
00710 
00711 typedef xmlAttr *xmlAttrPtr;
00712 
00713 struct _xmlAttr {
00714 
00715     void           *_private;   /* application data */
00716 
00717     xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
00718 
00719     const xmlChar   *name;      /* the name of the property */
00720 
00721     struct _xmlNode *children;  /* the value of the property */
00722 
00723     struct _xmlNode *last;      /* NULL */
00724 
00725     struct _xmlNode *parent;    /* child->parent link */
00726 
00727     struct _xmlAttr *next;      /* next sibling link  */
00728 
00729     struct _xmlAttr *prev;      /* previous sibling link  */
00730 
00731     struct _xmlDoc  *doc;       /* the containing document */
00732 
00733     xmlNs           *ns;        /* pointer to the associated namespace */
00734 
00735     xmlAttributeType atype;     /* the attribute type if validating */
00736 
00737     void            *psvi;      /* for type/PSVI informations */
00738 
00739 };
00740 
00741 
00742 
00755 typedef struct _xmlID xmlID;
00756 
00757 typedef xmlID *xmlIDPtr;
00758 
00759 struct _xmlID {
00760 
00761     struct _xmlID    *next;     /* next ID */
00762 
00763     const xmlChar    *value;    /* The ID name */
00764 
00765     xmlAttrPtr        attr;     /* The attribute holding it */
00766 
00767     const xmlChar    *name;     /* The attribute if attr is not available */
00768 
00769     int               lineno;   /* The line number if attr is not available */
00770 
00771     struct _xmlDoc   *doc;      /* The document holding the ID */
00772 
00773 };
00774 
00775 
00776 
00789 typedef struct _xmlRef xmlRef;
00790 
00791 typedef xmlRef *xmlRefPtr;
00792 
00793 struct _xmlRef {
00794 
00795     struct _xmlRef    *next;    /* next Ref */
00796 
00797     const xmlChar     *value;   /* The Ref name */
00798 
00799     xmlAttrPtr        attr;     /* The attribute holding it */
00800 
00801     const xmlChar    *name;     /* The attribute if attr is not available */
00802 
00803     int               lineno;   /* The line number if attr is not available */
00804 
00805 };
00806 
00807 
00808 
00823 typedef enum {
00824 
00825     XML_BUFFER_ALLOC_DOUBLEIT,
00826 
00827     XML_BUFFER_ALLOC_EXACT,
00828 
00829     XML_BUFFER_ALLOC_IMMUTABLE
00830 
00831 } xmlBufferAllocationScheme;
00832 
00833 
00834 
00845 typedef struct _xmlBuffer xmlBuffer;
00846 
00847 typedef xmlBuffer *xmlBufferPtr;
00848 
00849 struct _xmlBuffer {
00850 
00851     xmlChar *content;           /* The buffer content UTF8 */
00852 
00853     unsigned int use;           /* The buffer size used */
00854 
00855     unsigned int size;          /* The buffer size */
00856 
00857     xmlBufferAllocationScheme alloc; /* The realloc method */
00858 
00859 };
00860 
00861 
00862 
00873 typedef struct _xmlNode xmlNode;
00874 
00875 typedef xmlNode *xmlNodePtr;
00876 
00877 struct _xmlNode {
00878 
00879     void           *_private;   /* application data */
00880 
00881     xmlElementType   type;      /* type number, must be second ! */
00882 
00883     const xmlChar   *name;      /* the name of the node, or the entity */
00884 
00885     struct _xmlNode *children;  /* parent->childs link */
00886 
00887     struct _xmlNode *last;      /* last child link */
00888 
00889     struct _xmlNode *parent;    /* child->parent link */
00890 
00891     struct _xmlNode *next;      /* next sibling link  */
00892 
00893     struct _xmlNode *prev;      /* previous sibling link  */
00894 
00895     struct _xmlDoc  *doc;       /* the containing document */
00896 
00897 
00898 
00899     /* End of common part */
00900 
00901     xmlNs           *ns;        /* pointer to the associated namespace */
00902 
00903     xmlChar         *content;   /* the content */
00904 
00905     struct _xmlAttr *properties;/* properties list */
00906 
00907     xmlNs           *nsDef;     /* namespace definitions on this node */
00908 
00909     void            *psvi;      /* for type/PSVI informations */
00910 
00911     unsigned short   line;      /* line number */
00912 
00913     unsigned short   extra;     /* extra data for XPath/XSLT */
00914 
00915 };
00916 
00917 
00918 
00929 #define XML_GET_CONTENT(n)                                      \
00930 
00931     ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
00932 
00933 
00934 
00945 #define XML_GET_LINE(n)                                         \
00946 
00947     (xmlGetLineNo(n))
00948 
00949 
00950 
00951 
00952 
00963 typedef struct _xmlDoc xmlDoc;
00964 
00965 typedef xmlDoc *xmlDocPtr;
00966 
00967 struct _xmlDoc {
00968 
00969     void           *_private;   /* application data */
00970 
00971     xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
00972 
00973     char           *name;       /* name/filename/URI of the document */
00974 
00975     struct _xmlNode *children;  /* the document tree */
00976 
00977     struct _xmlNode *last;      /* last child link */
00978 
00979     struct _xmlNode *parent;    /* child->parent link */
00980 
00981     struct _xmlNode *next;      /* next sibling link  */
00982 
00983     struct _xmlNode *prev;      /* previous sibling link  */
00984 
00985     struct _xmlDoc  *doc;       /* autoreference to itself */
00986 
00987 
00988 
00989     /* End of common part */
00990 
00991     int             compression;/* level of zlib compression */
00992 
00993     int             standalone; /* standalone document (no external refs) */
00994 
00995     struct _xmlDtd  *intSubset; /* the document internal subset */
00996 
00997     struct _xmlDtd  *extSubset; /* the document external subset */
00998 
00999     struct _xmlNs   *oldNs;     /* Global namespace, the old way */
01000 
01001     const xmlChar  *version;    /* the XML version string */
01002 
01003     const xmlChar  *encoding;   /* external initial encoding, if any */
01004 
01005     void           *ids;        /* Hash table for ID attributes if any */
01006 
01007     void           *refs;       /* Hash table for IDREFs attributes if any */
01008 
01009     const xmlChar  *URL;        /* The URI for that document */
01010 
01011     int             charset;    /* encoding of the in-memory content
01012 
01013                                    actually an xmlCharEncoding */
01014 
01015     struct _xmlDict *dict;      /* dict used to allocate names or NULL */
01016 
01017     void           *psvi;       /* for type/PSVI informations */
01018 
01019 };
01020 
01021 
01022 
01035 #ifndef xmlChildrenNode
01036 
01037 #define xmlChildrenNode children
01038 
01039 #endif
01040 
01041 
01042 
01055 #ifndef xmlRootNode
01056 
01057 #define xmlRootNode children
01058 
01059 #endif
01060 
01061 
01062 
01063 /*
01064 
01065  * Variables.
01066 
01067  */
01068 
01069 
01070 
01071 /*
01072 
01073  * Some helper functions
01074 
01075  */
01076 
01077 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
01078 
01079 XMLPUBFUN int XMLCALL
01080 
01081                 xmlValidateNCName       (const xmlChar *value,
01082 
01083                                          int space);
01084 
01085 #endif
01086 
01087 
01088 
01089 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01090 
01091 XMLPUBFUN int XMLCALL           
01092 
01093                 xmlValidateQName        (const xmlChar *value,
01094 
01095                                          int space);
01096 
01097 XMLPUBFUN int XMLCALL           
01098 
01099                 xmlValidateName         (const xmlChar *value,
01100 
01101                                          int space);
01102 
01103 XMLPUBFUN int XMLCALL           
01104 
01105                 xmlValidateNMToken      (const xmlChar *value,
01106 
01107                                          int space);
01108 
01109 #endif
01110 
01111 
01112 
01113 XMLPUBFUN xmlChar * XMLCALL     
01114 
01115                 xmlBuildQName           (const xmlChar *ncname,
01116 
01117                                          const xmlChar *prefix,
01118 
01119                                          xmlChar *memory,
01120 
01121                                          int len);
01122 
01123 XMLPUBFUN xmlChar * XMLCALL     
01124 
01125                 xmlSplitQName2          (const xmlChar *name,
01126 
01127                                          xmlChar **prefix);
01128 
01129 XMLPUBFUN const xmlChar * XMLCALL       
01130 
01131                 xmlSplitQName3          (const xmlChar *name,
01132 
01133                                          int *len);
01134 
01135 
01136 
01137 /*
01138 
01139  * Handling Buffers.
01140 
01141  */
01142 
01143 
01144 
01145 XMLPUBFUN void XMLCALL          
01146 
01147                 xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
01148 
01149 XMLPUBFUN xmlBufferAllocationScheme XMLCALL      
01150 
01151                 xmlGetBufferAllocationScheme(void);
01152 
01153 
01154 
01155 XMLPUBFUN xmlBufferPtr XMLCALL  
01156 
01157                 xmlBufferCreate         (void);
01158 
01159 XMLPUBFUN xmlBufferPtr XMLCALL  
01160 
01161                 xmlBufferCreateSize     (size_t size);
01162 
01163 XMLPUBFUN xmlBufferPtr XMLCALL  
01164 
01165                 xmlBufferCreateStatic   (void *mem,
01166 
01167                                          size_t size);
01168 
01169 XMLPUBFUN int XMLCALL           
01170 
01171                 xmlBufferResize         (xmlBufferPtr buf,
01172 
01173                                          unsigned int size);
01174 
01175 XMLPUBFUN void XMLCALL          
01176 
01177                 xmlBufferFree           (xmlBufferPtr buf);
01178 
01179 XMLPUBFUN int XMLCALL           
01180 
01181                 xmlBufferDump           (FILE *file,
01182 
01183                                          xmlBufferPtr buf);
01184 
01185 XMLPUBFUN int XMLCALL           
01186 
01187                 xmlBufferAdd            (xmlBufferPtr buf,
01188 
01189                                          const xmlChar *str,
01190 
01191                                          int len);
01192 
01193 XMLPUBFUN int XMLCALL           
01194 
01195                 xmlBufferAddHead        (xmlBufferPtr buf,
01196 
01197                                          const xmlChar *str,
01198 
01199                                          int len);
01200 
01201 XMLPUBFUN int XMLCALL           
01202 
01203                 xmlBufferCat            (xmlBufferPtr buf,
01204 
01205                                          const xmlChar *str);
01206 
01207 XMLPUBFUN int XMLCALL   
01208 
01209                 xmlBufferCCat           (xmlBufferPtr buf,
01210 
01211                                          const char *str);
01212 
01213 XMLPUBFUN int XMLCALL           
01214 
01215                 xmlBufferShrink         (xmlBufferPtr buf,
01216 
01217                                          unsigned int len);
01218 
01219 XMLPUBFUN int XMLCALL           
01220 
01221                 xmlBufferGrow           (xmlBufferPtr buf,
01222 
01223                                          unsigned int len);
01224 
01225 XMLPUBFUN void XMLCALL          
01226 
01227                 xmlBufferEmpty          (xmlBufferPtr buf);
01228 
01229 XMLPUBFUN const xmlChar* XMLCALL        
01230 
01231                 xmlBufferContent        (const xmlBufferPtr buf);
01232 
01233 XMLPUBFUN void XMLCALL          
01234 
01235                 xmlBufferSetAllocationScheme(xmlBufferPtr buf,
01236 
01237                                          xmlBufferAllocationScheme scheme);
01238 
01239 XMLPUBFUN int XMLCALL           
01240 
01241                 xmlBufferLength         (const xmlBufferPtr buf);
01242 
01243 
01244 
01245 /*
01246 
01247  * Creating/freeing new structures.
01248 
01249  */
01250 
01251 XMLPUBFUN xmlDtdPtr XMLCALL     
01252 
01253                 xmlCreateIntSubset      (xmlDocPtr doc,
01254 
01255                                          const xmlChar *name,
01256 
01257                                          const xmlChar *ExternalID,
01258 
01259                                          const xmlChar *SystemID);
01260 
01261 XMLPUBFUN xmlDtdPtr XMLCALL     
01262 
01263                 xmlNewDtd               (xmlDocPtr doc,
01264 
01265                                          const xmlChar *name,
01266 
01267                                          const xmlChar *ExternalID,
01268 
01269                                          const xmlChar *SystemID);
01270 
01271 XMLPUBFUN xmlDtdPtr XMLCALL     
01272 
01273                 xmlGetIntSubset         (xmlDocPtr doc);
01274 
01275 XMLPUBFUN void XMLCALL          
01276 
01277                 xmlFreeDtd              (xmlDtdPtr cur);
01278 
01279 #ifdef LIBXML_LEGACY_ENABLED
01280 
01281 XMLPUBFUN xmlNsPtr XMLCALL      
01282 
01283                 xmlNewGlobalNs          (xmlDocPtr doc,
01284 
01285                                          const xmlChar *href,
01286 
01287                                          const xmlChar *prefix);
01288 
01289 #endif /* LIBXML_LEGACY_ENABLED */
01290 
01291 XMLPUBFUN xmlNsPtr XMLCALL      
01292 
01293                 xmlNewNs                (xmlNodePtr node,
01294 
01295                                          const xmlChar *href,
01296 
01297                                          const xmlChar *prefix);
01298 
01299 XMLPUBFUN void XMLCALL          
01300 
01301                 xmlFreeNs               (xmlNsPtr cur);
01302 
01303 XMLPUBFUN void XMLCALL          
01304 
01305                 xmlFreeNsList           (xmlNsPtr cur);
01306 
01307 XMLPUBFUN xmlDocPtr XMLCALL     
01308 
01309                 xmlNewDoc               (const xmlChar *version);
01310 
01311 XMLPUBFUN void XMLCALL          
01312 
01313                 xmlFreeDoc              (xmlDocPtr cur);
01314 
01315 XMLPUBFUN xmlAttrPtr XMLCALL    
01316 
01317                 xmlNewDocProp           (xmlDocPtr doc,
01318 
01319                                          const xmlChar *name,
01320 
01321                                          const xmlChar *value);
01322 
01323 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
01324 
01325     defined(LIBXML_SCHEMAS_ENABLED)
01326 
01327 XMLPUBFUN xmlAttrPtr XMLCALL    
01328 
01329                 xmlNewProp              (xmlNodePtr node,
01330 
01331                                          const xmlChar *name,
01332 
01333                                          const xmlChar *value);
01334 
01335 #endif
01336 
01337 XMLPUBFUN xmlAttrPtr XMLCALL    
01338 
01339                 xmlNewNsProp            (xmlNodePtr node,
01340 
01341                                          xmlNsPtr ns,
01342 
01343                                          const xmlChar *name,
01344 
01345                                          const xmlChar *value);
01346 
01347 XMLPUBFUN xmlAttrPtr XMLCALL    
01348 
01349                 xmlNewNsPropEatName     (xmlNodePtr node,
01350 
01351                                          xmlNsPtr ns,
01352 
01353                                          xmlChar *name,
01354 
01355                                          const xmlChar *value);
01356 
01357 XMLPUBFUN void XMLCALL          
01358 
01359                 xmlFreePropList         (xmlAttrPtr cur);
01360 
01361 XMLPUBFUN void XMLCALL          
01362 
01363                 xmlFreeProp             (xmlAttrPtr cur);
01364 
01365 XMLPUBFUN xmlAttrPtr XMLCALL    
01366 
01367                 xmlCopyProp             (xmlNodePtr target,
01368 
01369                                          xmlAttrPtr cur);
01370 
01371 XMLPUBFUN xmlAttrPtr XMLCALL    
01372 
01373                 xmlCopyPropList         (xmlNodePtr target,
01374 
01375                                          xmlAttrPtr cur);
01376 
01377 #ifdef LIBXML_TREE_ENABLED
01378 
01379 XMLPUBFUN xmlDtdPtr XMLCALL     
01380 
01381                 xmlCopyDtd              (xmlDtdPtr dtd);
01382 
01383 #endif /* LIBXML_TREE_ENABLED */
01384 
01385 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01386 
01387 XMLPUBFUN xmlDocPtr XMLCALL     
01388 
01389                 xmlCopyDoc              (xmlDocPtr doc,
01390 
01391                                          int recursive);
01392 
01393 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
01394 
01395 /*
01396 
01397  * Creating new nodes.
01398 
01399  */
01400 
01401 XMLPUBFUN xmlNodePtr XMLCALL    
01402 
01403                 xmlNewDocNode           (xmlDocPtr doc,
01404 
01405                                          xmlNsPtr ns,
01406 
01407                                          const xmlChar *name,
01408 
01409                                          const xmlChar *content);
01410 
01411 XMLPUBFUN xmlNodePtr XMLCALL    
01412 
01413                 xmlNewDocNodeEatName    (xmlDocPtr doc,
01414 
01415                                          xmlNsPtr ns,
01416 
01417                                          xmlChar *name,
01418 
01419                                          const xmlChar *content);
01420 
01421 XMLPUBFUN xmlNodePtr XMLCALL    
01422 
01423                 xmlNewNode              (xmlNsPtr ns,
01424 
01425                                          const xmlChar *name);
01426 
01427 XMLPUBFUN xmlNodePtr XMLCALL    
01428 
01429                 xmlNewNodeEatName       (xmlNsPtr ns,
01430 
01431                                          xmlChar *name);
01432 
01433 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01434 
01435 XMLPUBFUN xmlNodePtr XMLCALL    
01436 
01437                 xmlNewChild             (xmlNodePtr parent,
01438 
01439                                          xmlNsPtr ns,
01440 
01441                                          const xmlChar *name,
01442 
01443                                          const xmlChar *content);
01444 
01445 #endif
01446 
01447 XMLPUBFUN xmlNodePtr XMLCALL    
01448 
01449                 xmlNewDocText           (xmlDocPtr doc,
01450 
01451                                          const xmlChar *content);
01452 
01453 XMLPUBFUN xmlNodePtr XMLCALL    
01454 
01455                 xmlNewText              (const xmlChar *content);
01456 
01457 XMLPUBFUN xmlNodePtr XMLCALL    
01458 
01459                 xmlNewDocPI             (xmlDocPtr doc,
01460 
01461                                          const xmlChar *name,
01462 
01463                                          const xmlChar *content);
01464 
01465 XMLPUBFUN xmlNodePtr XMLCALL    
01466 
01467                 xmlNewPI                (const xmlChar *name,
01468 
01469                                          const xmlChar *content);
01470 
01471 XMLPUBFUN xmlNodePtr XMLCALL    
01472 
01473                 xmlNewDocTextLen        (xmlDocPtr doc,
01474 
01475                                          const xmlChar *content,
01476 
01477                                          int len);
01478 
01479 XMLPUBFUN xmlNodePtr XMLCALL    
01480 
01481                 xmlNewTextLen           (const xmlChar *content,
01482 
01483                                          int len);
01484 
01485 XMLPUBFUN xmlNodePtr XMLCALL    
01486 
01487                 xmlNewDocComment        (xmlDocPtr doc,
01488 
01489                                          const xmlChar *content);
01490 
01491 XMLPUBFUN xmlNodePtr XMLCALL    
01492 
01493                 xmlNewComment           (const xmlChar *content);
01494 
01495 XMLPUBFUN xmlNodePtr XMLCALL    
01496 
01497                 xmlNewCDataBlock        (xmlDocPtr doc,
01498 
01499                                          const xmlChar *content,
01500 
01501                                          int len);
01502 
01503 XMLPUBFUN xmlNodePtr XMLCALL    
01504 
01505                 xmlNewCharRef           (xmlDocPtr doc,
01506 
01507                                          const xmlChar *name);
01508 
01509 XMLPUBFUN xmlNodePtr XMLCALL    
01510 
01511                 xmlNewReference         (xmlDocPtr doc,
01512 
01513                                          const xmlChar *name);
01514 
01515 XMLPUBFUN xmlNodePtr XMLCALL    
01516 
01517                 xmlCopyNode             (const xmlNodePtr node,
01518 
01519                                          int recursive);
01520 
01521 XMLPUBFUN xmlNodePtr XMLCALL    
01522 
01523                 xmlDocCopyNode          (const xmlNodePtr node,
01524 
01525                                          xmlDocPtr doc,
01526 
01527                                          int recursive);
01528 
01529 XMLPUBFUN xmlNodePtr XMLCALL    
01530 
01531                 xmlDocCopyNodeList      (xmlDocPtr doc,
01532 
01533                                          const xmlNodePtr node);
01534 
01535 XMLPUBFUN xmlNodePtr XMLCALL    
01536 
01537                 xmlCopyNodeList         (const xmlNodePtr node);
01538 
01539 #ifdef LIBXML_TREE_ENABLED
01540 
01541 XMLPUBFUN xmlNodePtr XMLCALL    
01542 
01543                 xmlNewTextChild         (xmlNodePtr parent,
01544 
01545                                          xmlNsPtr ns,
01546 
01547                                          const xmlChar *name,
01548 
01549                                          const xmlChar *content);
01550 
01551 XMLPUBFUN xmlNodePtr XMLCALL    
01552 
01553                 xmlNewDocRawNode        (xmlDocPtr doc,
01554 
01555                                          xmlNsPtr ns,
01556 
01557                                          const xmlChar *name,
01558 
01559                                          const xmlChar *content);
01560 
01561 XMLPUBFUN xmlNodePtr XMLCALL    
01562 
01563                 xmlNewDocFragment       (xmlDocPtr doc);
01564 
01565 #endif /* LIBXML_TREE_ENABLED */
01566 
01567 
01568 
01569 /*
01570 
01571  * Navigating.
01572 
01573  */
01574 
01575 XMLPUBFUN long XMLCALL          
01576 
01577                 xmlGetLineNo            (xmlNodePtr node);
01578 
01579 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
01580 
01581 XMLPUBFUN xmlChar * XMLCALL     
01582 
01583                 xmlGetNodePath          (xmlNodePtr node);
01584 
01585 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
01586 
01587 XMLPUBFUN xmlNodePtr XMLCALL    
01588 
01589                 xmlDocGetRootElement    (xmlDocPtr doc);
01590 
01591 XMLPUBFUN xmlNodePtr XMLCALL    
01592 
01593                 xmlGetLastChild         (xmlNodePtr parent);
01594 
01595 XMLPUBFUN int XMLCALL           
01596 
01597                 xmlNodeIsText           (xmlNodePtr node);
01598 
01599 XMLPUBFUN int XMLCALL           
01600 
01601                 xmlIsBlankNode          (xmlNodePtr node);
01602 
01603 
01604 
01605 /*
01606 
01607  * Changing the structure.
01608 
01609  */
01610 
01611 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
01612 
01613 XMLPUBFUN xmlNodePtr XMLCALL    
01614 
01615                 xmlDocSetRootElement    (xmlDocPtr doc,
01616 
01617                                          xmlNodePtr root);
01618 
01619 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
01620 
01621 #ifdef LIBXML_TREE_ENABLED
01622 
01623 XMLPUBFUN void XMLCALL          
01624 
01625                 xmlNodeSetName          (xmlNodePtr cur,
01626 
01627                                          const xmlChar *name);
01628 
01629 #endif /* LIBXML_TREE_ENABLED */
01630 
01631 XMLPUBFUN xmlNodePtr XMLCALL    
01632 
01633                 xmlAddChild             (xmlNodePtr parent,
01634 
01635                                          xmlNodePtr cur);
01636 
01637 XMLPUBFUN xmlNodePtr XMLCALL    
01638 
01639                 xmlAddChildList         (xmlNodePtr parent,
01640 
01641                                          xmlNodePtr cur);
01642 
01643 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
01644 
01645 XMLPUBFUN xmlNodePtr XMLCALL    
01646 
01647                 xmlReplaceNode          (xmlNodePtr old,
01648 
01649                                          xmlNodePtr cur);
01650 
01651 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
01652 
01653 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
01654 
01655     defined(LIBXML_SCHEMAS_ENABLED)
01656 
01657 XMLPUBFUN xmlNodePtr XMLCALL    
01658 
01659                 xmlAddPrevSibling       (xmlNodePtr cur,
01660 
01661                                          xmlNodePtr elem);
01662 
01663 #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
01664 
01665 XMLPUBFUN xmlNodePtr XMLCALL    
01666 
01667                 xmlAddSibling           (xmlNodePtr cur,
01668 
01669                                          xmlNodePtr elem);
01670 
01671 XMLPUBFUN xmlNodePtr XMLCALL    
01672 
01673                 xmlAddNextSibling       (xmlNodePtr cur,
01674 
01675                                          xmlNodePtr elem);
01676 
01677 XMLPUBFUN void XMLCALL          
01678 
01679                 xmlUnlinkNode           (xmlNodePtr cur);
01680 
01681 XMLPUBFUN xmlNodePtr XMLCALL    
01682 
01683                 xmlTextMerge            (xmlNodePtr first,
01684 
01685                                          xmlNodePtr second);
01686 
01687 XMLPUBFUN int XMLCALL           
01688 
01689                 xmlTextConcat           (xmlNodePtr node,
01690 
01691                                          const xmlChar *content,
01692 
01693                                          int len);
01694 
01695 XMLPUBFUN void XMLCALL          
01696 
01697                 xmlFreeNodeList         (xmlNodePtr cur);
01698 
01699 XMLPUBFUN void XMLCALL          
01700 
01701                 xmlFreeNode             (xmlNodePtr cur);
01702 
01703 XMLPUBFUN void XMLCALL          
01704 
01705                 xmlSetTreeDoc           (xmlNodePtr tree,
01706 
01707                                          xmlDocPtr doc);
01708 
01709 XMLPUBFUN void XMLCALL          
01710 
01711                 xmlSetListDoc           (xmlNodePtr list,
01712 
01713                                          xmlDocPtr doc);
01714 
01715 /*
01716 
01717  * Namespaces.
01718 
01719  */
01720 
01721 XMLPUBFUN xmlNsPtr XMLCALL      
01722 
01723                 xmlSearchNs             (xmlDocPtr doc,
01724 
01725                                          xmlNodePtr node,
01726 
01727                                          const xmlChar *nameSpace);
01728 
01729 XMLPUBFUN xmlNsPtr XMLCALL      
01730 
01731                 xmlSearchNsByHref       (xmlDocPtr doc,
01732 
01733                                          xmlNodePtr node,
01734 
01735                                          const xmlChar *href);
01736 
01737 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED)
01738 
01739 XMLPUBFUN xmlNsPtr * XMLCALL    
01740 
01741                 xmlGetNsList            (xmlDocPtr doc,
01742 
01743                                          xmlNodePtr node);
01744 
01745 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
01746 
01747 
01748 
01749 XMLPUBFUN void XMLCALL          
01750 
01751                 xmlSetNs                (xmlNodePtr node,
01752 
01753                                          xmlNsPtr ns);
01754 
01755 XMLPUBFUN xmlNsPtr XMLCALL      
01756 
01757                 xmlCopyNamespace        (xmlNsPtr cur);
01758 
01759 XMLPUBFUN xmlNsPtr XMLCALL      
01760 
01761                 xmlCopyNamespaceList    (xmlNsPtr cur);
01762 
01763 
01764 
01765 /*
01766 
01767  * Changing the content.
01768 
01769  */
01770 
01771 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
01772 
01773 XMLPUBFUN xmlAttrPtr XMLCALL    
01774 
01775                 xmlSetProp              (xmlNodePtr node,
01776 
01777                                          const xmlChar *name,
01778 
01779                                          const xmlChar *value);
01780 
01781 XMLPUBFUN xmlAttrPtr XMLCALL    
01782 
01783                 xmlSetNsProp            (xmlNodePtr node,
01784 
01785                                          xmlNsPtr ns,
01786 
01787                                          const xmlChar *name,
01788 
01789                                          const xmlChar *value);
01790 
01791 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
01792 
01793 XMLPUBFUN xmlChar * XMLCALL     
01794 
01795                 xmlGetNoNsProp          (xmlNodePtr node,
01796 
01797                                          const xmlChar *name);
01798 
01799 XMLPUBFUN xmlChar * XMLCALL     
01800 
01801                 xmlGetProp              (xmlNodePtr node,
01802 
01803                                          const xmlChar *name);
01804 
01805 XMLPUBFUN xmlAttrPtr XMLCALL    
01806 
01807                 xmlHasProp              (xmlNodePtr node,
01808 
01809                                          const xmlChar *name);
01810 
01811 XMLPUBFUN xmlAttrPtr XMLCALL    
01812 
01813                 xmlHasNsProp            (xmlNodePtr node,
01814 
01815                                          const xmlChar *name,
01816 
01817                                          const xmlChar *nameSpace);
01818 
01819 XMLPUBFUN xmlChar * XMLCALL     
01820 
01821                 xmlGetNsProp            (xmlNodePtr node,
01822 
01823                                          const xmlChar *name,
01824 
01825                                          const xmlChar *nameSpace);
01826 
01827 XMLPUBFUN xmlNodePtr XMLCALL    
01828 
01829                 xmlStringGetNodeList    (xmlDocPtr doc,
01830 
01831                                          const xmlChar *value);
01832 
01833 XMLPUBFUN xmlNodePtr XMLCALL    
01834 
01835                 xmlStringLenGetNodeList (xmlDocPtr doc,
01836 
01837                                          const xmlChar *value,
01838 
01839                                          int len);
01840 
01841 XMLPUBFUN xmlChar * XMLCALL     
01842 
01843                 xmlNodeListGetString    (xmlDocPtr doc,
01844 
01845                                          xmlNodePtr list,
01846 
01847                                          int inLine);
01848 
01849 #ifdef LIBXML_TREE_ENABLED
01850 
01851 XMLPUBFUN xmlChar * XMLCALL     
01852 
01853                 xmlNodeListGetRawString (xmlDocPtr doc,
01854 
01855                                          xmlNodePtr list,
01856 
01857                                          int inLine);
01858 
01859 #endif /* LIBXML_TREE_ENABLED */
01860 
01861 XMLPUBFUN void XMLCALL          
01862 
01863                 xmlNodeSetContent       (xmlNodePtr cur,
01864 
01865                                          const xmlChar *content);
01866 
01867 #ifdef LIBXML_TREE_ENABLED
01868 
01869 XMLPUBFUN void XMLCALL          
01870 
01871                 xmlNodeSetContentLen    (xmlNodePtr cur,
01872 
01873                                          const xmlChar *content,
01874 
01875                                          int len);
01876 
01877 #endif /* LIBXML_TREE_ENABLED */
01878 
01879 XMLPUBFUN void XMLCALL          
01880 
01881                 xmlNodeAddContent       (xmlNodePtr cur,
01882 
01883                                          const xmlChar *content);
01884 
01885 XMLPUBFUN void XMLCALL          
01886 
01887                 xmlNodeAddContentLen    (xmlNodePtr cur,
01888 
01889                                          const xmlChar *content,
01890 
01891                                          int len);
01892 
01893 XMLPUBFUN xmlChar * XMLCALL     
01894 
01895                 xmlNodeGetContent       (xmlNodePtr cur);
01896 
01897 XMLPUBFUN int XMLCALL
01898 
01899                 xmlNodeBufGetContent    (xmlBufferPtr buffer,
01900 
01901                                          xmlNodePtr cur);
01902 
01903 XMLPUBFUN xmlChar * XMLCALL     
01904 
01905                 xmlNodeGetLang          (xmlNodePtr cur);
01906 
01907 XMLPUBFUN int XMLCALL           
01908 
01909                 xmlNodeGetSpacePreserve (xmlNodePtr cur);
01910 
01911 #ifdef LIBXML_TREE_ENABLED
01912 
01913 XMLPUBFUN void XMLCALL          
01914 
01915                 xmlNodeSetLang          (xmlNodePtr cur,
01916 
01917                                          const xmlChar *lang);
01918 
01919 XMLPUBFUN void XMLCALL          
01920 
01921                 xmlNodeSetSpacePreserve (xmlNodePtr cur,
01922 
01923                                          int val);
01924 
01925 #endif /* LIBXML_TREE_ENABLED */
01926 
01927 XMLPUBFUN xmlChar * XMLCALL     
01928 
01929                 xmlNodeGetBase          (xmlDocPtr doc,
01930 
01931                                          xmlNodePtr cur);
01932 
01933 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
01934 
01935 XMLPUBFUN void XMLCALL          
01936 
01937                 xmlNodeSetBase          (xmlNodePtr cur,
01938 
01939                                          const xmlChar *uri);
01940 
01941 #endif
01942 
01943 
01944 
01945 /*
01946 
01947  * Removing content.
01948 
01949  */
01950 
01951 #ifdef LIBXML_TREE_ENABLED
01952 
01953 XMLPUBFUN int XMLCALL           
01954 
01955                 xmlRemoveProp           (xmlAttrPtr cur);
01956 
01957 #endif /* LIBXML_TREE_ENABLED */
01958 
01959 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01960 
01961 XMLPUBFUN int XMLCALL           
01962 
01963                 xmlUnsetNsProp          (xmlNodePtr node,
01964 
01965                                          xmlNsPtr ns,
01966 
01967                                          const xmlChar *name);
01968 
01969 XMLPUBFUN int XMLCALL           
01970 
01971                 xmlUnsetProp            (xmlNodePtr node,
01972 
01973                                          const xmlChar *name);
01974 
01975 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
01976 
01977 
01978 
01979 /*
01980 
01981  * Internal, don't use.
01982 
01983  */
01984 
01985 XMLPUBFUN void XMLCALL          
01986 
01987                 xmlBufferWriteCHAR      (xmlBufferPtr buf,
01988 
01989                                          const xmlChar *string);
01990 
01991 XMLPUBFUN void XMLCALL          
01992 
01993                 xmlBufferWriteChar      (xmlBufferPtr buf,
01994 
01995                                          const char *string);
01996 
01997 XMLPUBFUN void XMLCALL          
01998 
01999                 xmlBufferWriteQuotedString(xmlBufferPtr buf,
02000 
02001                                          const xmlChar *string);
02002 
02003 
02004 
02005 #ifdef LIBXML_OUTPUT_ENABLED
02006 
02007 XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
02008 
02009                                          xmlDocPtr doc,
02010 
02011                                          xmlAttrPtr attr,
02012 
02013                                          const xmlChar *string);
02014 
02015 #endif /* LIBXML_OUTPUT_ENABLED */
02016 
02017 
02018 
02019 #ifdef LIBXML_TREE_ENABLED
02020 
02021 /*
02022 
02023  * Namespace handling.
02024 
02025  */
02026 
02027 XMLPUBFUN int XMLCALL           
02028 
02029                 xmlReconciliateNs       (xmlDocPtr doc,
02030 
02031                                          xmlNodePtr tree);
02032 
02033 #endif
02034 
02035 
02036 
02037 #ifdef LIBXML_OUTPUT_ENABLED
02038 
02039 /*
02040 
02041  * Saving.
02042 
02043  */
02044 
02045 XMLPUBFUN void XMLCALL          
02046 
02047                 xmlDocDumpFormatMemory  (xmlDocPtr cur,
02048 
02049                                          xmlChar **mem,
02050 
02051                                          int *size,
02052 
02053                                          int format);
02054 
02055 XMLPUBFUN void XMLCALL          
02056 
02057                 xmlDocDumpMemory        (xmlDocPtr cur,
02058 
02059                                          xmlChar **mem,
02060 
02061                                          int *size);
02062 
02063 XMLPUBFUN void XMLCALL          
02064 
02065                 xmlDocDumpMemoryEnc     (xmlDocPtr out_doc,
02066 
02067                                          xmlChar **doc_txt_ptr,
02068 
02069                                          int * doc_txt_len,
02070 
02071                                          const char *txt_encoding);
02072 
02073 XMLPUBFUN void XMLCALL          
02074 
02075                 xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
02076 
02077                                          xmlChar **doc_txt_ptr,
02078 
02079                                          int * doc_txt_len,
02080 
02081                                          const char *txt_encoding,
02082 
02083                                          int format);
02084 
02085 XMLPUBFUN int XMLCALL           
02086 
02087                 xmlDocFormatDump        (FILE *f,
02088 
02089                                          xmlDocPtr cur,
02090 
02091                                          int format);
02092 
02093 XMLPUBFUN int XMLCALL   
02094 
02095                 xmlDocDump              (FILE *f,
02096 
02097                                          xmlDocPtr cur);
02098 
02099 XMLPUBFUN void XMLCALL          
02100 
02101                 xmlElemDump             (FILE *f,
02102 
02103                                          xmlDocPtr doc,
02104 
02105                                          xmlNodePtr cur);
02106 
02107 XMLPUBFUN int XMLCALL           
02108 
02109                 xmlSaveFile             (const char *filename,
02110 
02111                                          xmlDocPtr cur);
02112 
02113 XMLPUBFUN int XMLCALL           
02114 
02115                 xmlSaveFormatFile       (const char *filename,
02116 
02117                                          xmlDocPtr cur,
02118 
02119                                          int format);
02120 
02121 XMLPUBFUN int XMLCALL           
02122 
02123                 xmlNodeDump             (xmlBufferPtr buf,
02124 
02125                                          xmlDocPtr doc,
02126 
02127                                          xmlNodePtr cur,
02128 
02129                                          int level,
02130 
02131                                          int format);
02132 
02133 
02134 
02135 XMLPUBFUN int XMLCALL           
02136 
02137                 xmlSaveFileTo           (xmlOutputBufferPtr buf,
02138 
02139                                          xmlDocPtr cur,
02140 
02141                                          const char *encoding);
02142 
02143 XMLPUBFUN int XMLCALL             
02144 
02145                 xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
02146 
02147                                          xmlDocPtr cur,
02148 
02149                                          const char *encoding,
02150 
02151                                          int format);
02152 
02153 XMLPUBFUN void XMLCALL          
02154 
02155                 xmlNodeDumpOutput       (xmlOutputBufferPtr buf,
02156 
02157                                          xmlDocPtr doc,
02158 
02159                                          xmlNodePtr cur,
02160 
02161                                          int level,
02162 
02163                                          int format,
02164 
02165                                          const char *encoding);
02166 
02167 
02168 
02169 XMLPUBFUN int XMLCALL           
02170 
02171                 xmlSaveFormatFileEnc    (const char *filename,
02172 
02173                                          xmlDocPtr cur,
02174 
02175                                          const char *encoding,
02176 
02177                                          int format);
02178 
02179 
02180 
02181 XMLPUBFUN int XMLCALL           
02182 
02183                 xmlSaveFileEnc          (const char *filename,
02184 
02185                                          xmlDocPtr cur,
02186 
02187                                          const char *encoding);
02188 
02189 
02190 
02191 #endif /* LIBXML_OUTPUT_ENABLED */
02192 
02193 /*
02194 
02195  * XHTML
02196 
02197  */
02198 
02199 XMLPUBFUN int XMLCALL           
02200 
02201                 xmlIsXHTML              (const xmlChar *systemID,
02202 
02203                                          const xmlChar *publicID);
02204 
02205 
02206 
02207 /*
02208 
02209  * Compression.
02210 
02211  */
02212 
02213 XMLPUBFUN int XMLCALL           
02214 
02215                 xmlGetDocCompressMode   (xmlDocPtr doc);
02216 
02217 XMLPUBFUN void XMLCALL          
02218 
02219                 xmlSetDocCompressMode   (xmlDocPtr doc,
02220 
02221                                          int mode);
02222 
02223 XMLPUBFUN int XMLCALL           
02224 
02225                 xmlGetCompressMode      (void);
02226 
02227 XMLPUBFUN void XMLCALL          
02228 
02229                 xmlSetCompressMode      (int mode);
02230 
02231 
02232 
02233 #ifdef __cplusplus
02234 
02235 }
02236 
02237 #endif
02238 
02239 #ifndef __XML_PARSER_H__
02240 
02241 #include <libxml/xmlmemory.h>
02242 
02243 #endif
02244 
02245 
02246 
02247 #endif /* __XML_TREE_H__ */
02248 
02249 
02250 

Generated on Wed Jul 26 13:30:46 2006 for XSB by  doxygen 1.4.5