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