/opt/cpanel/ea-libxml2/include/libxml2/libxml
NameSizeModeActions
c14n.h26770644editdlrm
catalog.h50750644editdlrm
chvalid.h48210644editdlrm
debugXML.h16550644editdlrm
dict.h17800644editdlrm
encoding.h98630644editdlrm
entities.h43790644editdlrm
globals.h5910644editdlrm
hash.h69620644editdlrm
HTMLparser.h106120644editdlrm
HTMLtree.h27000644editdlrm
list.h31400644editdlrm
nanoftp.h3230644editdlrm
nanohttp.h21440644editdlrm
parser.h603060644editdlrm
parserInternals.h138490644editdlrm
pattern.h26030644editdlrm
relaxng.h61500644editdlrm
SAX.h3950644editdlrm
SAX2.h42350644editdlrm
schemasInternals.h232600644editdlrm
schematron.h42590644editdlrm
threads.h15680644editdlrm
tree.h402430644editdlrm
uri.h27270644editdlrm
valid.h118880644editdlrm
xinclude.h28750644editdlrm
xlink.h51560644editdlrm
xmlautomata.h38890644editdlrm
xmlerror.h393350644editdlrm
xmlexports.h24140644editdlrm
xmlIO.h115940644editdlrm
xmlmemory.h50500644editdlrm
xmlmodule.h11580644editdlrm
xmlreader.h125310644editdlrm
xmlregexp.h24530644editdlrm
xmlsave.h34760644editdlrm
xmlschemas.h69300644editdlrm
xmlschemastypes.h45420644editdlrm
xmlstring.h52480644editdlrm
xmlunicode.h2810644editdlrm
xmlversion.h39940644editdlrm
xmlwriter.h204720644editdlrm
xpath.h147560644editdlrm
xpathInternals.h177760644editdlrm
xpointer.h9300644editdlrm
Edit: /opt/cpanel/ea-libxml2/include/libxml2/libxml/tree.h (40243B)
/** * @file * * @brief Document tree API * * Data structures and functions to build, modify, query and * serialize XML and HTML document trees. Also contains the * buffer API. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef XML_TREE_INTERNALS /* * Emulate circular dependency for backward compatibility */ #include #else /* XML_TREE_INTERNALS */ #ifndef __XML_TREE_H__ /** @cond ignore */ #define __XML_TREE_H__ /** @endcond */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /* * Backward compatibility */ /** @cond ignore */ #define xmlBufferAllocScheme XML_BUFFER_ALLOC_EXACT #define xmlDefaultBufferSize 4096 #define XML_GET_CONTENT(n) \ ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) #define XML_GET_LINE(n) xmlGetLineNo(n) /** @endcond */ /* * Some of the basic types pointer to structures: */ /* xmlIO.h */ /** * Parser input buffer * * This struct and all related functions should ultimately * be removed from the public interface. */ typedef struct _xmlParserInputBuffer xmlParserInputBuffer; typedef xmlParserInputBuffer *xmlParserInputBufferPtr; /** Output buffer */ typedef struct _xmlOutputBuffer xmlOutputBuffer; typedef xmlOutputBuffer *xmlOutputBufferPtr; /* parser.h */ /** Parser input */ typedef struct _xmlParserInput xmlParserInput; typedef xmlParserInput *xmlParserInputPtr; /** Parser context */ typedef struct _xmlParserCtxt xmlParserCtxt; typedef xmlParserCtxt *xmlParserCtxtPtr; /** SAX locator */ typedef struct _xmlSAXLocator xmlSAXLocator; typedef xmlSAXLocator *xmlSAXLocatorPtr; /** SAX handler */ typedef struct _xmlSAXHandler xmlSAXHandler; typedef xmlSAXHandler *xmlSAXHandlerPtr; /* entities.h */ /** Entity declaration */ typedef struct _xmlEntity xmlEntity; typedef xmlEntity *xmlEntityPtr; /** * Removed, buffers always use XML_BUFFER_ALLOC_IO now. */ typedef enum { XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ } xmlBufferAllocationScheme; /** Buffer type */ typedef struct _xmlBuffer xmlBuffer; typedef xmlBuffer *xmlBufferPtr; /** * A buffer structure, this old construct is limited to 2GB and * is being deprecated, use API with xmlBuf instead. */ struct _xmlBuffer { /** * @deprecated Use #xmlBufferContent * * The buffer content UTF8 */ xmlChar *content XML_DEPRECATED_MEMBER; /** * @deprecated Use #xmlBufferLength * * The buffer size used */ unsigned int use XML_DEPRECATED_MEMBER; /* The buffer size */ unsigned int size XML_DEPRECATED_MEMBER; /* The realloc method */ xmlBufferAllocationScheme alloc XML_DEPRECATED_MEMBER; /* in IO mode we may have a different base */ xmlChar *contentIO XML_DEPRECATED_MEMBER; }; /** Buffer with 64-bit support */ typedef struct _xmlBuf xmlBuf; typedef xmlBuf *xmlBufPtr; /** * Macro used to express that the API use the new buffers for * xmlParserInputBuffer and xmlOutputBuffer. The change was * introduced in 2.9.0. */ #define LIBXML2_NEW_BUFFER /** * This is the namespace for the special xml: prefix predefined in the * XML Namespace specification. */ #define XML_XML_NAMESPACE \ (const xmlChar *) "http://www.w3.org/XML/1998/namespace" /** * This is the name for the special xml:id attribute */ #define XML_XML_ID (const xmlChar *) "xml:id" /** * The different element types carried by an XML tree. * * NOTE: This is synchronized with DOM Level 1 values. * See http://www.w3.org/TR/REC-DOM-Level-1/ * * Actually this had diverged a bit, and XML_DTD_NODE is used instead * of XML_DOCUMENT_TYPE_NODE. */ typedef enum { /** * An element. * * Objects of this type are an xmlNode. */ XML_ELEMENT_NODE= 1, /** * An attribute. * * Objects of this type are an xmlAttr. */ XML_ATTRIBUTE_NODE= 2, /** * A text node. * * Objects of this type are an xmlNode. */ XML_TEXT_NODE= 3, /** * A CDATA section. * * Objects of this type are an xmlNode. */ XML_CDATA_SECTION_NODE= 4, /** * An entity reference. * * Objects of this type are an xmlNode. The `children` member * points to the entity declaration if available. */ XML_ENTITY_REF_NODE= 5, /** unused */ XML_ENTITY_NODE= 6, /** * A processing instruction. * * Objects of this type are an xmlNode. */ XML_PI_NODE= 7, /** * A comment. * * Objects of this type are an xmlNode. */ XML_COMMENT_NODE= 8, /** * A document. * * Objects of this type are an xmlDoc. */ XML_DOCUMENT_NODE= 9, /** unused */ XML_DOCUMENT_TYPE_NODE= 10, /** * A document fragment. * * Objects of this type are an xmlNode. */ XML_DOCUMENT_FRAG_NODE= 11, /** A notation, unused */ XML_NOTATION_NODE= 12, /** * An HTML document. * * Objects of this type are an xmlDoc. */ XML_HTML_DOCUMENT_NODE= 13, /** * A document type definition. * * Objects of this type are an xmlDtd. */ XML_DTD_NODE= 14, /** * An element declaration. * * Objects of this type are an xmlElement. */ XML_ELEMENT_DECL= 15, /** * An attribute declaration. * * Objects of this type are an xmlAttribute. */ XML_ATTRIBUTE_DECL= 16, /** * An entity declaration. * * Objects of this type are an xmlEntity. */ XML_ENTITY_DECL= 17, /** * An XPath namespace node. * * Can only be returned by the XPath engine. Objects of this * type are an xmlNs which has a completely different layout * than xmlNode. The `next` member contains a pointer to the * xmlNode element to which the namespace applies. * * Nodes of this type must be handled with extreme care to * avoid type confusion bugs. */ XML_NAMESPACE_DECL= 18, /** * An XInclude start marker. * * Objects of this type are an xmlNode. Inserted as preceding * sibling of XIncluded content. */ XML_XINCLUDE_START= 19, /** * An XInclude end marker. * * Objects of this type are an xmlNode. Inserted as following * sibling of XIncluded content. */ XML_XINCLUDE_END= 20 /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */ } xmlElementType; /** @cond IGNORE */ /* For backward compatibility */ #define XML_DOCB_DOCUMENT_NODE 21 /** @endcond */ /** Notation declaration */ typedef struct _xmlNotation xmlNotation; typedef xmlNotation *xmlNotationPtr; /** * A DTD Notation definition. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlNotation { /** Notation name */ const xmlChar *name; /** Public identifier, if any */ const xmlChar *PublicID; /** System identifier, if any */ const xmlChar *SystemID; }; /** * A DTD Attribute type definition. */ typedef enum { XML_ATTRIBUTE_CDATA = 1, XML_ATTRIBUTE_ID, XML_ATTRIBUTE_IDREF , XML_ATTRIBUTE_IDREFS, XML_ATTRIBUTE_ENTITY, XML_ATTRIBUTE_ENTITIES, XML_ATTRIBUTE_NMTOKEN, XML_ATTRIBUTE_NMTOKENS, XML_ATTRIBUTE_ENUMERATION, XML_ATTRIBUTE_NOTATION } xmlAttributeType; /** * A DTD Attribute default definition. */ typedef enum { XML_ATTRIBUTE_NONE = 1, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED, XML_ATTRIBUTE_FIXED } xmlAttributeDefault; /** Enumeration in a DTD */ typedef struct _xmlEnumeration xmlEnumeration; typedef xmlEnumeration *xmlEnumerationPtr; /** * List structure used when there is an enumeration in DTDs. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlEnumeration { /** next enumeration */ struct _xmlEnumeration *next XML_DEPRECATED_MEMBER; /** value */ const xmlChar *name XML_DEPRECATED_MEMBER; }; /** Attribute declaration */ typedef struct _xmlAttribute xmlAttribute; typedef xmlAttribute *xmlAttributePtr; /** * An Attribute declaration in a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlAttribute { /** application data */ void *_private; /** XML_ATTRIBUTE_DECL */ xmlElementType type; /** attribute name */ const xmlChar *name; /** NULL */ struct _xmlNode *children; /** NULL */ struct _xmlNode *last; /** DTD */ struct _xmlDtd *parent; /** next sibling */ struct _xmlNode *next; /** previous sibling */ struct _xmlNode *prev; /** containing document */ struct _xmlDoc *doc; /** next in hash table */ struct _xmlAttribute *nexth; /** attribute type */ xmlAttributeType atype; /** attribute default */ xmlAttributeDefault def; /** default value */ xmlChar *defaultValue; /** enumeration tree if any */ xmlEnumeration *tree XML_DEPRECATED_MEMBER; /** namespace prefix if any */ const xmlChar *prefix; /** element name */ const xmlChar *elem; }; /** * Possible definitions of element content types. */ typedef enum { XML_ELEMENT_CONTENT_PCDATA = 1, XML_ELEMENT_CONTENT_ELEMENT, XML_ELEMENT_CONTENT_SEQ, XML_ELEMENT_CONTENT_OR } xmlElementContentType; /** * Possible definitions of element content occurrences. */ typedef enum { XML_ELEMENT_CONTENT_ONCE = 1, XML_ELEMENT_CONTENT_OPT, XML_ELEMENT_CONTENT_MULT, XML_ELEMENT_CONTENT_PLUS } xmlElementContentOccur; /** Element content in element declarations */ typedef struct _xmlElementContent xmlElementContent; typedef xmlElementContent *xmlElementContentPtr; /** * An XML Element content as stored after parsing an element definition * in a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlElementContent { /** PCDATA, ELEMENT, SEQ or OR */ xmlElementContentType type XML_DEPRECATED_MEMBER; /** ONCE, OPT, MULT or PLUS */ xmlElementContentOccur ocur XML_DEPRECATED_MEMBER; /** element name */ const xmlChar *name XML_DEPRECATED_MEMBER; /** first child */ struct _xmlElementContent *c1 XML_DEPRECATED_MEMBER; /** second child */ struct _xmlElementContent *c2 XML_DEPRECATED_MEMBER; /** parent */ struct _xmlElementContent *parent XML_DEPRECATED_MEMBER; /** namespace prefix */ const xmlChar *prefix XML_DEPRECATED_MEMBER; }; /** * The different possibilities for an element content type. */ typedef enum { XML_ELEMENT_TYPE_UNDEFINED = 0, XML_ELEMENT_TYPE_EMPTY = 1, XML_ELEMENT_TYPE_ANY, XML_ELEMENT_TYPE_MIXED, XML_ELEMENT_TYPE_ELEMENT } xmlElementTypeVal; /** Element declaration */ typedef struct _xmlElement xmlElement; typedef xmlElement *xmlElementPtr; /** * An XML Element declaration from a DTD. * * Should be treated as opaque. Accessing members directly * is deprecated. */ struct _xmlElement { /** application data */ void *_private; /** XML_ELEMENT_DECL */ xmlElementType type; /** element name */ const xmlChar *name; /** NULL */ struct _xmlNode *children; /** NULL */ struct _xmlNode *last; /** -> DTD */ struct _xmlDtd *parent; /** next sibling */ struct _xmlNode *next; /** previous sibling */ struct _xmlNode *prev; /** containing document */ struct _xmlDoc *doc; /** element type */ xmlElementTypeVal etype; /** allowed element content */ xmlElementContent *content; /** list of declared attributes */ xmlAttribute *attributes; /** namespace prefix if any */ const xmlChar *prefix; #ifdef LIBXML_REGEXP_ENABLED /** validating regexp */ xmlRegexp *contModel XML_DEPRECATED_MEMBER; #else void *contModel XML_DEPRECATED_MEMBER; #endif }; /** * A namespace declaration node. */ #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL typedef xmlElementType xmlNsType; /** Namespace declaration */ typedef struct _xmlNs xmlNs; typedef xmlNs *xmlNsPtr; /** * An XML namespace. * Note that prefix == NULL is valid, it defines the default namespace * within the subtree (until overridden). * * xmlNsType is unified with xmlElementType. * * Note that the XPath engine returns XPath namespace nodes as * xmlNs cast to xmlNode. This is a terrible design decision that * can easily cause type confusion errors. In this case, the `next` * member points to the xmlNode element to which the namespace * node belongs. */ struct _xmlNs { /** next namespace */ struct _xmlNs *next; /** XML_NAMESPACE_DECL */ xmlNsType type; /** namespace URI */ const xmlChar *href; /** namespace prefix */ const xmlChar *prefix; /** application data */ void *_private; /** normally an xmlDoc */ struct _xmlDoc *context XML_DEPRECATED_MEMBER; }; /** Document type definition (DTD) */ typedef struct _xmlDtd xmlDtd; typedef xmlDtd *xmlDtdPtr; /** * An XML DTD, as defined by ns. * (Note that this is not intended for elem->nsDef). */ xmlDOMWrapAcquireNsFunction getNsForNodeFunc; }; /** * Signature for the registration callback of a created node * * @param node the current node */ typedef void (*xmlRegisterNodeFunc) (xmlNode *node); /** * Signature for the deregistration callback of a discarded node * * @param node the current node */ typedef void (*xmlDeregisterNodeFunc) (xmlNode *node); /** * Macro for compatibility naming layer with libxml1. Maps * to "children." */ #ifndef xmlChildrenNode #define xmlChildrenNode children #endif /** * Macro for compatibility naming layer with libxml1. Maps * to "children". */ #ifndef xmlRootNode #define xmlRootNode children #endif /* * Variables. */ /** @cond ignore */ XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void); #ifndef XML_GLOBALS_NO_REDEFINITION #define xmlRegisterNodeDefaultValue \ (*__xmlRegisterNodeDefaultValue()) #define xmlDeregisterNodeDefaultValue \ (*__xmlDeregisterNodeDefaultValue()) #endif /** @endcond */ /* * Some helper functions */ XMLPUBFUN int xmlValidateNCName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateQName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateName (const xmlChar *value, int space); XMLPUBFUN int xmlValidateNMToken (const xmlChar *value, int space); XMLPUBFUN xmlChar * xmlBuildQName (const xmlChar *ncname, const xmlChar *prefix, xmlChar *memory, int len); XMLPUBFUN xmlChar * xmlSplitQName2 (const xmlChar *name, xmlChar **prefix); XMLPUBFUN const xmlChar * xmlSplitQName3 (const xmlChar *name, int *len); /* * Creating/freeing new structures. */ XMLPUBFUN xmlDtd * xmlCreateIntSubset (xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlNewDtd (xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId); XMLPUBFUN xmlDtd * xmlGetIntSubset (const xmlDoc *doc); XMLPUBFUN void xmlFreeDtd (xmlDtd *cur); XMLPUBFUN xmlNs * xmlNewNs (xmlNode *node, const xmlChar *href, const xmlChar *prefix); XMLPUBFUN void xmlFreeNs (xmlNs *cur); XMLPUBFUN void xmlFreeNsList (xmlNs *cur); XMLPUBFUN xmlDoc * xmlNewDoc (const xmlChar *version); XMLPUBFUN void xmlFreeDoc (xmlDoc *cur); XMLPUBFUN xmlAttr * xmlNewDocProp (xmlDoc *doc, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewProp (xmlNode *node, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlNewNsPropEatName (xmlNode *node, xmlNs *ns, xmlChar *name, const xmlChar *value); XMLPUBFUN void xmlFreePropList (xmlAttr *cur); XMLPUBFUN void xmlFreeProp (xmlAttr *cur); XMLPUBFUN xmlAttr * xmlCopyProp (xmlNode *target, xmlAttr *cur); XMLPUBFUN xmlAttr * xmlCopyPropList (xmlNode *target, xmlAttr *cur); XMLPUBFUN xmlDtd * xmlCopyDtd (xmlDtd *dtd); XMLPUBFUN xmlDoc * xmlCopyDoc (xmlDoc *doc, int recursive); /* * Creating new nodes. */ XMLPUBFUN xmlNode * xmlNewDocNode (xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocNodeEatName (xmlDoc *doc, xmlNs *ns, xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewNode (xmlNs *ns, const xmlChar *name); XMLPUBFUN xmlNode * xmlNewNodeEatName (xmlNs *ns, xmlChar *name); XMLPUBFUN xmlNode * xmlNewChild (xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocText (const xmlDoc *doc, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewText (const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocPI (xmlDoc *doc, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewPI (const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocTextLen (xmlDoc *doc, const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewTextLen (const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewDocComment (xmlDoc *doc, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewComment (const xmlChar *content); XMLPUBFUN xmlNode * xmlNewCDataBlock (xmlDoc *doc, const xmlChar *content, int len); XMLPUBFUN xmlNode * xmlNewCharRef (xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlNode * xmlNewReference (const xmlDoc *doc, const xmlChar *name); XMLPUBFUN xmlNode * xmlCopyNode (xmlNode *node, int recursive); XMLPUBFUN xmlNode * xmlDocCopyNode (xmlNode *node, xmlDoc *doc, int recursive); XMLPUBFUN xmlNode * xmlDocCopyNodeList (xmlDoc *doc, xmlNode *node); XMLPUBFUN xmlNode * xmlCopyNodeList (xmlNode *node); XMLPUBFUN xmlNode * xmlNewTextChild (xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocRawNode (xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content); XMLPUBFUN xmlNode * xmlNewDocFragment (xmlDoc *doc); /* * Navigating. */ XMLPUBFUN long xmlGetLineNo (const xmlNode *node); XMLPUBFUN xmlChar * xmlGetNodePath (const xmlNode *node); XMLPUBFUN xmlNode * xmlDocGetRootElement (const xmlDoc *doc); XMLPUBFUN xmlNode * xmlGetLastChild (const xmlNode *parent); XMLPUBFUN int xmlNodeIsText (const xmlNode *node); XMLPUBFUN int xmlIsBlankNode (const xmlNode *node); /* * Changing the structure. */ XMLPUBFUN xmlNode * xmlDocSetRootElement (xmlDoc *doc, xmlNode *root); XMLPUBFUN void xmlNodeSetName (xmlNode *cur, const xmlChar *name); XMLPUBFUN xmlNode * xmlAddChild (xmlNode *parent, xmlNode *cur); XMLPUBFUN xmlNode * xmlAddChildList (xmlNode *parent, xmlNode *cur); XMLPUBFUN xmlNode * xmlReplaceNode (xmlNode *old, xmlNode *cur); XMLPUBFUN xmlNode * xmlAddPrevSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN xmlNode * xmlAddSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN xmlNode * xmlAddNextSibling (xmlNode *cur, xmlNode *elem); XMLPUBFUN void xmlUnlinkNode (xmlNode *cur); XMLPUBFUN xmlNode * xmlTextMerge (xmlNode *first, xmlNode *second); XMLPUBFUN int xmlTextConcat (xmlNode *node, const xmlChar *content, int len); XMLPUBFUN void xmlFreeNodeList (xmlNode *cur); XMLPUBFUN void xmlFreeNode (xmlNode *cur); XMLPUBFUN int xmlSetTreeDoc (xmlNode *tree, xmlDoc *doc); XMLPUBFUN int xmlSetListDoc (xmlNode *list, xmlDoc *doc); /* * Namespaces. */ XMLPUBFUN xmlNs * xmlSearchNs (xmlDoc *doc, xmlNode *node, const xmlChar *nameSpace); XMLPUBFUN xmlNs * xmlSearchNsByHref (xmlDoc *doc, xmlNode *node, const xmlChar *href); XMLPUBFUN int xmlGetNsListSafe (const xmlDoc *doc, const xmlNode *node, xmlNs ***out); XMLPUBFUN xmlNs ** xmlGetNsList (const xmlDoc *doc, const xmlNode *node); XMLPUBFUN void xmlSetNs (xmlNode *node, xmlNs *ns); XMLPUBFUN xmlNs * xmlCopyNamespace (xmlNs *cur); XMLPUBFUN xmlNs * xmlCopyNamespaceList (xmlNs *cur); /* * Changing the content. */ XMLPUBFUN xmlAttr * xmlSetProp (xmlNode *node, const xmlChar *name, const xmlChar *value); XMLPUBFUN xmlAttr * xmlSetNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value); XMLPUBFUN int xmlNodeGetAttrValue (const xmlNode *node, const xmlChar *name, const xmlChar *nsUri, xmlChar **out); XMLPUBFUN xmlChar * xmlGetNoNsProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlChar * xmlGetProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlAttr * xmlHasProp (const xmlNode *node, const xmlChar *name); XMLPUBFUN xmlAttr * xmlHasNsProp (const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace); XMLPUBFUN xmlChar * xmlGetNsProp (const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace); XMLPUBFUN xmlNode * xmlStringGetNodeList (const xmlDoc *doc, const xmlChar *value); XMLPUBFUN xmlNode * xmlStringLenGetNodeList (const xmlDoc *doc, const xmlChar *value, int len); XMLPUBFUN xmlChar * xmlNodeListGetString (xmlDoc *doc, const xmlNode *list, int inLine); XMLPUBFUN xmlChar * xmlNodeListGetRawString (const xmlDoc *doc, const xmlNode *list, int inLine); XMLPUBFUN int xmlNodeSetContent (xmlNode *cur, const xmlChar *content); XMLPUBFUN int xmlNodeSetContentLen (xmlNode *cur, const xmlChar *content, int len); XMLPUBFUN int xmlNodeAddContent (xmlNode *cur, const xmlChar *content); XMLPUBFUN int xmlNodeAddContentLen (xmlNode *cur, const xmlChar *content, int len); XMLPUBFUN xmlChar * xmlNodeGetContent (const xmlNode *cur); XMLPUBFUN int xmlNodeBufGetContent (xmlBuffer *buffer, const xmlNode *cur); XMLPUBFUN int xmlBufGetNodeContent (xmlBuf *buf, const xmlNode *cur); XMLPUBFUN xmlChar * xmlNodeGetLang (const xmlNode *cur); XMLPUBFUN int xmlNodeGetSpacePreserve (const xmlNode *cur); XMLPUBFUN int xmlNodeSetLang (xmlNode *cur, const xmlChar *lang); XMLPUBFUN int xmlNodeSetSpacePreserve (xmlNode *cur, int val); XMLPUBFUN int xmlNodeGetBaseSafe (const xmlDoc *doc, const xmlNode *cur, xmlChar **baseOut); XMLPUBFUN xmlChar * xmlNodeGetBase (const xmlDoc *doc, const xmlNode *cur); XMLPUBFUN int xmlNodeSetBase (xmlNode *cur, const xmlChar *uri); /* * Removing content. */ XMLPUBFUN int xmlRemoveProp (xmlAttr *cur); XMLPUBFUN int xmlUnsetNsProp (xmlNode *node, xmlNs *ns, const xmlChar *name); XMLPUBFUN int xmlUnsetProp (xmlNode *node, const xmlChar *name); #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBuffer *buf, xmlDoc *doc, xmlAttr *attr, const xmlChar *string); #endif /* LIBXML_OUTPUT_ENABLED */ /* * Namespace handling. */ XMLPUBFUN int xmlReconciliateNs (xmlDoc *doc, xmlNode *tree); #ifdef LIBXML_OUTPUT_ENABLED /* * Saving. */ XMLPUBFUN void xmlDocDumpFormatMemory (xmlDoc *cur, xmlChar **mem, int *size, int format); XMLPUBFUN void xmlDocDumpMemory (xmlDoc *cur, xmlChar **mem, int *size); XMLPUBFUN void xmlDocDumpMemoryEnc (xmlDoc *out_doc, xmlChar **doc_txt_ptr, int * doc_txt_len, const char *txt_encoding); XMLPUBFUN void xmlDocDumpFormatMemoryEnc(xmlDoc *out_doc, xmlChar **doc_txt_ptr, int * doc_txt_len, const char *txt_encoding, int format); XMLPUBFUN int xmlDocFormatDump (FILE *f, xmlDoc *cur, int format); XMLPUBFUN int xmlDocDump (FILE *f, xmlDoc *cur); XMLPUBFUN void xmlElemDump (FILE *f, xmlDoc *doc, xmlNode *cur); XMLPUBFUN int xmlSaveFile (const char *filename, xmlDoc *cur); XMLPUBFUN int xmlSaveFormatFile (const char *filename, xmlDoc *cur, int format); XMLPUBFUN size_t xmlBufNodeDump (xmlBuf *buf, xmlDoc *doc, xmlNode *cur, int level, int format); XMLPUBFUN int xmlNodeDump (xmlBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format); XMLPUBFUN int xmlSaveFileTo (xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding); XMLPUBFUN int xmlSaveFormatFileTo (xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding, int format); XMLPUBFUN void xmlNodeDumpOutput (xmlOutputBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format, const char *encoding); XMLPUBFUN int xmlSaveFormatFileEnc (const char *filename, xmlDoc *cur, const char *encoding, int format); XMLPUBFUN int xmlSaveFileEnc (const char *filename, xmlDoc *cur, const char *encoding); #endif /* LIBXML_OUTPUT_ENABLED */ /* * XHTML */ XMLPUBFUN int xmlIsXHTML (const xmlChar *systemID, const xmlChar *publicID); /* * Compression. */ XMLPUBFUN int xmlGetDocCompressMode (const xmlDoc *doc); XMLPUBFUN void xmlSetDocCompressMode (xmlDoc *doc, int mode); XML_DEPRECATED XMLPUBFUN int xmlGetCompressMode (void); XML_DEPRECATED XMLPUBFUN void xmlSetCompressMode (int mode); /* * DOM-wrapper helper functions. */ XMLPUBFUN xmlDOMWrapCtxt * xmlDOMWrapNewCtxt (void); XMLPUBFUN void xmlDOMWrapFreeCtxt (xmlDOMWrapCtxt *ctxt); XMLPUBFUN int xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxt *ctxt, xmlNode *elem, int options); XMLPUBFUN int xmlDOMWrapAdoptNode (xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlDoc *destDoc, xmlNode *destParent, int options); XMLPUBFUN int xmlDOMWrapRemoveNode (xmlDOMWrapCtxt *ctxt, xmlDoc *doc, xmlNode *node, int options); XMLPUBFUN int xmlDOMWrapCloneNode (xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlNode **clonedNode, xmlDoc *destDoc, xmlNode *destParent, int deep, int options); /* * 5 interfaces from DOM ElementTraversal, but different in entities * traversal. */ XMLPUBFUN unsigned long xmlChildElementCount (xmlNode *parent); XMLPUBFUN xmlNode * xmlNextElementSibling (xmlNode *node); XMLPUBFUN xmlNode * xmlFirstElementChild (xmlNode *parent); XMLPUBFUN xmlNode * xmlLastElementChild (xmlNode *parent); XMLPUBFUN xmlNode * xmlPreviousElementSibling (xmlNode *node); XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc xmlRegisterNodeDefault (xmlRegisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc xmlDeregisterNodeDefault (xmlDeregisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); XML_DEPRECATED XMLPUBFUN xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); /* * Handling Buffers, the old ones see `xmlBuf` for the new ones. */ XML_DEPRECATED XMLPUBFUN void xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); XML_DEPRECATED XMLPUBFUN xmlBufferAllocationScheme xmlGetBufferAllocationScheme(void); XMLPUBFUN xmlBuffer * xmlBufferCreate (void); XMLPUBFUN xmlBuffer * xmlBufferCreateSize (size_t size); XMLPUBFUN xmlBuffer * xmlBufferCreateStatic (void *mem, size_t size); XML_DEPRECATED XMLPUBFUN int xmlBufferResize (xmlBuffer *buf, unsigned int size); XMLPUBFUN void xmlBufferFree (xmlBuffer *buf); XMLPUBFUN int xmlBufferDump (FILE *file, xmlBuffer *buf); XMLPUBFUN int xmlBufferAdd (xmlBuffer *buf, const xmlChar *str, int len); XMLPUBFUN int xmlBufferAddHead (xmlBuffer *buf, const xmlChar *str, int len); XMLPUBFUN int xmlBufferCat (xmlBuffer *buf, const xmlChar *str); XMLPUBFUN int xmlBufferCCat (xmlBuffer *buf, const char *str); XML_DEPRECATED XMLPUBFUN int xmlBufferShrink (xmlBuffer *buf, unsigned int len); XML_DEPRECATED XMLPUBFUN int xmlBufferGrow (xmlBuffer *buf, unsigned int len); XMLPUBFUN void xmlBufferEmpty (xmlBuffer *buf); XMLPUBFUN const xmlChar* xmlBufferContent (const xmlBuffer *buf); XMLPUBFUN xmlChar* xmlBufferDetach (xmlBuffer *buf); XMLPUBFUN void xmlBufferSetAllocationScheme(xmlBuffer *buf, xmlBufferAllocationScheme scheme); XMLPUBFUN int xmlBufferLength (const xmlBuffer *buf); XMLPUBFUN void xmlBufferWriteCHAR (xmlBuffer *buf, const xmlChar *string); XMLPUBFUN void xmlBufferWriteChar (xmlBuffer *buf, const char *string); XMLPUBFUN void xmlBufferWriteQuotedString(xmlBuffer *buf, const xmlChar *string); /* * A few public routines for xmlBuf. As those are expected to be used * mostly internally the bulk of the routines are internal in buf.h */ XMLPUBFUN xmlChar* xmlBufContent (const xmlBuf* buf); XMLPUBFUN xmlChar* xmlBufEnd (xmlBuf *buf); XMLPUBFUN size_t xmlBufUse (xmlBuf *buf); XMLPUBFUN size_t xmlBufShrink (xmlBuf *buf, size_t len); #ifdef __cplusplus } #endif #endif /* __XML_TREE_H__ */ #endif /* XML_TREE_INTERNALS */