tree.h revision c5d64345cf19bfd72418eb0a837869b0462e9130
13473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 23473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * tree.h : describes the structures found in an tree resulting 33473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * from an XML parsing. 43473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 53473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * See Copyright for the status of this software. 63473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 7c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard * daniel@veillard.com 83473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 93473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 14 Nov 2000 ht - added redefinition of xmlBufferWriteChar for VMS 103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef __XML_TREE_H__ 143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define __XML_TREE_H__ 153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <stdio.h> 17c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard#if defined(WIN32) && defined(_MSC_VER) 18c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard#include <libxml/xmlwin32version.h> 19c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard#else 203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <libxml/xmlversion.h> 21c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard#endif 2267a21303b8407cd70ccf9ff1dd29a7f17e4cfc4eDaniel Veillard#include <libxml/xmlmemory.h> 233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus 253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorextern "C" { 263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define XML_XML_NAMESPACE \ 293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor (const xmlChar *) "http://www.w3.org/XML/1998/namespace" 303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * The different element types carried by an XML tree 333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * NOTE: This is synchronized with DOM Level1 values 353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * See http://www.w3.org/TR/REC-DOM-Level-1/ 363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should 383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * be deprecated to use an XML_DTD_NODE. 393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_NODE= 1, 423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NODE= 2, 433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_TEXT_NODE= 3, 443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_CDATA_SECTION_NODE= 4, 453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_REF_NODE= 5, 463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_NODE= 6, 473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_PI_NODE= 7, 483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_COMMENT_NODE= 8, 493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_NODE= 9, 503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_TYPE_NODE= 10, 513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_FRAG_NODE= 11, 523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_NOTATION_NODE= 12, 533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_HTML_DOCUMENT_NODE= 13, 543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DTD_NODE= 14, 553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_DECL= 15, 563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_DECL= 16, 573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_DECL= 17, 583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_NAMESPACE_DECL= 18, 593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_XINCLUDE_START= 19, 603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_XINCLUDE_END= 20 61eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard#ifdef LIBXML_DOCB_ENABLED 62eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard ,XML_DOCB_DOCUMENT_NODE= 21 633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementType; 653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 66bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 67bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlChar: 683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 69bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * This is a basic byte in an UTF-8 encoded string. 70bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * It's unsigned allowing to pinpoint case where char * are assigned 71bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * to xmlChar * (possibly making serialization back impossible). 723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef unsigned char xmlChar; 753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 76bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 77bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * BAD_CAST: 78bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 79bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Macro to cast a string to an xmlChar * when one know its safe. 80bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define BAD_CAST (xmlChar *) 823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 83bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 84bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNotation: 85bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * a DTD Notation definition 873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNotation xmlNotation; 903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNotation *xmlNotationPtr; 913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNotation { 929e7160d45a18bfa26d708e22ba991f7670d0128bDaniel Veillard const xmlChar *name; /* Notation name */ 933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *PublicID; /* Public identifier, if any */ 943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID; /* System identifier, if any */ 953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 97bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 98bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeType: 99bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 100bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * a DTD Attribute type definition 1013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_CDATA = 1, 1053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ID, 1063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IDREF , 1073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IDREFS, 1083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENTITY, 1093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENTITIES, 1103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NMTOKEN, 1113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NMTOKENS, 1123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENUMERATION, 1133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NOTATION 1143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeType; 1153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 116bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 117bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeDefault: 118bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 119bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * a DTD Attribute default definition 120bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 121bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 1223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NONE = 1, 1243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_REQUIRED, 1253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IMPLIED, 1263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_FIXED 1273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeDefault; 1283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 129bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 130bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlEnumeration: 131bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 132bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * list structure used when there is an enumeration in DTDs 133bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 134bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 1353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlEnumeration xmlEnumeration; 1363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlEnumeration *xmlEnumerationPtr; 1373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlEnumeration { 1383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlEnumeration *next; /* next one */ 1393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Enumeration name */ 1403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 1413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 142bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 143bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttribute: 144bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 145bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * an Attribute declaration in a DTD 146bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 147bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 1483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttribute xmlAttribute; 1493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttribute *xmlAttributePtr; 1503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttribute { 1513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 1523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ 1533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Attribute name */ 1543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* NULL */ 1553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 1563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *parent; /* -> DTD */ 1573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 1583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 1593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 1603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttribute *nexth; /* next in hash table */ 1623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeType atype; /* The attribute type */ 1633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeDefault def; /* the default */ 1643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *defaultValue; /* or the default value */ 1653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlEnumerationPtr tree; /* or the enumeration tree if any */ 1663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* the namespace prefix if any */ 1673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *elem; /* Element holding the attribute */ 1683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 1693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 170bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 171bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentType: 172bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 173bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Possible definitions of element content types 1743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_PCDATA = 1, 1773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_ELEMENT, 1783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_SEQ, 1793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_OR 1803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentType; 1813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 182bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 183bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentOccur: 184bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 185bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Possible definitions of element content occurences 186bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 1873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_ONCE = 1, 1893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_OPT, 1903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_MULT, 1913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_PLUS 1923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentOccur; 1933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 194bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 195bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContent: 196bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 197bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * an XML Element content as stored after parsing an element definition 198bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * in a DTD. 199bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 200bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElementContent xmlElementContent; 2023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElementContent *xmlElementContentPtr; 2033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElementContent { 2043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ 2053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ 2063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Element name */ 2073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlElementContent *c1; /* first child */ 2083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlElementContent *c2; /* second child */ 209dab4cb37d8fceb7457c40effc1ae43559221610bDaniel Veillard struct _xmlElementContent *parent; /* parent */ 2103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 212bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 213bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementTypeVal: 214bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 215bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * the differnt possibility for an element content type 216bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 217bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 219a10efa8aa6e8a89ad1f5fa05bd591fed02c88dbaDaniel Veillard XML_ELEMENT_TYPE_UNDEFINED = 0, 2203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_EMPTY = 1, 2213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_ANY, 2223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_MIXED, 2233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_ELEMENT 2243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementTypeVal; 2253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 226bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 227bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElement: 228bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 229bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * an XML Element declaration from a DTD 230bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 231bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElement xmlElement; 2333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElement *xmlElementPtr; 2343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElement { 2353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 2363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ 2373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Element name */ 2383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* NULL */ 2393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 2403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *parent; /* -> DTD */ 2413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 2423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 2433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 2443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 2453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementTypeVal etype; /* The type */ 2463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentPtr content; /* the allowed element content */ 2473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributePtr attributes; /* List of the declared attributes */ 2483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* the namespace prefix if any */ 2493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 251bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 252bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL 253bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillardtypedef xmlElementType xmlNsType; 254bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 255bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 256bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNs: 257bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 2583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML namespace. 2593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Note that prefix == NULL is valid, it defines the default namespace 2603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * within the subtree (until overriden). 2613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 2623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * XML_GLOBAL_NAMESPACE is now deprecated for good 2633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * xmlNsType is unified with xmlElementType 2643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 2653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 2663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNs xmlNs; 2673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNs *xmlNsPtr; 2683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNs { 2693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNs *next; /* next Ns link for this node */ 2703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsType type; /* global or local */ 2713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href; /* URL for the namespace */ 2723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* prefix for the namespace */ 2733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 275bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 276bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDtd: 277bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 278bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * An XML DtD, as defined by <!DOCTYPE ... There is actually one for 279bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * the internal subset and for the external subset 2803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 2813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDtd xmlDtd; 2823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDtd *xmlDtdPtr; 2833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDtd { 2843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 2853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_DTD_NODE, must be second ! */ 2863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Name of the DTD */ 2873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the value of the property link */ 2883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 2893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *parent; /* child->parent link */ 2903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 2913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 2923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 2933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 2943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor /* End of common part */ 2953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *notations; /* Hash table for notations if any */ 2963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *elements; /* Hash table for elements if any */ 2973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *attributes; /* Hash table for attributes if any */ 2983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *entities; /* Hash table for entities if any */ 2993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ 3003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ 3013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *pentities; /* Hash table for param entities if any */ 3023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 304bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 305bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttr: 306bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 307bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * A attribute on an XML node. 3083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttr xmlAttr; 3103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttr *xmlAttrPtr; 3113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttr { 3123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 3133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ 3143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* the name of the property */ 3153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the value of the property */ 3163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 3173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 3183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *next; /* next sibling link */ 3193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *prev; /* previous sibling link */ 3203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 3213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *ns; /* pointer to the associated namespace */ 3223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeType atype; /* the attribute type if validating */ 3233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 325bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 326bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlID: 327bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 3283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML ID instance. 3293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlID xmlID; 3323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlID *xmlIDPtr; 3333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlID { 3343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlID *next; /* next ID */ 3353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value; /* The ID name */ 3363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr attr; /* The attribut holding it */ 3373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 339bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 340bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRef: 341bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 3423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML IDREF instance. 3433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlRef xmlRef; 3463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlRef *xmlRefPtr; 3473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlRef { 3483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlRef *next; /* next Ref */ 3493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value; /* The Ref name */ 3503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr attr; /* The attribut holding it */ 3513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 353bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 354bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlBufferAllocationScheme: 355bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 356bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * A buffer allocation scheme can be defined to either match exactly the 357bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * need or double it's allocated size each time it is found too small 3583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 3613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_BUFFER_ALLOC_DOUBLEIT, 3623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_BUFFER_ALLOC_EXACT 3633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlBufferAllocationScheme; 3643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 365bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 366bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlBuffer: 367bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 368bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * A buffer structure 369bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 3703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlBuffer xmlBuffer; 3713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlBuffer *xmlBufferPtr; 3723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlBuffer { 3733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar *content; /* The buffer content UTF8 */ 3743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int use; /* The buffer size used */ 3753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int size; /* The buffer size */ 3763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferAllocationScheme alloc; /* The realloc method */ 3773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 379f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard/** 380f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard * xmlNode: 381f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard * 3823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * A node in an XML tree. 3833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNode xmlNode; 3853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNode *xmlNodePtr; 3863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNode { 3873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 3883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* type number, must be second ! */ 3893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* the name of the node, or the entity */ 3903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* parent->childs link */ 3913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 3923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 3933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 3943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 3953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 3963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *ns; /* pointer to the associated namespace */ 3973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef XML_USE_BUFFER_CONTENT 3983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar *content; /* the content */ 3993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#else 4003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferPtr content; /* the content in a buffer */ 4013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 4023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor /* End of common part */ 4043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *properties;/* properties list */ 4053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *nsDef; /* namespace definitions on this node */ 4063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 408bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 409bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDoc: 410bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 4113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML document. 4123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDoc xmlDoc; 4143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDoc *xmlDocPtr; 4153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDoc { 4163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *_private; /* for Corba, must be first ! */ 4173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ 4183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor char *name; /* name/filename/URI of the document */ 4193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the document tree */ 4203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 4213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 4223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 4233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 4243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* autoreference to itself */ 4253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor /* End of common part */ 4273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int compression;/* level of zlib compression */ 4283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int standalone; /* standalone document (no external refs) */ 4293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *intSubset; /* the document internal subset */ 4303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *extSubset; /* the document external subset */ 4313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNs *oldNs; /* Global namespace, the old way */ 4323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *version; /* the XML version string */ 4333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *encoding; /* external initial encoding, if any */ 4343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *ids; /* Hash table for ID attributes if any */ 4353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *refs; /* Hash table for IDREFs attributes if any */ 4363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *URL; /* The URI for that document */ 4373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int charset; /* encoding of the in-memory content 4383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor actually an xmlCharEncoding */ 4393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 441bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 442bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlChildrenNode: 443bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 444bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Macro for compatibility naming layer with libxml1 4453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef xmlChildrenNode 4473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlChildrenNode children 448bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#endif 449bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 450bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 451bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRootNode: 452bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 453bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Macro for compatibility naming layer with libxml1 454bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 455bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#ifndef xmlRootNode 4563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlRootNode children 4573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 4583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 4603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Variables. 4613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4623473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern xmlNsPtr baseDTD; 4633473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern int oldXMLWDcompatibility;/* maintain compatibility with old WD */ 4643473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern int xmlIndentTreeOutput; /* try to indent the tree dumps */ 4653473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern xmlBufferAllocationScheme xmlBufferAllocScheme; /* alloc scheme to use */ 466e356c280069914f0052891861a55fdfaff6dcf65Daniel VeillardLIBXML_DLL_IMPORT extern int xmlSaveNoEmptyTags; /* save empty tags as <empty></empty> */ 467e356c280069914f0052891861a55fdfaff6dcf65Daniel VeillardLIBXML_DLL_IMPORT extern int xmlDefaultBufferSize; /* default buffer size */ 4683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 4703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Handling Buffers. 4713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 47356a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillardvoid xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); 47456a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel VeillardxmlBufferAllocationScheme xmlGetBufferAllocationScheme(void); 47556a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillard 4763473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlBufferPtr xmlBufferCreate (void); 4773473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlBufferPtr xmlBufferCreateSize (size_t size); 47856a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillardint xmlBufferResize (xmlBufferPtr buf, 47956a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillard unsigned int size); 4803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferFree (xmlBufferPtr buf); 4813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlBufferDump (FILE *file, 4823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferPtr buf); 4833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferAdd (xmlBufferPtr buf, 4843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str, 4853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 4863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferAddHead (xmlBufferPtr buf, 4873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str, 4883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 4893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferCat (xmlBufferPtr buf, 4903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str); 4913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferCCat (xmlBufferPtr buf, 4923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *str); 4933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlBufferShrink (xmlBufferPtr buf, 4943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int len); 4953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlBufferGrow (xmlBufferPtr buf, 4963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int len); 4973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferEmpty (xmlBufferPtr buf); 4983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorconst xmlChar* xmlBufferContent (const xmlBufferPtr buf); 4993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlBufferUse (const xmlBufferPtr buf); 5003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferSetAllocationScheme(xmlBufferPtr buf, 5013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferAllocationScheme scheme); 5023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlBufferLength (const xmlBufferPtr buf); 5033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 5043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 5053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Creating/freeing new structures 5063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 5073473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDtdPtr xmlCreateIntSubset (xmlDocPtr doc, 5083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID, 5103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID); 5113473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDtdPtr xmlNewDtd (xmlDocPtr doc, 5123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID, 5143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID); 5153473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDtdPtr xmlGetIntSubset (xmlDocPtr doc); 5163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeDtd (xmlDtdPtr cur); 5173473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlNewGlobalNs (xmlDocPtr doc, 5183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href, 5193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix); 5203473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlNewNs (xmlNodePtr node, 5213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href, 5223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix); 5233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeNs (xmlNsPtr cur); 52456a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillardvoid xmlFreeNsList (xmlNsPtr cur); 5253473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDocPtr xmlNewDoc (const xmlChar *version); 5263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeDoc (xmlDocPtr cur); 5273473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlNewDocProp (xmlDocPtr doc, 5283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 5303473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlNewProp (xmlNodePtr node, 5313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 5333473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlNewNsProp (xmlNodePtr node, 5343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 5353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 5373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreePropList (xmlAttrPtr cur); 5383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeProp (xmlAttrPtr cur); 5393473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlCopyProp (xmlNodePtr target, 5403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr cur); 5413473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlCopyPropList (xmlNodePtr target, 5423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr cur); 5433473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDtdPtr xmlCopyDtd (xmlDtdPtr dtd); 5443473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlDocPtr xmlCopyDoc (xmlDocPtr doc, 5453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int recursive); 5463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 5473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 5483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Creating new nodes 5493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 5503473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocNode (xmlDocPtr doc, 5513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 5523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5543473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocRawNode (xmlDocPtr doc, 5553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 5563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5583473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewNode (xmlNsPtr ns, 5593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 5603473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewChild (xmlNodePtr parent, 5613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 5623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5643473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewTextChild (xmlNodePtr parent, 5653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 5663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 5673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5683473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocText (xmlDocPtr doc, 5693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5703473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewText (const xmlChar *content); 5713473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewPI (const xmlChar *name, 5723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5733473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocTextLen (xmlDocPtr doc, 5743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 5753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 5763473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewTextLen (const xmlChar *content, 5773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 5783473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocComment (xmlDocPtr doc, 5793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 5803473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewComment (const xmlChar *content); 5813473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewCDataBlock (xmlDocPtr doc, 5823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 5833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 5843473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewCharRef (xmlDocPtr doc, 5853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 5863473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewReference (xmlDocPtr doc, 5873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 5883473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlCopyNode (xmlNodePtr node, 5893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int recursive); 59082daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel VeillardxmlNodePtr xmlDocCopyNode (xmlNodePtr node, 59182daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard xmlDocPtr doc, 59282daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard int recursive); 5933473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlCopyNodeList (xmlNodePtr node); 5943473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlNewDocFragment (xmlDocPtr doc); 5953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 5963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 5973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Navigating 5983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 5993473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlDocGetRootElement (xmlDocPtr doc); 6003473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlGetLastChild (xmlNodePtr parent); 6013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlNodeIsText (xmlNodePtr node); 6023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlIsBlankNode (xmlNodePtr node); 6033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 6043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 6053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Changing the structure 6063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 6073473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlDocSetRootElement (xmlDocPtr doc, 6083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr root); 6093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetName (xmlNodePtr cur, 6103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 6113473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlAddChild (xmlNodePtr parent, 6123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 6133473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlAddChildList (xmlNodePtr parent, 6143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 6153473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlReplaceNode (xmlNodePtr old, 6163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 6173473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlAddSibling (xmlNodePtr cur, 6183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 6193473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlAddPrevSibling (xmlNodePtr cur, 6203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 6213473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlAddNextSibling (xmlNodePtr cur, 6223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 6233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlUnlinkNode (xmlNodePtr cur); 6243473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlTextMerge (xmlNodePtr first, 6253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr second); 6263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlTextConcat (xmlNodePtr node, 6273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 6283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 6293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeNodeList (xmlNodePtr cur); 6303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlFreeNode (xmlNodePtr cur); 6313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlSetTreeDoc (xmlNodePtr tree, 6323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc); 6333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlSetListDoc (xmlNodePtr list, 6343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc); 6353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 6363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 6373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Namespaces 6383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 6393473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlSearchNs (xmlDocPtr doc, 6403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node, 6413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *nameSpace); 6423473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlSearchNsByHref (xmlDocPtr doc, 6433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node, 6443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href); 6453473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr * xmlGetNsList (xmlDocPtr doc, 6463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node); 6473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlSetNs (xmlNodePtr node, 6483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns); 6493473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlCopyNamespace (xmlNsPtr cur); 6503473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNsPtr xmlCopyNamespaceList (xmlNsPtr cur); 6513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 6523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 6533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Changing the content. 6543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 6553473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlSetProp (xmlNodePtr node, 6563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 6573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 6583473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlGetProp (xmlNodePtr node, 6593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 6603473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlHasProp (xmlNodePtr node, 6613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 662e95e2396f34e7e7c5f472ad018d7207974074225Daniel VeillardxmlAttrPtr xmlHasNsProp (xmlNodePtr node, 663e95e2396f34e7e7c5f472ad018d7207974074225Daniel Veillard const xmlChar *name, 664ca2366aafd4c9ff3bf7c166bde18ce9af50e6995Daniel Veillard const xmlChar *nameSpace); 6653473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlAttrPtr xmlSetNsProp (xmlNodePtr node, 6663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 6673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 6683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 6693473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlGetNsProp (xmlNodePtr node, 6703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 6713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *nameSpace); 6723473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlStringGetNodeList (xmlDocPtr doc, 6733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 6743473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlNodePtr xmlStringLenGetNodeList (xmlDocPtr doc, 6753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value, 6763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 6773473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlNodeListGetString (xmlDocPtr doc, 6783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr list, 6793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int inLine); 6803473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlNodeListGetRawString (xmlDocPtr doc, 6813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr list, 6823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int inLine); 6833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetContent (xmlNodePtr cur, 6843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 6853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetContentLen (xmlNodePtr cur, 6863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 6873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 6883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeAddContent (xmlNodePtr cur, 6893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 6903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeAddContentLen (xmlNodePtr cur, 6913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 6923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 6933473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlNodeGetContent (xmlNodePtr cur); 6943473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlNodeGetLang (xmlNodePtr cur); 6953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetLang (xmlNodePtr cur, 6963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *lang); 6973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlNodeGetSpacePreserve (xmlNodePtr cur); 6983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetSpacePreserve (xmlNodePtr cur, int 6993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor val); 7003473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorxmlChar * xmlNodeGetBase (xmlDocPtr doc, 7013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 7023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeSetBase (xmlNodePtr cur, 7033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar *uri); 7043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 7063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Removing content. 7073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlRemoveProp (xmlAttrPtr attr); 7093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlRemoveNode (xmlNodePtr node); /* TODO */ 7109403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillardint xmlUnsetProp (xmlNodePtr node, 7119403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard const xmlChar *name); 7129403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillardint xmlUnsetNsProp (xmlNodePtr node, 7139403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard xmlNsPtr ns, 7149403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard const xmlChar *name); 7153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 7173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Internal, don't use 7183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef VMS 7203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferWriteXmlCHAR (xmlBufferPtr buf, 7213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *string); 7223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlBufferWriteCHAR xmlBufferWriteXmlCHAR 7233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#else 7243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferWriteCHAR (xmlBufferPtr buf, 7253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *string); 7263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 7273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferWriteChar (xmlBufferPtr buf, 7283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *string); 7293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlBufferWriteQuotedString(xmlBufferPtr buf, 7303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *string); 7313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 7333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Namespace handling 7343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlReconciliateNs (xmlDocPtr doc, 7363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr tree); 7373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 7393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Saving 7403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlDocDumpFormatMemory (xmlDocPtr cur, 7423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar**mem, 7433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int *size, 7443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 7453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlDocDumpMemory (xmlDocPtr cur, 7463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar**mem, 7473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int *size); 7483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlDocDumpMemoryEnc (xmlDocPtr out_doc, 7493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar **doc_txt_ptr, 7503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int * doc_txt_len, 7513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *txt_encoding); 7523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, 7533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar **doc_txt_ptr, 7543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int * doc_txt_len, 7553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *txt_encoding, 7563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 7573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlDocDump (FILE *f, 7583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur); 7593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlElemDump (FILE *f, 7603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc, 7613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 7623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlSaveFile (const char *filename, 7633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur); 76467fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillardint xmlSaveFormatFile (const char *filename, 76567fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard xmlDocPtr cur, 76667fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard int format); 7673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlNodeDump (xmlBufferPtr buf, 7683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc, 7693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur, 7703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int level, 7713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 7723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 773eefd44943c31a5fabb5394d559d225426ce41fbeDaniel Veillard/* These are exported from xmlIO.h 7743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlSaveFileTo (xmlOutputBuffer *buf, 7763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur, 7773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *encoding); 778eefd44943c31a5fabb5394d559d225426ce41fbeDaniel Veillardint xmlSaveFormatFileTo (xmlOutputBuffer *buf, 779eefd44943c31a5fabb5394d559d225426ce41fbeDaniel Veillard xmlDocPtr cur, 780eefd44943c31a5fabb5394d559d225426ce41fbeDaniel Veillard const char *encoding, 781eefd44943c31a5fabb5394d559d225426ce41fbeDaniel Veillard int format); 7823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlSaveFileEnc (const char *filename, 7853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur, 7863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *encoding); 7873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 7893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Compression 7903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 7913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlGetDocCompressMode (xmlDocPtr doc); 7923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlSetDocCompressMode (xmlDocPtr doc, 7933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int mode); 7943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorint xmlGetCompressMode (void); 7953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorvoid xmlSetCompressMode (int mode); 7963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 7973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus 7983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} 7993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 8003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 8013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif /* __XML_TREE_H__ */ 8023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 803