ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

tree.h
Go to the documentation of this file.
00001 /*
00002  * Summary: interfaces for tree manipulation
00003  * Description: this module describes the structures found in an tree resulting
00004  *              from an XML or HTML parsing, as well as the API provided for
00005  *              various processing on that tree
00006  *
00007  * Copy: See Copyright for the status of this software.
00008  *
00009  * Author: Daniel Veillard
00010  */
00011 
00012 #ifndef __XML_TREE_H__
00013 #define __XML_TREE_H__
00014 
00015 #include <stdio.h>
00016 #include <libxml/xmlversion.h>
00017 #include <libxml/xmlstring.h>
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 /*
00024  * Some of the basic types pointer to structures:
00025  */
00026 /* xmlIO.h */
00027 typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
00028 typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
00029 
00030 typedef struct _xmlOutputBuffer xmlOutputBuffer;
00031 typedef xmlOutputBuffer *xmlOutputBufferPtr;
00032 
00033 /* parser.h */
00034 typedef struct _xmlParserInput xmlParserInput;
00035 typedef xmlParserInput *xmlParserInputPtr;
00036 
00037 typedef struct _xmlParserCtxt xmlParserCtxt;
00038 typedef xmlParserCtxt *xmlParserCtxtPtr;
00039 
00040 typedef struct _xmlSAXLocator xmlSAXLocator;
00041 typedef xmlSAXLocator *xmlSAXLocatorPtr;
00042 
00043 typedef struct _xmlSAXHandler xmlSAXHandler;
00044 typedef xmlSAXHandler *xmlSAXHandlerPtr;
00045 
00046 /* entities.h */
00047 typedef struct _xmlEntity xmlEntity;
00048 typedef xmlEntity *xmlEntityPtr;
00049 
00055 #define BASE_BUFFER_SIZE 4096
00056 
00064 /* #define LIBXML_NAMESPACE_DICT */
00065 
00073 typedef enum {
00074     XML_BUFFER_ALLOC_DOUBLEIT,  /* double each time one need to grow */
00075     XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
00076     XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
00077     XML_BUFFER_ALLOC_IO     /* special allocation scheme used for I/O */
00078 } xmlBufferAllocationScheme;
00079 
00085 typedef struct _xmlBuffer xmlBuffer;
00086 typedef xmlBuffer *xmlBufferPtr;
00087 struct _xmlBuffer {
00088     xmlChar *content;       /* The buffer content UTF8 */
00089     unsigned int use;       /* The buffer size used */
00090     unsigned int size;      /* The buffer size */
00091     xmlBufferAllocationScheme alloc; /* The realloc method */
00092     xmlChar *contentIO;     /* in IO mode we may have a different base */
00093 };
00094 
00101 #define XML_XML_NAMESPACE \
00102     (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
00103 
00109 #define XML_XML_ID (const xmlChar *) "xml:id"
00110 
00111 /*
00112  * The different element types carried by an XML tree.
00113  *
00114  * NOTE: This is synchronized with DOM Level1 values
00115  *       See http://www.w3.org/TR/REC-DOM-Level-1/
00116  *
00117  * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
00118  * be deprecated to use an XML_DTD_NODE.
00119  */
00120 typedef enum {
00121     XML_ELEMENT_NODE=       1,
00122     XML_ATTRIBUTE_NODE=     2,
00123     XML_TEXT_NODE=      3,
00124     XML_CDATA_SECTION_NODE= 4,
00125     XML_ENTITY_REF_NODE=    5,
00126     XML_ENTITY_NODE=        6,
00127     XML_PI_NODE=        7,
00128     XML_COMMENT_NODE=       8,
00129     XML_DOCUMENT_NODE=      9,
00130     XML_DOCUMENT_TYPE_NODE= 10,
00131     XML_DOCUMENT_FRAG_NODE= 11,
00132     XML_NOTATION_NODE=      12,
00133     XML_HTML_DOCUMENT_NODE= 13,
00134     XML_DTD_NODE=       14,
00135     XML_ELEMENT_DECL=       15,
00136     XML_ATTRIBUTE_DECL=     16,
00137     XML_ENTITY_DECL=        17,
00138     XML_NAMESPACE_DECL=     18,
00139     XML_XINCLUDE_START=     19,
00140     XML_XINCLUDE_END=       20
00141 #ifdef LIBXML_DOCB_ENABLED
00142    ,XML_DOCB_DOCUMENT_NODE= 21
00143 #endif
00144 } xmlElementType;
00145 
00146 
00153 typedef struct _xmlNotation xmlNotation;
00154 typedef xmlNotation *xmlNotationPtr;
00155 struct _xmlNotation {
00156     const xmlChar               *name;          /* Notation name */
00157     const xmlChar               *PublicID;  /* Public identifier, if any */
00158     const xmlChar               *SystemID;  /* System identifier, if any */
00159 };
00160 
00167 typedef enum {
00168     XML_ATTRIBUTE_CDATA = 1,
00169     XML_ATTRIBUTE_ID,
00170     XML_ATTRIBUTE_IDREF ,
00171     XML_ATTRIBUTE_IDREFS,
00172     XML_ATTRIBUTE_ENTITY,
00173     XML_ATTRIBUTE_ENTITIES,
00174     XML_ATTRIBUTE_NMTOKEN,
00175     XML_ATTRIBUTE_NMTOKENS,
00176     XML_ATTRIBUTE_ENUMERATION,
00177     XML_ATTRIBUTE_NOTATION
00178 } xmlAttributeType;
00179 
00186 typedef enum {
00187     XML_ATTRIBUTE_NONE = 1,
00188     XML_ATTRIBUTE_REQUIRED,
00189     XML_ATTRIBUTE_IMPLIED,
00190     XML_ATTRIBUTE_FIXED
00191 } xmlAttributeDefault;
00192 
00199 typedef struct _xmlEnumeration xmlEnumeration;
00200 typedef xmlEnumeration *xmlEnumerationPtr;
00201 struct _xmlEnumeration {
00202     struct _xmlEnumeration    *next;    /* next one */
00203     const xmlChar            *name; /* Enumeration name */
00204 };
00205 
00212 typedef struct _xmlAttribute xmlAttribute;
00213 typedef xmlAttribute *xmlAttributePtr;
00214 struct _xmlAttribute {
00215     void           *_private;           /* application data */
00216     xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
00217     const xmlChar          *name;   /* Attribute name */
00218     struct _xmlNode    *children;   /* NULL */
00219     struct _xmlNode        *last;   /* NULL */
00220     struct _xmlDtd       *parent;   /* -> DTD */
00221     struct _xmlNode        *next;   /* next sibling link  */
00222     struct _xmlNode        *prev;   /* previous sibling link  */
00223     struct _xmlDoc          *doc;       /* the containing document */
00224 
00225     struct _xmlAttribute  *nexth;   /* next in hash table */
00226     xmlAttributeType       atype;   /* The attribute type */
00227     xmlAttributeDefault      def;   /* the default */
00228     const xmlChar  *defaultValue;   /* or the default value */
00229     xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
00230     const xmlChar        *prefix;   /* the namespace prefix if any */
00231     const xmlChar          *elem;   /* Element holding the attribute */
00232 };
00233 
00239 typedef enum {
00240     XML_ELEMENT_CONTENT_PCDATA = 1,
00241     XML_ELEMENT_CONTENT_ELEMENT,
00242     XML_ELEMENT_CONTENT_SEQ,
00243     XML_ELEMENT_CONTENT_OR
00244 } xmlElementContentType;
00245 
00251 typedef enum {
00252     XML_ELEMENT_CONTENT_ONCE = 1,
00253     XML_ELEMENT_CONTENT_OPT,
00254     XML_ELEMENT_CONTENT_MULT,
00255     XML_ELEMENT_CONTENT_PLUS
00256 } xmlElementContentOccur;
00257 
00265 typedef struct _xmlElementContent xmlElementContent;
00266 typedef xmlElementContent *xmlElementContentPtr;
00267 struct _xmlElementContent {
00268     xmlElementContentType     type; /* PCDATA, ELEMENT, SEQ or OR */
00269     xmlElementContentOccur    ocur; /* ONCE, OPT, MULT or PLUS */
00270     const xmlChar             *name;    /* Element name */
00271     struct _xmlElementContent *c1;  /* first child */
00272     struct _xmlElementContent *c2;  /* second child */
00273     struct _xmlElementContent *parent;  /* parent */
00274     const xmlChar             *prefix;  /* Namespace prefix */
00275 };
00276 
00283 typedef enum {
00284     XML_ELEMENT_TYPE_UNDEFINED = 0,
00285     XML_ELEMENT_TYPE_EMPTY = 1,
00286     XML_ELEMENT_TYPE_ANY,
00287     XML_ELEMENT_TYPE_MIXED,
00288     XML_ELEMENT_TYPE_ELEMENT
00289 } xmlElementTypeVal;
00290 
00291 #ifdef __cplusplus
00292 }
00293 #endif
00294 #include <libxml/xmlregexp.h>
00295 #ifdef __cplusplus
00296 extern "C" {
00297 #endif
00298 
00305 typedef struct _xmlElement xmlElement;
00306 typedef xmlElement *xmlElementPtr;
00307 struct _xmlElement {
00308     void           *_private;           /* application data */
00309     xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
00310     const xmlChar          *name;   /* Element name */
00311     struct _xmlNode    *children;   /* NULL */
00312     struct _xmlNode        *last;   /* NULL */
00313     struct _xmlDtd       *parent;   /* -> DTD */
00314     struct _xmlNode        *next;   /* next sibling link  */
00315     struct _xmlNode        *prev;   /* previous sibling link  */
00316     struct _xmlDoc          *doc;       /* the containing document */
00317 
00318     xmlElementTypeVal      etype;   /* The type */
00319     xmlElementContentPtr content;   /* the allowed element content */
00320     xmlAttributePtr   attributes;   /* List of the declared attributes */
00321     const xmlChar        *prefix;   /* the namespace prefix if any */
00322 #ifdef LIBXML_REGEXP_ENABLED
00323     xmlRegexpPtr       contModel;   /* the validating regexp */
00324 #else
00325     void          *contModel;
00326 #endif
00327 };
00328 
00329 
00335 #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
00336 typedef xmlElementType xmlNsType;
00337 
00348 typedef struct _xmlNs xmlNs;
00349 typedef xmlNs *xmlNsPtr;
00350 struct _xmlNs {
00351     struct _xmlNs  *next;   /* next Ns link for this node  */
00352     xmlNsType      type;    /* global or local */
00353     const xmlChar *href;    /* URL for the namespace */
00354     const xmlChar *prefix;  /* prefix for the namespace */
00355     void           *_private;   /* application data */
00356     struct _xmlDoc *context;        /* normally an xmlDoc */
00357 };
00358 
00365 typedef struct _xmlDtd xmlDtd;
00366 typedef xmlDtd *xmlDtdPtr;
00367 struct _xmlDtd {
00368     void           *_private;   /* application data */
00369     xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
00370     const xmlChar *name;    /* Name of the DTD */
00371     struct _xmlNode *children;  /* the value of the property link */
00372     struct _xmlNode *last;  /* last child link */
00373     struct _xmlDoc  *parent;    /* child->parent link */
00374     struct _xmlNode *next;  /* next sibling link  */
00375     struct _xmlNode *prev;  /* previous sibling link  */
00376     struct _xmlDoc  *doc;   /* the containing document */
00377 
00378     /* End of common part */
00379     void          *notations;   /* Hash table for notations if any */
00380     void          *elements;    /* Hash table for elements if any */
00381     void          *attributes;  /* Hash table for attributes if any */
00382     void          *entities;    /* Hash table for entities if any */
00383     const xmlChar *ExternalID;  /* External identifier for PUBLIC DTD */
00384     const xmlChar *SystemID;    /* URI for a SYSTEM or PUBLIC DTD */
00385     void          *pentities;   /* Hash table for param entities if any */
00386 };
00387 
00393 typedef struct _xmlAttr xmlAttr;
00394 typedef xmlAttr *xmlAttrPtr;
00395 struct _xmlAttr {
00396     void           *_private;   /* application data */
00397     xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
00398     const xmlChar   *name;      /* the name of the property */
00399     struct _xmlNode *children;  /* the value of the property */
00400     struct _xmlNode *last;  /* NULL */
00401     struct _xmlNode *parent;    /* child->parent link */
00402     struct _xmlAttr *next;  /* next sibling link  */
00403     struct _xmlAttr *prev;  /* previous sibling link  */
00404     struct _xmlDoc  *doc;   /* the containing document */
00405     xmlNs           *ns;        /* pointer to the associated namespace */
00406     xmlAttributeType atype;     /* the attribute type if validating */
00407     void            *psvi;  /* for type/PSVI informations */
00408 };
00409 
00416 typedef struct _xmlID xmlID;
00417 typedef xmlID *xmlIDPtr;
00418 struct _xmlID {
00419     struct _xmlID    *next; /* next ID */
00420     const xmlChar    *value;    /* The ID name */
00421     xmlAttrPtr        attr; /* The attribute holding it */
00422     const xmlChar    *name; /* The attribute if attr is not available */
00423     int               lineno;   /* The line number if attr is not available */
00424     struct _xmlDoc   *doc;  /* The document holding the ID */
00425 };
00426 
00433 typedef struct _xmlRef xmlRef;
00434 typedef xmlRef *xmlRefPtr;
00435 struct _xmlRef {
00436     struct _xmlRef    *next;    /* next Ref */
00437     const xmlChar     *value;   /* The Ref name */
00438     xmlAttrPtr        attr; /* The attribute holding it */
00439     const xmlChar    *name; /* The attribute if attr is not available */
00440     int               lineno;   /* The line number if attr is not available */
00441 };
00442 
00448 typedef struct _xmlNode xmlNode;
00449 typedef xmlNode *xmlNodePtr;
00450 struct _xmlNode {
00451     void           *_private;   /* application data */
00452     xmlElementType   type;  /* type number, must be second ! */
00453     const xmlChar   *name;      /* the name of the node, or the entity */
00454     struct _xmlNode *children;  /* parent->childs link */
00455     struct _xmlNode *last;  /* last child link */
00456     struct _xmlNode *parent;    /* child->parent link */
00457     struct _xmlNode *next;  /* next sibling link  */
00458     struct _xmlNode *prev;  /* previous sibling link  */
00459     struct _xmlDoc  *doc;   /* the containing document */
00460 
00461     /* End of common part */
00462     xmlNs           *ns;        /* pointer to the associated namespace */
00463     xmlChar         *content;   /* the content */
00464     struct _xmlAttr *properties;/* properties list */
00465     xmlNs           *nsDef;     /* namespace definitions on this node */
00466     void            *psvi;  /* for type/PSVI informations */
00467     unsigned short   line;  /* line number */
00468     unsigned short   extra; /* extra data for XPath/XSLT */
00469 };
00470 
00476 #define XML_GET_CONTENT(n)                  \
00477     ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
00478 
00484 #define XML_GET_LINE(n)                     \
00485     (xmlGetLineNo(n))
00486 
00493 typedef enum {
00494     XML_DOC_WELLFORMED      = 1<<0, /* document is XML well formed */
00495     XML_DOC_NSVALID     = 1<<1, /* document is Namespace valid */
00496     XML_DOC_OLD10       = 1<<2, /* parsed with old XML-1.0 parser */
00497     XML_DOC_DTDVALID        = 1<<3, /* DTD validation was successful */
00498     XML_DOC_XINCLUDE        = 1<<4, /* XInclude substitution was done */
00499     XML_DOC_USERBUILT       = 1<<5, /* Document was built using the API
00500                                            and not by parsing an instance */
00501     XML_DOC_INTERNAL        = 1<<6, /* built for internal processing */
00502     XML_DOC_HTML        = 1<<7  /* parsed or built HTML document */
00503 } xmlDocProperties;
00504 
00510 typedef struct _xmlDoc xmlDoc;
00511 typedef xmlDoc *xmlDocPtr;
00512 struct _xmlDoc {
00513     void           *_private;   /* application data */
00514     xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
00515     char           *name;   /* name/filename/URI of the document */
00516     struct _xmlNode *children;  /* the document tree */
00517     struct _xmlNode *last;  /* last child link */
00518     struct _xmlNode *parent;    /* child->parent link */
00519     struct _xmlNode *next;  /* next sibling link  */
00520     struct _xmlNode *prev;  /* previous sibling link  */
00521     struct _xmlDoc  *doc;   /* autoreference to itself */
00522 
00523     /* End of common part */
00524     int             compression;/* level of zlib compression */
00525     int             standalone; /* standalone document (no external refs) 
00526                      1 if standalone="yes"
00527                      0 if standalone="no"
00528                     -1 if there is no XML declaration
00529                     -2 if there is an XML declaration, but no
00530                     standalone attribute was specified */
00531     struct _xmlDtd  *intSubset; /* the document internal subset */
00532     struct _xmlDtd  *extSubset; /* the document external subset */
00533     struct _xmlNs   *oldNs; /* Global namespace, the old way */
00534     const xmlChar  *version;    /* the XML version string */
00535     const xmlChar  *encoding;   /* external initial encoding, if any */
00536     void           *ids;        /* Hash table for ID attributes if any */
00537     void           *refs;       /* Hash table for IDREFs attributes if any */
00538     const xmlChar  *URL;    /* The URI for that document */
00539     int             charset;    /* encoding of the in-memory content
00540                    actually an xmlCharEncoding */
00541     struct _xmlDict *dict;      /* dict used to allocate names or NULL */
00542     void           *psvi;   /* for type/PSVI informations */
00543     int             parseFlags; /* set of xmlParserOption used to parse the
00544                    document */
00545     int             properties; /* set of xmlDocProperties for this document
00546                    set at the end of parsing */
00547 };
00548 
00549 
00550 typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
00551 typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
00552 
00564 typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
00565                          xmlNodePtr node,
00566                          const xmlChar *nsName,
00567                          const xmlChar *nsPrefix);
00568 
00574 struct _xmlDOMWrapCtxt {
00575     void * _private;
00576     /*
00577     * The type of this context, just in case we need specialized
00578     * contexts in the future.
00579     */
00580     int type;
00581     /*
00582     * Internal namespace map used for various operations.
00583     */
00584     void * namespaceMap;
00585     /*
00586     * Use this one to acquire an xmlNsPtr intended for node->ns.
00587     * (Note that this is not intended for elem->nsDef).
00588     */
00589     xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
00590 };
00591 
00598 #ifndef xmlChildrenNode
00599 #define xmlChildrenNode children
00600 #endif
00601 
00608 #ifndef xmlRootNode
00609 #define xmlRootNode children
00610 #endif
00611 
00612 /*
00613  * Variables.
00614  */
00615 
00616 /*
00617  * Some helper functions
00618  */
00619 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
00620 XMLPUBFUN int XMLCALL
00621         xmlValidateNCName   (const xmlChar *value,
00622                      int space);
00623 #endif
00624 
00625 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
00626 XMLPUBFUN int XMLCALL       
00627         xmlValidateQName    (const xmlChar *value,
00628                      int space);
00629 XMLPUBFUN int XMLCALL       
00630         xmlValidateName     (const xmlChar *value,
00631                      int space);
00632 XMLPUBFUN int XMLCALL       
00633         xmlValidateNMToken  (const xmlChar *value,
00634                      int space);
00635 #endif
00636 
00637 XMLPUBFUN xmlChar * XMLCALL 
00638         xmlBuildQName       (const xmlChar *ncname,
00639                      const xmlChar *prefix,
00640                      xmlChar *memory,
00641                      int len);
00642 XMLPUBFUN xmlChar * XMLCALL 
00643         xmlSplitQName2      (const xmlChar *name,
00644                      xmlChar **prefix);
00645 XMLPUBFUN const xmlChar * XMLCALL   
00646         xmlSplitQName3      (const xmlChar *name,
00647                      int *len);
00648 
00649 /*
00650  * Handling Buffers.
00651  */
00652 
00653 XMLPUBFUN void XMLCALL      
00654         xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
00655 XMLPUBFUN xmlBufferAllocationScheme XMLCALL  
00656         xmlGetBufferAllocationScheme(void);
00657 
00658 XMLPUBFUN xmlBufferPtr XMLCALL  
00659         xmlBufferCreate     (void);
00660 XMLPUBFUN xmlBufferPtr XMLCALL  
00661         xmlBufferCreateSize (size_t size);
00662 XMLPUBFUN xmlBufferPtr XMLCALL  
00663         xmlBufferCreateStatic   (void *mem,
00664                      size_t size);
00665 XMLPUBFUN int XMLCALL       
00666         xmlBufferResize     (xmlBufferPtr buf,
00667                      unsigned int size);
00668 XMLPUBFUN void XMLCALL      
00669         xmlBufferFree       (xmlBufferPtr buf);
00670 XMLPUBFUN int XMLCALL       
00671         xmlBufferDump       (FILE *file,
00672                      xmlBufferPtr buf);
00673 XMLPUBFUN int XMLCALL       
00674         xmlBufferAdd        (xmlBufferPtr buf,
00675                      const xmlChar *str,
00676                      int len);
00677 XMLPUBFUN int XMLCALL       
00678         xmlBufferAddHead    (xmlBufferPtr buf,
00679                      const xmlChar *str,
00680                      int len);
00681 XMLPUBFUN int XMLCALL       
00682         xmlBufferCat        (xmlBufferPtr buf,
00683                      const xmlChar *str);
00684 XMLPUBFUN int XMLCALL   
00685         xmlBufferCCat       (xmlBufferPtr buf,
00686                      const char *str);
00687 XMLPUBFUN int XMLCALL       
00688         xmlBufferShrink     (xmlBufferPtr buf,
00689                      unsigned int len);
00690 XMLPUBFUN int XMLCALL       
00691         xmlBufferGrow       (xmlBufferPtr buf,
00692                      unsigned int len);
00693 XMLPUBFUN void XMLCALL      
00694         xmlBufferEmpty      (xmlBufferPtr buf);
00695 XMLPUBFUN const xmlChar* XMLCALL    
00696         xmlBufferContent    (const xmlBufferPtr buf);
00697 XMLPUBFUN void XMLCALL      
00698         xmlBufferSetAllocationScheme(xmlBufferPtr buf,
00699                      xmlBufferAllocationScheme scheme);
00700 XMLPUBFUN int XMLCALL       
00701         xmlBufferLength     (const xmlBufferPtr buf);
00702 
00703 /*
00704  * Creating/freeing new structures.
00705  */
00706 XMLPUBFUN xmlDtdPtr XMLCALL 
00707         xmlCreateIntSubset  (xmlDocPtr doc,
00708                      const xmlChar *name,
00709                      const xmlChar *ExternalID,
00710                      const xmlChar *SystemID);
00711 XMLPUBFUN xmlDtdPtr XMLCALL 
00712         xmlNewDtd       (xmlDocPtr doc,
00713                      const xmlChar *name,
00714                      const xmlChar *ExternalID,
00715                      const xmlChar *SystemID);
00716 XMLPUBFUN xmlDtdPtr XMLCALL 
00717         xmlGetIntSubset     (xmlDocPtr doc);
00718 XMLPUBFUN void XMLCALL      
00719         xmlFreeDtd      (xmlDtdPtr cur);
00720 #ifdef LIBXML_LEGACY_ENABLED
00721 XMLPUBFUN xmlNsPtr XMLCALL  
00722         xmlNewGlobalNs      (xmlDocPtr doc,
00723                      const xmlChar *href,
00724                      const xmlChar *prefix);
00725 #endif /* LIBXML_LEGACY_ENABLED */
00726 XMLPUBFUN xmlNsPtr XMLCALL  
00727         xmlNewNs        (xmlNodePtr node,
00728                      const xmlChar *href,
00729                      const xmlChar *prefix);
00730 XMLPUBFUN void XMLCALL      
00731         xmlFreeNs       (xmlNsPtr cur);
00732 XMLPUBFUN void XMLCALL      
00733         xmlFreeNsList       (xmlNsPtr cur);
00734 XMLPUBFUN xmlDocPtr XMLCALL     
00735         xmlNewDoc       (const xmlChar *version);
00736 XMLPUBFUN void XMLCALL      
00737         xmlFreeDoc      (xmlDocPtr cur);
00738 XMLPUBFUN xmlAttrPtr XMLCALL    
00739         xmlNewDocProp       (xmlDocPtr doc,
00740                      const xmlChar *name,
00741                      const xmlChar *value);
00742 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
00743     defined(LIBXML_SCHEMAS_ENABLED)
00744 XMLPUBFUN xmlAttrPtr XMLCALL    
00745         xmlNewProp      (xmlNodePtr node,
00746                      const xmlChar *name,
00747                      const xmlChar *value);
00748 #endif
00749 XMLPUBFUN xmlAttrPtr XMLCALL    
00750         xmlNewNsProp        (xmlNodePtr node,
00751                      xmlNsPtr ns,
00752                      const xmlChar *name,
00753                      const xmlChar *value);
00754 XMLPUBFUN xmlAttrPtr XMLCALL    
00755         xmlNewNsPropEatName (xmlNodePtr node,
00756                      xmlNsPtr ns,
00757                      xmlChar *name,
00758                      const xmlChar *value);
00759 XMLPUBFUN void XMLCALL      
00760         xmlFreePropList     (xmlAttrPtr cur);
00761 XMLPUBFUN void XMLCALL      
00762         xmlFreeProp     (xmlAttrPtr cur);
00763 XMLPUBFUN xmlAttrPtr XMLCALL    
00764         xmlCopyProp     (xmlNodePtr target,
00765                      xmlAttrPtr cur);
00766 XMLPUBFUN xmlAttrPtr XMLCALL    
00767         xmlCopyPropList     (xmlNodePtr target,
00768                      xmlAttrPtr cur);
00769 #ifdef LIBXML_TREE_ENABLED
00770 XMLPUBFUN xmlDtdPtr XMLCALL 
00771         xmlCopyDtd      (xmlDtdPtr dtd);
00772 #endif /* LIBXML_TREE_ENABLED */
00773 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
00774 XMLPUBFUN xmlDocPtr XMLCALL 
00775         xmlCopyDoc      (xmlDocPtr doc,
00776                      int recursive);
00777 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
00778 /*
00779  * Creating new nodes.
00780  */
00781 XMLPUBFUN xmlNodePtr XMLCALL    
00782         xmlNewDocNode       (xmlDocPtr doc,
00783                      xmlNsPtr ns,
00784                      const xmlChar *name,
00785                      const xmlChar *content);
00786 XMLPUBFUN xmlNodePtr XMLCALL    
00787         xmlNewDocNodeEatName    (xmlDocPtr doc,
00788                      xmlNsPtr ns,
00789                      xmlChar *name,
00790                      const xmlChar *content);
00791 XMLPUBFUN xmlNodePtr XMLCALL    
00792         xmlNewNode      (xmlNsPtr ns,
00793                      const xmlChar *name);
00794 XMLPUBFUN xmlNodePtr XMLCALL    
00795         xmlNewNodeEatName   (xmlNsPtr ns,
00796                      xmlChar *name);
00797 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
00798 XMLPUBFUN xmlNodePtr XMLCALL    
00799         xmlNewChild     (xmlNodePtr parent,
00800                      xmlNsPtr ns,
00801                      const xmlChar *name,
00802                      const xmlChar *content);
00803 #endif
00804 XMLPUBFUN xmlNodePtr XMLCALL    
00805         xmlNewDocText       (xmlDocPtr doc,
00806                      const xmlChar *content);
00807 XMLPUBFUN xmlNodePtr XMLCALL    
00808         xmlNewText      (const xmlChar *content);
00809 XMLPUBFUN xmlNodePtr XMLCALL    
00810         xmlNewDocPI     (xmlDocPtr doc,
00811                      const xmlChar *name,
00812                      const xmlChar *content);
00813 XMLPUBFUN xmlNodePtr XMLCALL    
00814         xmlNewPI        (const xmlChar *name,
00815                      const xmlChar *content);
00816 XMLPUBFUN xmlNodePtr XMLCALL    
00817         xmlNewDocTextLen    (xmlDocPtr doc,
00818                      const xmlChar *content,
00819                      int len);
00820 XMLPUBFUN xmlNodePtr XMLCALL    
00821         xmlNewTextLen       (const xmlChar *content,
00822                      int len);
00823 XMLPUBFUN xmlNodePtr XMLCALL    
00824         xmlNewDocComment    (xmlDocPtr doc,
00825                      const xmlChar *content);
00826 XMLPUBFUN xmlNodePtr XMLCALL    
00827         xmlNewComment       (const xmlChar *content);
00828 XMLPUBFUN xmlNodePtr XMLCALL    
00829         xmlNewCDataBlock    (xmlDocPtr doc,
00830                      const xmlChar *content,
00831                      int len);
00832 XMLPUBFUN xmlNodePtr XMLCALL    
00833         xmlNewCharRef       (xmlDocPtr doc,
00834                      const xmlChar *name);
00835 XMLPUBFUN xmlNodePtr XMLCALL    
00836         xmlNewReference     (xmlDocPtr doc,
00837                      const xmlChar *name);
00838 XMLPUBFUN xmlNodePtr XMLCALL    
00839         xmlCopyNode     (const xmlNodePtr node,
00840                      int recursive);
00841 XMLPUBFUN xmlNodePtr XMLCALL    
00842         xmlDocCopyNode      (const xmlNodePtr node,
00843                      xmlDocPtr doc,
00844                      int recursive);
00845 XMLPUBFUN xmlNodePtr XMLCALL    
00846         xmlDocCopyNodeList  (xmlDocPtr doc,
00847                      const xmlNodePtr node);
00848 XMLPUBFUN xmlNodePtr XMLCALL    
00849         xmlCopyNodeList     (const xmlNodePtr node);
00850 #ifdef LIBXML_TREE_ENABLED
00851 XMLPUBFUN xmlNodePtr XMLCALL    
00852         xmlNewTextChild     (xmlNodePtr parent,
00853                      xmlNsPtr ns,
00854                      const xmlChar *name,
00855                      const xmlChar *content);
00856 XMLPUBFUN xmlNodePtr XMLCALL    
00857         xmlNewDocRawNode    (xmlDocPtr doc,
00858                      xmlNsPtr ns,
00859                      const xmlChar *name,
00860                      const xmlChar *content);
00861 XMLPUBFUN xmlNodePtr XMLCALL    
00862         xmlNewDocFragment   (xmlDocPtr doc);
00863 #endif /* LIBXML_TREE_ENABLED */
00864 
00865 /*
00866  * Navigating.
00867  */
00868 XMLPUBFUN long XMLCALL      
00869         xmlGetLineNo        (xmlNodePtr node);
00870 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
00871 XMLPUBFUN xmlChar * XMLCALL 
00872         xmlGetNodePath      (xmlNodePtr node);
00873 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
00874 XMLPUBFUN xmlNodePtr XMLCALL    
00875         xmlDocGetRootElement    (xmlDocPtr doc);
00876 XMLPUBFUN xmlNodePtr XMLCALL    
00877         xmlGetLastChild     (xmlNodePtr parent);
00878 XMLPUBFUN int XMLCALL       
00879         xmlNodeIsText       (xmlNodePtr node);
00880 XMLPUBFUN int XMLCALL       
00881         xmlIsBlankNode      (xmlNodePtr node);
00882 
00883 /*
00884  * Changing the structure.
00885  */
00886 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
00887 XMLPUBFUN xmlNodePtr XMLCALL    
00888         xmlDocSetRootElement    (xmlDocPtr doc,
00889                      xmlNodePtr root);
00890 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
00891 #ifdef LIBXML_TREE_ENABLED
00892 XMLPUBFUN void XMLCALL      
00893         xmlNodeSetName      (xmlNodePtr cur,
00894                      const xmlChar *name);
00895 #endif /* LIBXML_TREE_ENABLED */
00896 XMLPUBFUN xmlNodePtr XMLCALL    
00897         xmlAddChild     (xmlNodePtr parent,
00898                      xmlNodePtr cur);
00899 XMLPUBFUN xmlNodePtr XMLCALL    
00900         xmlAddChildList     (xmlNodePtr parent,
00901                      xmlNodePtr cur);
00902 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
00903 XMLPUBFUN xmlNodePtr XMLCALL    
00904         xmlReplaceNode      (xmlNodePtr old,
00905                      xmlNodePtr cur);
00906 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
00907 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
00908     defined(LIBXML_SCHEMAS_ENABLED)
00909 XMLPUBFUN xmlNodePtr XMLCALL    
00910         xmlAddPrevSibling   (xmlNodePtr cur,
00911                      xmlNodePtr elem);
00912 #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
00913 XMLPUBFUN xmlNodePtr XMLCALL    
00914         xmlAddSibling       (xmlNodePtr cur,
00915                      xmlNodePtr elem);
00916 XMLPUBFUN xmlNodePtr XMLCALL    
00917         xmlAddNextSibling   (xmlNodePtr cur,
00918                      xmlNodePtr elem);
00919 XMLPUBFUN void XMLCALL      
00920         xmlUnlinkNode       (xmlNodePtr cur);
00921 XMLPUBFUN xmlNodePtr XMLCALL    
00922         xmlTextMerge        (xmlNodePtr first,
00923                      xmlNodePtr second);
00924 XMLPUBFUN int XMLCALL       
00925         xmlTextConcat       (xmlNodePtr node,
00926                      const xmlChar *content,
00927                      int len);
00928 XMLPUBFUN void XMLCALL      
00929         xmlFreeNodeList     (xmlNodePtr cur);
00930 XMLPUBFUN void XMLCALL      
00931         xmlFreeNode     (xmlNodePtr cur);
00932 XMLPUBFUN void XMLCALL      
00933         xmlSetTreeDoc       (xmlNodePtr tree,
00934                      xmlDocPtr doc);
00935 XMLPUBFUN void XMLCALL      
00936         xmlSetListDoc       (xmlNodePtr list,
00937                      xmlDocPtr doc);
00938 /*
00939  * Namespaces.
00940  */
00941 XMLPUBFUN xmlNsPtr XMLCALL  
00942         xmlSearchNs     (xmlDocPtr doc,
00943                      xmlNodePtr node,
00944                      const xmlChar *nameSpace);
00945 XMLPUBFUN xmlNsPtr XMLCALL  
00946         xmlSearchNsByHref   (xmlDocPtr doc,
00947                      xmlNodePtr node,
00948                      const xmlChar *href);
00949 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
00950 XMLPUBFUN xmlNsPtr * XMLCALL    
00951         xmlGetNsList        (xmlDocPtr doc,
00952                      xmlNodePtr node);
00953 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
00954 
00955 XMLPUBFUN void XMLCALL      
00956         xmlSetNs        (xmlNodePtr node,
00957                      xmlNsPtr ns);
00958 XMLPUBFUN xmlNsPtr XMLCALL  
00959         xmlCopyNamespace    (xmlNsPtr cur);
00960 XMLPUBFUN xmlNsPtr XMLCALL  
00961         xmlCopyNamespaceList    (xmlNsPtr cur);
00962 
00963 /*
00964  * Changing the content.
00965  */
00966 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
00967 XMLPUBFUN xmlAttrPtr XMLCALL    
00968         xmlSetProp      (xmlNodePtr node,
00969                      const xmlChar *name,
00970                      const xmlChar *value);
00971 XMLPUBFUN xmlAttrPtr XMLCALL    
00972         xmlSetNsProp        (xmlNodePtr node,
00973                      xmlNsPtr ns,
00974                      const xmlChar *name,
00975                      const xmlChar *value);
00976 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
00977 XMLPUBFUN xmlChar * XMLCALL 
00978         xmlGetNoNsProp      (xmlNodePtr node,
00979                      const xmlChar *name);
00980 XMLPUBFUN xmlChar * XMLCALL 
00981         xmlGetProp      (xmlNodePtr node,
00982                      const xmlChar *name);
00983 XMLPUBFUN xmlAttrPtr XMLCALL    
00984         xmlHasProp      (xmlNodePtr node,
00985                      const xmlChar *name);
00986 XMLPUBFUN xmlAttrPtr XMLCALL    
00987         xmlHasNsProp        (xmlNodePtr node,
00988                      const xmlChar *name,
00989                      const xmlChar *nameSpace);
00990 XMLPUBFUN xmlChar * XMLCALL 
00991         xmlGetNsProp        (xmlNodePtr node,
00992                      const xmlChar *name,
00993                      const xmlChar *nameSpace);
00994 XMLPUBFUN xmlNodePtr XMLCALL    
00995         xmlStringGetNodeList    (xmlDocPtr doc,
00996                      const xmlChar *value);
00997 XMLPUBFUN xmlNodePtr XMLCALL    
00998         xmlStringLenGetNodeList (xmlDocPtr doc,
00999                      const xmlChar *value,
01000                      int len);
01001 XMLPUBFUN xmlChar * XMLCALL 
01002         xmlNodeListGetString    (xmlDocPtr doc,
01003                      xmlNodePtr list,
01004                      int inLine);
01005 #ifdef LIBXML_TREE_ENABLED
01006 XMLPUBFUN xmlChar * XMLCALL 
01007         xmlNodeListGetRawString (xmlDocPtr doc,
01008                      xmlNodePtr list,
01009                      int inLine);
01010 #endif /* LIBXML_TREE_ENABLED */
01011 XMLPUBFUN void XMLCALL      
01012         xmlNodeSetContent   (xmlNodePtr cur,
01013                      const xmlChar *content);
01014 #ifdef LIBXML_TREE_ENABLED
01015 XMLPUBFUN void XMLCALL      
01016         xmlNodeSetContentLen    (xmlNodePtr cur,
01017                      const xmlChar *content,
01018                      int len);
01019 #endif /* LIBXML_TREE_ENABLED */
01020 XMLPUBFUN void XMLCALL      
01021         xmlNodeAddContent   (xmlNodePtr cur,
01022                      const xmlChar *content);
01023 XMLPUBFUN void XMLCALL      
01024         xmlNodeAddContentLen    (xmlNodePtr cur,
01025                      const xmlChar *content,
01026                      int len);
01027 XMLPUBFUN xmlChar * XMLCALL 
01028         xmlNodeGetContent   (xmlNodePtr cur);
01029 XMLPUBFUN int XMLCALL
01030         xmlNodeBufGetContent    (xmlBufferPtr buffer,
01031                      xmlNodePtr cur);
01032 XMLPUBFUN xmlChar * XMLCALL 
01033         xmlNodeGetLang      (xmlNodePtr cur);
01034 XMLPUBFUN int XMLCALL       
01035         xmlNodeGetSpacePreserve (xmlNodePtr cur);
01036 #ifdef LIBXML_TREE_ENABLED
01037 XMLPUBFUN void XMLCALL      
01038         xmlNodeSetLang      (xmlNodePtr cur,
01039                      const xmlChar *lang);
01040 XMLPUBFUN void XMLCALL      
01041         xmlNodeSetSpacePreserve (xmlNodePtr cur,
01042                      int val);
01043 #endif /* LIBXML_TREE_ENABLED */
01044 XMLPUBFUN xmlChar * XMLCALL 
01045         xmlNodeGetBase      (xmlDocPtr doc,
01046                      xmlNodePtr cur);
01047 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
01048 XMLPUBFUN void XMLCALL      
01049         xmlNodeSetBase      (xmlNodePtr cur,
01050                      const xmlChar *uri);
01051 #endif
01052 
01053 /*
01054  * Removing content.
01055  */
01056 XMLPUBFUN int XMLCALL       
01057         xmlRemoveProp       (xmlAttrPtr cur);
01058 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
01059 XMLPUBFUN int XMLCALL       
01060         xmlUnsetNsProp      (xmlNodePtr node,
01061                      xmlNsPtr ns,
01062                      const xmlChar *name);
01063 XMLPUBFUN int XMLCALL       
01064         xmlUnsetProp        (xmlNodePtr node,
01065                      const xmlChar *name);
01066 #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
01067 
01068 /*
01069  * Internal, don't use.
01070  */
01071 XMLPUBFUN void XMLCALL      
01072         xmlBufferWriteCHAR  (xmlBufferPtr buf,
01073                      const xmlChar *string);
01074 XMLPUBFUN void XMLCALL      
01075         xmlBufferWriteChar  (xmlBufferPtr buf,
01076                      const char *string);
01077 XMLPUBFUN void XMLCALL      
01078         xmlBufferWriteQuotedString(xmlBufferPtr buf,
01079                      const xmlChar *string);
01080 
01081 #ifdef LIBXML_OUTPUT_ENABLED
01082 XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
01083                      xmlDocPtr doc,
01084                      xmlAttrPtr attr,
01085                      const xmlChar *string);
01086 #endif /* LIBXML_OUTPUT_ENABLED */
01087 
01088 #ifdef LIBXML_TREE_ENABLED
01089 /*
01090  * Namespace handling.
01091  */
01092 XMLPUBFUN int XMLCALL       
01093         xmlReconciliateNs   (xmlDocPtr doc,
01094                      xmlNodePtr tree);
01095 #endif
01096 
01097 #ifdef LIBXML_OUTPUT_ENABLED
01098 /*
01099  * Saving.
01100  */
01101 XMLPUBFUN void XMLCALL      
01102         xmlDocDumpFormatMemory  (xmlDocPtr cur,
01103                      xmlChar **mem,
01104                      int *size,
01105                      int format);
01106 XMLPUBFUN void XMLCALL      
01107         xmlDocDumpMemory    (xmlDocPtr cur,
01108                      xmlChar **mem,
01109                      int *size);
01110 XMLPUBFUN void XMLCALL      
01111         xmlDocDumpMemoryEnc (xmlDocPtr out_doc,
01112                      xmlChar **doc_txt_ptr,
01113                      int * doc_txt_len,
01114                      const char *txt_encoding);
01115 XMLPUBFUN void XMLCALL      
01116         xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
01117                      xmlChar **doc_txt_ptr,
01118                      int * doc_txt_len,
01119                      const char *txt_encoding,
01120                      int format);
01121 XMLPUBFUN int XMLCALL       
01122         xmlDocFormatDump    (FILE *f,
01123                      xmlDocPtr cur,
01124                      int format);
01125 XMLPUBFUN int XMLCALL   
01126         xmlDocDump      (FILE *f,
01127                      xmlDocPtr cur);
01128 XMLPUBFUN void XMLCALL      
01129         xmlElemDump     (FILE *f,
01130                      xmlDocPtr doc,
01131                      xmlNodePtr cur);
01132 XMLPUBFUN int XMLCALL       
01133         xmlSaveFile     (const char *filename,
01134                      xmlDocPtr cur);
01135 XMLPUBFUN int XMLCALL       
01136         xmlSaveFormatFile   (const char *filename,
01137                      xmlDocPtr cur,
01138                      int format);
01139 XMLPUBFUN int XMLCALL       
01140         xmlNodeDump     (xmlBufferPtr buf,
01141                      xmlDocPtr doc,
01142                      xmlNodePtr cur,
01143                      int level,
01144                      int format);
01145 
01146 XMLPUBFUN int XMLCALL       
01147         xmlSaveFileTo       (xmlOutputBufferPtr buf,
01148                      xmlDocPtr cur,
01149                      const char *encoding);
01150 XMLPUBFUN int XMLCALL             
01151         xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
01152                      xmlDocPtr cur,
01153                          const char *encoding,
01154                          int format);
01155 XMLPUBFUN void XMLCALL      
01156         xmlNodeDumpOutput   (xmlOutputBufferPtr buf,
01157                      xmlDocPtr doc,
01158                      xmlNodePtr cur,
01159                      int level,
01160                      int format,
01161                      const char *encoding);
01162 
01163 XMLPUBFUN int XMLCALL       
01164         xmlSaveFormatFileEnc    (const char *filename,
01165                      xmlDocPtr cur,
01166                      const char *encoding,
01167                      int format);
01168 
01169 XMLPUBFUN int XMLCALL       
01170         xmlSaveFileEnc      (const char *filename,
01171                      xmlDocPtr cur,
01172                      const char *encoding);
01173 
01174 #endif /* LIBXML_OUTPUT_ENABLED */
01175 /*
01176  * XHTML
01177  */
01178 XMLPUBFUN int XMLCALL       
01179         xmlIsXHTML      (const xmlChar *systemID,
01180                      const xmlChar *publicID);
01181 
01182 /*
01183  * Compression.
01184  */
01185 XMLPUBFUN int XMLCALL       
01186         xmlGetDocCompressMode   (xmlDocPtr doc);
01187 XMLPUBFUN void XMLCALL      
01188         xmlSetDocCompressMode   (xmlDocPtr doc,
01189                      int mode);
01190 XMLPUBFUN int XMLCALL       
01191         xmlGetCompressMode  (void);
01192 XMLPUBFUN void XMLCALL      
01193         xmlSetCompressMode  (int mode);
01194 
01195 /*
01196 * DOM-wrapper helper functions.
01197 */
01198 XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
01199         xmlDOMWrapNewCtxt   (void);
01200 XMLPUBFUN void XMLCALL
01201         xmlDOMWrapFreeCtxt  (xmlDOMWrapCtxtPtr ctxt);
01202 XMLPUBFUN int XMLCALL
01203         xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
01204                      xmlNodePtr elem,
01205                      int options);
01206 XMLPUBFUN int XMLCALL
01207         xmlDOMWrapAdoptNode     (xmlDOMWrapCtxtPtr ctxt,
01208                      xmlDocPtr sourceDoc,
01209                      xmlNodePtr node,
01210                      xmlDocPtr destDoc,         
01211                      xmlNodePtr destParent,
01212                      int options);
01213 XMLPUBFUN int XMLCALL
01214         xmlDOMWrapRemoveNode    (xmlDOMWrapCtxtPtr ctxt,
01215                      xmlDocPtr doc,
01216                      xmlNodePtr node,
01217                      int options);
01218 XMLPUBFUN int XMLCALL
01219         xmlDOMWrapCloneNode     (xmlDOMWrapCtxtPtr ctxt,
01220                      xmlDocPtr sourceDoc,
01221                      xmlNodePtr node,
01222                      xmlNodePtr *clonedNode,
01223                      xmlDocPtr destDoc,
01224                      xmlNodePtr destParent,
01225                      int deep,
01226                      int options);
01227 
01228 #ifdef LIBXML_TREE_ENABLED
01229 /*
01230  * 5 interfaces from DOM ElementTraversal, but different in entities
01231  * traversal.
01232  */
01233 XMLPUBFUN unsigned long XMLCALL
01234             xmlChildElementCount        (xmlNodePtr parent);
01235 XMLPUBFUN xmlNodePtr XMLCALL
01236             xmlNextElementSibling       (xmlNodePtr node);
01237 XMLPUBFUN xmlNodePtr XMLCALL
01238             xmlFirstElementChild        (xmlNodePtr parent);
01239 XMLPUBFUN xmlNodePtr XMLCALL
01240             xmlLastElementChild         (xmlNodePtr parent);
01241 XMLPUBFUN xmlNodePtr XMLCALL
01242             xmlPreviousElementSibling   (xmlNodePtr node);
01243 #endif
01244 #ifdef __cplusplus
01245 }
01246 #endif
01247 #ifndef __XML_PARSER_H__
01248 #include <libxml/xmlmemory.h>
01249 #endif
01250 
01251 #endif /* __XML_TREE_H__ */
01252 

Generated on Mon May 28 2012 04:23:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.