15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: interfaces for tree manipulation
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: this module describes the structures found in an tree resulting
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *              from an XML or HTML parsing, as well as the API provided for
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *              various processing on that tree
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_TREE_H__
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __XML_TREE_H__
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdio.h>
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h>
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlstring.h>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Some of the basic types pointer to structures:
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* xmlIO.h */
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlOutputBuffer xmlOutputBuffer;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlOutputBuffer *xmlOutputBufferPtr;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* parser.h */
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlParserInput xmlParserInput;
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlParserInput *xmlParserInputPtr;
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlParserCtxt xmlParserCtxt;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlParserCtxt *xmlParserCtxtPtr;
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlSAXLocator xmlSAXLocator;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlSAXLocator *xmlSAXLocatorPtr;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlSAXHandler xmlSAXHandler;
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlSAXHandler *xmlSAXHandlerPtr;
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* entities.h */
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlEntity xmlEntity;
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlEntity *xmlEntityPtr;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * BASE_BUFFER_SIZE:
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * default buffer size 4000.
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_BUFFER_SIZE 4096
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * LIBXML_NAMESPACE_DICT:
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Defines experimental behaviour:
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1) xmlNs gets an additional field @context (a xmlDoc)
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* #define LIBXML_NAMESPACE_DICT */
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlBufferAllocationScheme:
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A buffer allocation scheme can be defined to either match exactly the
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * need or double it's allocated size each time it is found too small.
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_BUFFER_ALLOC_IO		/* special allocation scheme used for I/O */
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlBufferAllocationScheme;
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlBuffer:
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A buffer structure.
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlBuffer xmlBuffer;
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlBuffer *xmlBufferPtr;
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlBuffer {
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlChar *content;		/* The buffer content UTF8 */
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    unsigned int use;		/* The buffer size used */
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    unsigned int size;		/* The buffer size */
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlBufferAllocationScheme alloc; /* The realloc method */
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlChar *contentIO;		/* in IO mode we may have a different base */
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_XML_NAMESPACE:
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This is the namespace for the special xml: prefix predefined in the
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML Namespace specification.
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_XML_NAMESPACE \
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_XML_ID:
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This is the name for the special xml:id attribute
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_XML_ID (const xmlChar *) "xml:id"
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The different element types carried by an XML tree.
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * NOTE: This is synchronized with DOM Level1 values
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *       See http://www.w3.org/TR/REC-DOM-Level-1/
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * be deprecated to use an XML_DTD_NODE.
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_NODE=		1,
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_NODE=		2,
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXT_NODE=		3,
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_CDATA_SECTION_NODE=	4,
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ENTITY_REF_NODE=	5,
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ENTITY_NODE=		6,
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PI_NODE=		7,
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_COMMENT_NODE=		8,
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOCUMENT_NODE=		9,
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOCUMENT_TYPE_NODE=	10,
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOCUMENT_FRAG_NODE=	11,
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_NOTATION_NODE=		12,
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_HTML_DOCUMENT_NODE=	13,
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DTD_NODE=		14,
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_DECL=		15,
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_DECL=		16,
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ENTITY_DECL=		17,
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_NAMESPACE_DECL=		18,
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_XINCLUDE_START=		19,
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_XINCLUDE_END=		20
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_DOCB_ENABLED
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   ,XML_DOCB_DOCUMENT_NODE=	21
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlElementType;
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlNotation:
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A DTD Notation definition.
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlNotation xmlNotation;
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlNotation *xmlNotationPtr;
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlNotation {
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar               *name;	        /* Notation name */
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar               *PublicID;	/* Public identifier, if any */
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar               *SystemID;	/* System identifier, if any */
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlAttributeType:
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A DTD Attribute type definition.
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_CDATA = 1,
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_ID,
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_IDREF	,
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_IDREFS,
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_ENTITY,
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_ENTITIES,
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_NMTOKEN,
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_NMTOKENS,
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_ENUMERATION,
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_NOTATION
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlAttributeType;
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlAttributeDefault:
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A DTD Attribute default definition.
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_NONE = 1,
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_REQUIRED,
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_IMPLIED,
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ATTRIBUTE_FIXED
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlAttributeDefault;
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlEnumeration:
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * List structure used when there is an enumeration in DTDs.
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlEnumeration xmlEnumeration;
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlEnumeration *xmlEnumerationPtr;
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlEnumeration {
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlEnumeration    *next;	/* next one */
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar            *name;	/* Enumeration name */
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlAttribute:
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An Attribute declaration in a DTD.
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlAttribute xmlAttribute;
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlAttribute *xmlAttributePtr;
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlAttribute {
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	        /* application data */
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar          *name;	/* Attribute name */
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode    *children;	/* NULL */
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *last;	/* NULL */
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDtd       *parent;	/* -> DTD */
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *next;	/* next sibling link  */
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *prev;	/* previous sibling link  */
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc          *doc;       /* the containing document */
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlAttribute  *nexth;	/* next in hash table */
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttributeType       atype;	/* The attribute type */
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttributeDefault      def;	/* the default */
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar  *defaultValue;	/* or the default value */
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar        *prefix;	/* the namespace prefix if any */
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar          *elem;	/* Element holding the attribute */
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlElementContentType:
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Possible definitions of element content types.
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_PCDATA = 1,
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_ELEMENT,
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_SEQ,
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_OR
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlElementContentType;
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlElementContentOccur:
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Possible definitions of element content occurrences.
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_ONCE = 1,
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_OPT,
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_MULT,
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_CONTENT_PLUS
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlElementContentOccur;
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlElementContent:
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML Element content as stored after parsing an element definition
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in a DTD.
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlElementContent xmlElementContent;
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlElementContent *xmlElementContentPtr;
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlElementContent {
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar             *name;	/* Element name */
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlElementContent *c1;	/* first child */
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlElementContent *c2;	/* second child */
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlElementContent *parent;	/* parent */
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar             *prefix;	/* Namespace prefix */
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlElementTypeVal:
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The different possibilities for an element content type.
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_TYPE_UNDEFINED = 0,
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_TYPE_EMPTY = 1,
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_TYPE_ANY,
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_TYPE_MIXED,
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_ELEMENT_TYPE_ELEMENT
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlElementTypeVal;
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlregexp.h>
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlElement:
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML Element declaration from a DTD.
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlElement xmlElement;
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlElement *xmlElementPtr;
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlElement {
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	        /* application data */
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar          *name;	/* Element name */
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode    *children;	/* NULL */
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *last;	/* NULL */
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDtd       *parent;	/* -> DTD */
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *next;	/* next sibling link  */
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode        *prev;	/* previous sibling link  */
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc          *doc;       /* the containing document */
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementTypeVal      etype;	/* The type */
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementContentPtr content;	/* the allowed element content */
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttributePtr   attributes;	/* List of the declared attributes */
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar        *prefix;	/* the namespace prefix if any */
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_REGEXP_ENABLED
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlRegexpPtr       contModel;	/* the validating regexp */
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void	      *contModel;
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_LOCAL_NAMESPACE:
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A namespace declaration node.
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlElementType xmlNsType;
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlNs:
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML namespace.
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Note that prefix == NULL is valid, it defines the default namespace
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * within the subtree (until overridden).
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlNsType is unified with xmlElementType.
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlNs xmlNs;
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlNs *xmlNsPtr;
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlNs {
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNs  *next;	/* next Ns link for this node  */
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNsType      type;	/* global or local */
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar *href;	/* URL for the namespace */
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const char* dummy_children; /* lines up with node->children */
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar *prefix;	/* prefix for the namespace */
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;   /* application data */
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc *context;		/* normally an xmlDoc */
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlDtd:
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the internal subset and for the external subset.
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlDtd xmlDtd;
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlDtd *xmlDtdPtr;
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlDtd {
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	/* application data */
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar *name;	/* Name of the DTD */
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *children;	/* the value of the property link */
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *last;	/* last child link */
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc  *parent;	/* child->parent link */
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *next;	/* next sibling link  */
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *prev;	/* previous sibling link  */
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc  *doc;	/* the containing document */
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* End of common part */
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void          *notations;   /* Hash table for notations if any */
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void          *elements;    /* Hash table for elements if any */
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void          *attributes;  /* Hash table for attributes if any */
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void          *entities;    /* Hash table for entities if any */
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void          *pentities;   /* Hash table for param entities if any */
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlAttr:
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An attribute on an XML node.
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlAttr xmlAttr;
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlAttr *xmlAttrPtr;
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlAttr {
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	/* application data */
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar   *name;      /* the name of the property */
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *children;	/* the value of the property */
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *last;	/* NULL */
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *parent;	/* child->parent link */
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlAttr *next;	/* next sibling link  */
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlAttr *prev;	/* previous sibling link  */
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc  *doc;	/* the containing document */
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNs           *ns;        /* pointer to the associated namespace */
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttributeType atype;     /* the attribute type if validating */
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void            *psvi;	/* for type/PSVI informations */
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlID:
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML ID instance.
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlID xmlID;
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlID *xmlIDPtr;
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlID {
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlID    *next;	/* next ID */
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar    *value;	/* The ID name */
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttrPtr        attr;	/* The attribute holding it */
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar    *name;	/* The attribute if attr is not available */
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int               lineno;	/* The line number if attr is not available */
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc   *doc;	/* The document holding the ID */
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRef:
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML IDREF instance.
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlRef xmlRef;
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlRef *xmlRefPtr;
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlRef {
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlRef    *next;	/* next Ref */
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar     *value;	/* The Ref name */
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAttrPtr        attr;	/* The attribute holding it */
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar    *name;	/* The attribute if attr is not available */
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int               lineno;	/* The line number if attr is not available */
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlNode:
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A node in an XML tree.
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlNode xmlNode;
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlNode *xmlNodePtr;
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlNode {
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	/* application data */
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType   type;	/* type number, must be second ! */
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar   *name;      /* the name of the node, or the entity */
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *children;	/* parent->childs link */
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *last;	/* last child link */
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *parent;	/* child->parent link */
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *next;	/* next sibling link  */
4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *prev;	/* previous sibling link  */
4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc  *doc;	/* the containing document */
4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* End of common part */
4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNs           *ns;        /* pointer to the associated namespace */
4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlChar         *content;   /* the content */
4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlAttr *properties;/* properties list */
4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNs           *nsDef;     /* namespace definitions on this node */
4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void            *psvi;	/* for type/PSVI informations */
4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    unsigned short   line;	/* line number */
4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    unsigned short   extra;	/* extra data for XPath/XSLT */
4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_GET_CONTENT:
4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Macro to extract the content pointer of a node.
4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_GET_CONTENT(n)					\
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_GET_LINE:
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Macro to extract the line number of an element node.
4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_GET_LINE(n)						\
4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    (xmlGetLineNo(n))
4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlDocProperty
4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Set of properties of the document as found by the parser
4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Some of them are linked to similary named xmlParserOption
4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                           and not by parsing an instance */
5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlDocProperties;
5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlDoc:
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An XML document.
5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlDoc xmlDoc;
5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlDoc *xmlDocPtr;
5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlDoc {
5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *_private;	/* application data */
5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    char           *name;	/* name/filename/URI of the document */
5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *children;	/* the document tree */
5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *last;	/* last child link */
5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *parent;	/* child->parent link */
5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *next;	/* next sibling link  */
5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNode *prev;	/* previous sibling link  */
5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDoc  *doc;	/* autoreference to itself */
5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* End of common part */
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int             compression;/* level of zlib compression */
5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int             standalone; /* standalone document (no external refs)
5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				     1 if standalone="yes"
5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				     0 if standalone="no"
5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				    -1 if there is no XML declaration
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				    -2 if there is an XML declaration, but no
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					standalone attribute was specified */
5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDtd  *intSubset;	/* the document internal subset */
5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDtd  *extSubset;	/* the document external subset */
5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar  *version;	/* the XML version string */
5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar  *encoding;   /* external initial encoding, if any */
5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *ids;        /* Hash table for ID attributes if any */
5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *refs;       /* Hash table for IDREFs attributes if any */
5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const xmlChar  *URL;	/* The URI for that document */
5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int             charset;    /* encoding of the in-memory content
5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				   actually an xmlCharEncoding */
5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct _xmlDict *dict;      /* dict used to allocate names or NULL */
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void           *psvi;	/* for type/PSVI informations */
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int             parseFlags;	/* set of xmlParserOption used to parse the
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				   document */
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int             properties;	/* set of xmlDocProperties for this document
5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				   set at the end of parsing */
5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlDOMWrapAcquireNsFunction:
5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @ctxt:  a DOM wrapper context
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @node:  the context node (element or attribute)
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @nsName:  the requested namespace name
5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @nsPrefix:  the requested namespace prefix
5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A function called to acquire namespaces (xmlNs) from the wrapper.
5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Returns an xmlNsPtr or NULL in case of an error.
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlNodePtr node,
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *nsName,
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *nsPrefix);
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlDOMWrapCtxt:
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Context for DOM wrapper-operations.
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlDOMWrapCtxt {
5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void * _private;
5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /*
5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    * The type of this context, just in case we need specialized
5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    * contexts in the future.
5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    */
5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int type;
5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /*
5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    * Internal namespace map used for various operations.
5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    */
5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void * namespaceMap;
5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /*
5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    * Use this one to acquire an xmlNsPtr intended for node->ns.
5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    * (Note that this is not intended for elem->nsDef).
5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    */
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlChildrenNode:
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Macro for compatibility naming layer with libxml1. Maps
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * to "children."
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef xmlChildrenNode
6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define xmlChildrenNode children
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRootNode:
6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Macro for compatibility naming layer with libxml1. Maps
6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * to "children".
6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef xmlRootNode
6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define xmlRootNode children
6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Variables.
6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Some helper functions
6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#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)
6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNCName	(const xmlChar *value,
6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int space);
6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateQName	(const xmlChar *value,
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int space);
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateName		(const xmlChar *value,
6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int space);
6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNMToken	(const xmlChar *value,
6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int space);
6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBuildQName		(const xmlChar *ncname,
6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix,
6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar *memory,
6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSplitQName2		(const xmlChar *name,
6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar **prefix);
6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSplitQName3		(const xmlChar *name,
6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int *len);
6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Handling Buffers.
6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
6555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlBufferAllocationScheme XMLCALL
6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetBufferAllocationScheme(void);
6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlBufferPtr XMLCALL
6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferCreate		(void);
6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlBufferPtr XMLCALL
6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferCreateSize	(size_t size);
6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlBufferPtr XMLCALL
6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferCreateStatic	(void *mem,
6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 size_t size);
6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferResize		(xmlBufferPtr buf,
6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 unsigned int size);
6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferFree		(xmlBufferPtr buf);
6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferDump		(FILE *file,
6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlBufferPtr buf);
6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferAdd		(xmlBufferPtr buf,
6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *str,
6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferAddHead	(xmlBufferPtr buf,
6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *str,
6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferCat		(xmlBufferPtr buf,
6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *str);
6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferCCat		(xmlBufferPtr buf,
6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *str);
6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferShrink		(xmlBufferPtr buf,
6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 unsigned int len);
6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferGrow		(xmlBufferPtr buf,
6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 unsigned int len);
6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
6955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferEmpty		(xmlBufferPtr buf);
6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar* XMLCALL
6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferContent	(const xmlBufferPtr buf);
6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlBufferAllocationScheme scheme);
7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferLength		(const xmlBufferPtr buf);
7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Creating/freeing new structures.
7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDtdPtr XMLCALL
7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCreateIntSubset	(xmlDocPtr doc,
7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *ExternalID,
7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *SystemID);
7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDtdPtr XMLCALL
7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDtd		(xmlDocPtr doc,
7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *ExternalID,
7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *SystemID);
7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDtdPtr XMLCALL
7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetIntSubset		(xmlDocPtr doc);
7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeDtd		(xmlDtdPtr cur);
7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_LEGACY_ENABLED
7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
7235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewGlobalNs		(xmlDocPtr doc,
7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *href,
7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix);
7265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_LEGACY_ENABLED */
7275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
7285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewNs		(xmlNodePtr node,
7295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *href,
7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix);
7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeNs		(xmlNsPtr cur);
7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeNsList		(xmlNsPtr cur);
7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDocPtr XMLCALL
7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDoc		(const xmlChar *version);
7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeDoc		(xmlDocPtr cur);
7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocProp		(xmlDocPtr doc,
7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    defined(LIBXML_SCHEMAS_ENABLED)
7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewProp		(xmlNodePtr node,
7475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewNsProp		(xmlNodePtr node,
7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
7535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
7555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewNsPropEatName	(xmlNodePtr node,
7575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
7585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar *name,
7595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
7605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreePropList		(xmlAttrPtr cur);
7625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
7635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeProp		(xmlAttrPtr cur);
7645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyProp		(xmlNodePtr target,
7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttrPtr cur);
7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
7685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyPropList		(xmlNodePtr target,
7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttrPtr cur);
7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
7715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDtdPtr XMLCALL
7725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyDtd		(xmlDtdPtr dtd);
7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDocPtr XMLCALL
7765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyDoc		(xmlDocPtr doc,
7775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int recursive);
7785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
7795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Creating new nodes.
7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocNode		(xmlDocPtr doc,
7845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
7875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
7885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocNodeEatName	(xmlDocPtr doc,
7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar *name,
7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
7935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewNode		(xmlNsPtr ns,
7945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewNodeEatName	(xmlNsPtr ns,
7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar *name);
7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewChild		(xmlNodePtr parent,
8015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
8055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocText		(xmlDocPtr doc,
8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewText		(const xmlChar *content);
8105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocPI		(xmlDocPtr doc,
8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewPI		(const xmlChar *name,
8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocTextLen	(xmlDocPtr doc,
8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content,
8205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewTextLen		(const xmlChar *content,
8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocComment	(xmlDocPtr doc,
8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewComment		(const xmlChar *content);
8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewCDataBlock	(xmlDocPtr doc,
8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content,
8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewCharRef		(xmlDocPtr doc,
8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewReference		(xmlDocPtr doc,
8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyNode		(const xmlNodePtr node,
8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int recursive);
8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocCopyNode		(const xmlNodePtr node,
8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int recursive);
8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocCopyNodeList	(xmlDocPtr doc,
8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlNodePtr node);
8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyNodeList		(const xmlNodePtr node);
8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
8525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewTextChild		(xmlNodePtr parent,
8545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
8555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
8565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocRawNode	(xmlDocPtr doc,
8595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
8605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
8615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
8625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocFragment	(xmlDocPtr doc);
8645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
8655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
8675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Navigating.
8685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
8695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN long XMLCALL
8705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetLineNo		(xmlNodePtr node);
8715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
8725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
8735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetNodePath		(xmlNodePtr node);
8745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
8755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocGetRootElement	(xmlDocPtr doc);
8775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetLastChild		(xmlNodePtr parent);
8795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
8805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeIsText		(xmlNodePtr node);
8815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
8825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlIsBlankNode		(xmlNodePtr node);
8835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
8855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Changing the structure.
8865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
8875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
8885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocSetRootElement	(xmlDocPtr doc,
8905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr root);
8915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
8925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
8935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
8945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetName		(xmlNodePtr cur,
8955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
8965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
8975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
8985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddChild		(xmlNodePtr parent,
8995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
9005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddChildList		(xmlNodePtr parent,
9025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
9035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
9045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReplaceNode		(xmlNodePtr old,
9065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
9075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
9085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
9095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    defined(LIBXML_SCHEMAS_ENABLED)
9105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddPrevSibling	(xmlNodePtr cur,
9125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem);
9135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
9145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddSibling		(xmlNodePtr cur,
9165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem);
9175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddNextSibling	(xmlNodePtr cur,
9195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem);
9205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlUnlinkNode		(xmlNodePtr cur);
9225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlTextMerge		(xmlNodePtr first,
9245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr second);
9255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
9265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlTextConcat		(xmlNodePtr node,
9275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content,
9285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
9295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeNodeList		(xmlNodePtr cur);
9315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeNode		(xmlNodePtr cur);
9335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetTreeDoc		(xmlNodePtr tree,
9355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetListDoc		(xmlNodePtr list,
9385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
9395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
9405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Namespaces.
9415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
9425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
9435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSearchNs		(xmlDocPtr doc,
9445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node,
9455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *nameSpace);
9465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
9475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSearchNsByHref	(xmlDocPtr doc,
9485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node,
9495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *href);
9505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
9515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr * XMLCALL
9525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetNsList		(xmlDocPtr doc,
9535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node);
9545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
9555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
9575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetNs		(xmlNodePtr node,
9585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns);
9595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
9605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyNamespace	(xmlNsPtr cur);
9615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNsPtr XMLCALL
9625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyNamespaceList	(xmlNsPtr cur);
9635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
9655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Changing the content.
9665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
9675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
9685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
9695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetProp		(xmlNodePtr node,
9705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
9715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
9725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
9735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetNsProp		(xmlNodePtr node,
9745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
9755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
9765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
9775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
9785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
9795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetNoNsProp		(xmlNodePtr node,
9805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
9815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
9825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetProp		(xmlNodePtr node,
9835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
9845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
9855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlHasProp		(xmlNodePtr node,
9865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
9875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
9885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlHasNsProp		(xmlNodePtr node,
9895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
9905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *nameSpace);
9915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
9925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetNsProp		(xmlNodePtr node,
9935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
9945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *nameSpace);
9955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlStringGetNodeList	(xmlDocPtr doc,
9975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
9985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
9995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlStringLenGetNodeList	(xmlDocPtr doc,
10005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value,
10015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
10025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
10035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeListGetString	(xmlDocPtr doc,
10045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr list,
10055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int inLine);
10065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
10075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
10085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeListGetRawString	(xmlDocPtr doc,
10095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr list,
10105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int inLine);
10115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
10125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetContent	(xmlNodePtr cur,
10145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
10155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
10165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetContentLen	(xmlNodePtr cur,
10185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content,
10195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
10205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
10215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeAddContent	(xmlNodePtr cur,
10235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content);
10245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeAddContentLen	(xmlNodePtr cur,
10265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *content,
10275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
10285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
10295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeGetContent	(xmlNodePtr cur);
10305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeBufGetContent	(xmlBufferPtr buffer,
10325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
10335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
10345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeGetLang		(xmlNodePtr cur);
10355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeGetSpacePreserve	(xmlNodePtr cur);
10375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
10385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetLang		(xmlNodePtr cur,
10405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *lang);
10415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetSpacePreserve (xmlNodePtr cur,
10435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int val);
10445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
10455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
10465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeGetBase		(xmlDocPtr doc,
10475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
10485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
10495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeSetBase		(xmlNodePtr cur,
10515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *uri);
10525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
10535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
10555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Removing content.
10565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
10575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlRemoveProp		(xmlAttrPtr cur);
10595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
10605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlUnsetNsProp		(xmlNodePtr node,
10625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
10635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
10645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlUnsetProp		(xmlNodePtr node,
10665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
10675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
10685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
10705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Internal, don't use.
10715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
10725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferWriteCHAR	(xmlBufferPtr buf,
10745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *string);
10755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferWriteChar	(xmlBufferPtr buf,
10775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *string);
10785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
10795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlBufferWriteQuotedString(xmlBufferPtr buf,
10805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *string);
10815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
10835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
10845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
10855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttrPtr attr,
10865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *string);
10875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
10885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
10905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
10915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Namespace handling.
10925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
10935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
10945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReconciliateNs	(xmlDocPtr doc,
10955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr tree);
10965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
10975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
10995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
11005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Saving.
11015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
11025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocDumpFormatMemory	(xmlDocPtr cur,
11045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar **mem,
11055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int *size,
11065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocDumpMemory	(xmlDocPtr cur,
11095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar **mem,
11105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int *size);
11115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
11135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar **doc_txt_ptr,
11145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int * doc_txt_len,
11155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *txt_encoding);
11165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
11185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlChar **doc_txt_ptr,
11195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int * doc_txt_len,
11205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *txt_encoding,
11215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocFormatDump	(FILE *f,
11245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDocDump		(FILE *f,
11285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur);
11295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlElemDump		(FILE *f,
11315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
11325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur);
11335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFile		(const char *filename,
11355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur);
11365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFormatFile	(const char *filename,
11385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeDump		(xmlBufferPtr buf,
11425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
11435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur,
11445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int level,
11455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFileTo		(xmlOutputBufferPtr buf,
11495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding);
11515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
11535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				         const char *encoding,
11555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				         int format);
11565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
11585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
11595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr cur,
11605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int level,
11615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format,
11625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding);
11635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFormatFileEnc    (const char *filename,
11665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
11685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int format);
11695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSaveFileEnc		(const char *filename,
11725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr cur,
11735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding);
11745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
11765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
11775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XHTML
11785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
11795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlIsXHTML		(const xmlChar *systemID,
11815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *publicID);
11825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
11845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Compression.
11855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
11865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDocCompressMode	(xmlDocPtr doc);
11885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetDocCompressMode	(xmlDocPtr doc,
11905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int mode);
11915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
11925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetCompressMode	(void);
11935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
11945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSetCompressMode	(int mode);
11955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
11975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* DOM-wrapper helper functions.
11985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/
11995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
12005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDOMWrapNewCtxt	(void);
12015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
12025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
12035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
12045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
12055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
12065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
12075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
12085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
12095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr sourceDoc,
12105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node,
12115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr destDoc,
12125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr destParent,
12135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
12145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
12155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
12165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
12175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node,
12185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
12195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
12205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
12215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr sourceDoc,
12225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr node,
12235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr *clonedNode,
12245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr destDoc,
12255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr destParent,
12265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int deep,
12275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
12285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
12295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
12305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
12315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 5 interfaces from DOM ElementTraversal, but different in entities
12325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * traversal.
12335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
12345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN unsigned long XMLCALL
12355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlChildElementCount        (xmlNodePtr parent);
12365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
12375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlNextElementSibling       (xmlNodePtr node);
12385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
12395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlFirstElementChild        (xmlNodePtr parent);
12405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
12415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlLastElementChild         (xmlNodePtr parent);
12425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
12435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlPreviousElementSibling   (xmlNodePtr node);
12445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
12455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
12465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
12475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
12485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_PARSER_H__
12495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlmemory.h>
12505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
12515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
12525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __XML_TREE_H__ */
12535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1254