  
    
    
    
    
    
    
    
  
  
    
      
        
          
libxml2-threads.html            
Prev          
        
        
          
general.html            
Up          
        
        
          
index.html            
Home          
        
        
          
libxml2-uri.html            
Next          
        
        
libxml2 Reference Manual      
    
    
      
tree    
    
tree - interfaces for tree manipulation
    
this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree 
    
Author(s): Daniel Veillard 
    
      
Synopsis
      
#define #XML_LOCAL_NAMESPACEXML_LOCAL_NAMESPACE ;
#define 
#XML_XML_NAMESPACEXML_XML_NAMESPACE ;
#define 
#XML_XML_IDXML_XML_ID ;
#define 
#xmlRootNodexmlRootNode ;
#define 
#XML_GET_LINEXML_GET_LINE ;
#define 
#XML_GET_CONTENTXML_GET_CONTENT ;
#define 
#xmlChildrenNodexmlChildrenNode ;
#define 
#BASE_BUFFER_SIZEBASE_BUFFER_SIZE ;
typedef struct _xmlNs 
#xmlNsxmlNs ;
typedef 
libxml2-tree.html#xmlBufferxmlBuffer  * #xmlBufferPtrxmlBufferPtr ;
typedef 
libxml2-tree.html#xmlEnumerationxmlEnumeration  * #xmlEnumerationPtrxmlEnumerationPtr ;
typedef struct _xmlBuffer 
#xmlBufferxmlBuffer ;
typedef 
libxml2-tree.html#xmlParserInputxmlParserInput  * #xmlParserInputPtrxmlParserInputPtr ;
typedef 
libxml2-tree.html#xmlSAXLocatorxmlSAXLocator  * #xmlSAXLocatorPtrxmlSAXLocatorPtr ;
typedef struct _xmlParserInput 
#xmlParserInputxmlParserInput ;
typedef struct _xmlElement 
#xmlElementxmlElement ;
typedef 
libxml2-tree.html#xmlElementTypexmlElementType  #xmlNsTypexmlNsType ;
typedef enum 
#xmlBufferAllocationSchemexmlBufferAllocationScheme ;
typedef struct _xmlNode 
#xmlNodexmlNode ;
typedef 
libxml2-tree.html#xmlDocxmlDoc  * #xmlDocPtrxmlDocPtr ;
typedef struct _xmlElementContent 
#xmlElementContentxmlElementContent ;
typedef 
libxml2-tree.html#xmlDOMWrapCtxtxmlDOMWrapCtxt  * #xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr ;
typedef 
libxml2-tree.html#xmlRefxmlRef  * #xmlRefPtrxmlRefPtr ;
typedef struct _xmlParserInputBuffer 
#xmlParserInputBufferxmlParserInputBuffer ;
typedef struct _xmlRef 
#xmlRefxmlRef ;
typedef struct _xmlDOMWrapCtxt 
#xmlDOMWrapCtxtxmlDOMWrapCtxt ;
typedef 
libxml2-tree.html#xmlNodexmlNode  * #xmlNodePtrxmlNodePtr ;
typedef struct _xmlParserCtxt 
#xmlParserCtxtxmlParserCtxt ;
typedef 
libxml2-tree.html#xmlDtdxmlDtd  * #xmlDtdPtrxmlDtdPtr ;
typedef enum 
#xmlAttributeDefaultxmlAttributeDefault ;
typedef struct _xmlNotation 
#xmlNotationxmlNotation ;
typedef enum 
#xmlElementTypexmlElementType ;
typedef struct _xmlEntity 
#xmlEntityxmlEntity ;
typedef struct _xmlAttr 
#xmlAttrxmlAttr ;
typedef 
libxml2-tree.html#xmlAttributexmlAttribute  * #xmlAttributePtrxmlAttributePtr ;
typedef enum 
#xmlElementTypeValxmlElementTypeVal ;
typedef 
libxml2-tree.html#xmlNotationxmlNotation  * #xmlNotationPtrxmlNotationPtr ;
typedef 
libxml2-tree.html#xmlElementxmlElement  * #xmlElementPtrxmlElementPtr ;
typedef enum 
#xmlElementContentOccurxmlElementContentOccur ;
typedef 
libxml2-tree.html#xmlAttrxmlAttr  * #xmlAttrPtrxmlAttrPtr ;
typedef struct _xmlDoc 
#xmlDocxmlDoc ;
typedef struct _xmlID 
#xmlIDxmlID ;
typedef 
libxml2-tree.html#xmlParserCtxtxmlParserCtxt  * #xmlParserCtxtPtrxmlParserCtxtPtr ;
typedef 
libxml2-tree.html#xmlEntityxmlEntity  * #xmlEntityPtrxmlEntityPtr ;
typedef struct _xmlEnumeration 
#xmlEnumerationxmlEnumeration ;
typedef enum 
#xmlAttributeTypexmlAttributeType ;
typedef 
libxml2-tree.html#xmlNsxmlNs  * #xmlNsPtrxmlNsPtr ;
typedef 
libxml2-tree.html#xmlParserInputBufferxmlParserInputBuffer  * #xmlParserInputBufferPtrxmlParserInputBufferPtr ;
typedef struct _xmlSAXHandler 
#xmlSAXHandlerxmlSAXHandler ;
typedef struct _xmlOutputBuffer 
#xmlOutputBufferxmlOutputBuffer ;
typedef struct _xmlSAXLocator 
#xmlSAXLocatorxmlSAXLocator ;
typedef 
libxml2-tree.html#xmlElementContentxmlElementContent  * #xmlElementContentPtrxmlElementContentPtr ;
typedef enum 
#xmlElementContentTypexmlElementContentType ;
typedef 
libxml2-tree.html#xmlIDxmlID  * #xmlIDPtrxmlIDPtr ;
typedef struct _xmlDtd 
#xmlDtdxmlDtd ;
typedef struct _xmlAttribute 
#xmlAttributexmlAttribute ;
typedef 
libxml2-tree.html#xmlOutputBufferxmlOutputBuffer  * #xmlOutputBufferPtrxmlOutputBufferPtr ;
typedef 
libxml2-tree.html#xmlSAXHandlerxmlSAXHandler  * #xmlSAXHandlerPtrxmlSAXHandlerPtr ;
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlDocCopyNodexmlDocCopyNode 		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int extended);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocRawNodexmlNewDocRawNode 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlGetPropxmlGetProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlNewNsPropEatNamexmlNewNsPropEatName 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewCDataBlockxmlNewCDataBlock 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
void	
#xmlBufferWriteCHARxmlBufferWriteCHAR 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlNodeGetBasexmlNodeGetBase 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
void	
#xmlBufferEmptyxmlBufferEmpty 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlBuildQNamexmlBuildQName 		(const libxml2-xmlstring.html#xmlCharxmlChar  * ncname, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml2-xmlstring.html#xmlCharxmlChar  * memory, 					 int len);
int	
#xmlSaveFormatFileEncxmlSaveFormatFileEnc 		(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding, 					 int format);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlAddSiblingxmlAddSibling 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	#xmlBufferCreatexmlBufferCreate 		(void);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocFragmentxmlNewDocFragment 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlDocGetRootElementxmlDocGetRootElement 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlStringGetNodeListxmlStringGetNodeList 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlValidateNamexmlValidateName 			(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space);
void	
#xmlSetBufferAllocationSchemexmlSetBufferAllocationScheme 	( libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme  scheme);
int	
#xmlValidateQNamexmlValidateQName 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlHasNsPropxmlHasNsProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlAddPrevSiblingxmlAddPrevSibling 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
int	
#xmlBufferAddHeadxmlBufferAddHead 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 int len);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewPIxmlNewPI 		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
void	
#xmlDocDumpFormatMemoryEncxmlDocDumpFormatMemoryEnc 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  out_doc, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** doc_txt_ptr, 					 int * doc_txt_len, 					 const char * txt_encoding, 					 int format);
int	
#xmlUnsetNsPropxmlUnsetNsProp 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
void	
#xmlElemDumpxmlElemDump 			(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
int	
#xmlSaveFormatFileToxmlSaveFormatFileTo 		( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding, 					 int format);
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	#xmlGetIntSubsetxmlGetIntSubset 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
int	
#xmlNodeBufGetContentxmlNodeBufGetContent 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buffer, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
void	
#xmlBufferWriteCharxmlBufferWriteChar 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const char * string);
void	
#xmlBufferFreexmlBufferFree 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewNodexmlNewNode 		( libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlSaveFileToxmlSaveFileTo 			( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewTextLenxmlNewTextLen 		(const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewTextChildxmlNewTextChild 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
void	
#xmlNodeSetContentxmlNodeSetContent 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
int	
#xmlBufferAddxmlBufferAdd 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 int len);
void	
#xmlNodeDumpOutputxmlNodeDumpOutput 		( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int level, 					 int format, 					 const char * encoding);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlCopyNamespacexmlCopyNamespace 	( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlSearchNsByHrefxmlSearchNsByHref 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlAddChildxmlAddChild 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
int	
#xmlReconciliateNsxmlReconciliateNs 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  tree);
int	
#xmlValidateNCNamexmlValidateNCName 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocCommentxmlNewDocComment 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
int	
#xmlGetCompressModexmlGetCompressMode 		(void);
int	
#xmlNodeDumpxmlNodeDump 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int level, 					 int format);
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	#xmlBufferCreateSizexmlBufferCreateSize 	(size_t size);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlNodeListGetStringxmlNodeListGetString 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 int inLine);
void	
#xmlSetCompressModexmlSetCompressMode 		(int mode);
void	
#xmlSetTreeDocxmlSetTreeDoc 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  tree, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
int	
#xmlDOMWrapAdoptNodexmlDOMWrapAdoptNode 		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  sourceDoc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  destDoc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  destParent, 					 int options);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlCopyNodeListxmlCopyNodeList 		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocNodeEatNamexmlNewDocNodeEatName 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlAddChildListxmlAddChildList 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlGetNodePathxmlGetNodePath 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
void	
#xmlFreePropListxmlFreePropList 			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur);
void	
#xmlNodeAddContentxmlNodeAddContent 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlAddNextSiblingxmlAddNextSibling 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
int	
#xmlIsBlankNodexmlIsBlankNode 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlNewGlobalNsxmlNewGlobalNs 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix);
int	
#xmlBufferDumpxmlBufferDump 			(FILE * file, 					 libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlNodeGetContentxmlNodeGetContent 	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
libxml2-tree.html#xmlDocPtrxmlDocPtr 	#xmlCopyDocxmlCopyDoc 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int recursive);
libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr 	#xmlDOMWrapNewCtxtxmlDOMWrapNewCtxt 	(void);
void	
#xmlDocDumpMemoryEncxmlDocDumpMemoryEnc 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  out_doc, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** doc_txt_ptr, 					 int * doc_txt_len, 					 const char * txt_encoding);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlTextMergexmlTextMerge 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  first, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  second);
void	
#xmlDocDumpMemoryxmlDocDumpMemory 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** mem, 					 int * size);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocPIxmlNewDocPI 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
void	
#xmlFreeNsxmlFreeNs 			( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur);
int	
#xmlDocDumpxmlDocDump 			(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur);
void	
#xmlFreePropxmlFreeProp 			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlGetNoNsPropxmlGetNoNsProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlSplitQName2xmlSplitQName2 		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** prefix);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlNewPropxmlNewProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlTextConcatxmlTextConcat 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
int	
#xmlNodeGetSpacePreservexmlNodeGetSpacePreserve 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
int	
#xmlBufferShrinkxmlBufferShrink 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int len);
void	
#xmlNodeSetContentLenxmlNodeSetContentLen 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
void	
#xmlNodeAddContentLenxmlNodeAddContentLen 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
void	
#xmlBufferWriteQuotedStringxmlBufferWriteQuotedString 	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlCopyPropxmlCopyProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  target, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlReplaceNodexmlReplaceNode 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  old, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
void	
#xmlSetDocCompressModexmlSetDocCompressMode 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int mode);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlCopyNodexmlCopyNode 		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 int extended);
void	
#xmlUnlinkNodexmlUnlinkNode 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
const 
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlSplitQName3xmlSplitQName3 		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 int * len);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlDocSetRootElementxmlDocSetRootElement 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  root);
long	
#xmlGetLineNoxmlGetLineNo 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
const 
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlBufferContentxmlBufferContent 	(const libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf);
int	
#xmlRemovePropxmlRemoveProp 			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlNodeGetLangxmlNodeGetLang 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
int	
#xmlGetDocCompressModexmlGetDocCompressMode 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlGetNsPropxmlGetNsProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlNewDocPropxmlNewDocProp 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlFreeNodexmlFreeNode 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlNewNsPropxmlNewNsProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlDOMWrapFreeCtxtxmlDOMWrapFreeCtxt 		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt);
int	
#xmlValidateNMTokenxmlValidateNMToken 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space);
void	
#xmlBufferSetAllocationSchemexmlBufferSetAllocationScheme 	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme  scheme);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewChildxmlNewChild 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlSearchNsxmlSearchNs 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlStringLenGetNodeListxmlStringLenGetNodeList 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int len);
int	
#xmlSaveFormatFilexmlSaveFormatFile 		(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 int format);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlCopyPropListxmlCopyPropList 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  target, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur);
int	
#xmlDocFormatDumpxmlDocFormatDump 		(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 int format);
void	
#xmlNodeSetSpacePreservexmlNodeSetSpacePreserve 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int val);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlHasPropxmlHasProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlBufferCatxmlBufferCat 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str);
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	#xmlCreateIntSubsetxmlCreateIntSubset 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ExternalID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID);
libxml2-tree.html#xmlDocPtrxmlDocPtr 	#xmlNewDocxmlNewDoc 		(const libxml2-xmlstring.html#xmlCharxmlChar  * version);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewCharRefxmlNewCharRef 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlCopyNamespaceListxmlCopyNamespaceList 	( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewNodeEatNamexmlNewNodeEatName 	( libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlBufferResizexmlBufferResize 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int size);
void	
#xmlNodeSetBasexmlNodeSetBase 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * uri);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewCommentxmlNewComment 		(const libxml2-xmlstring.html#xmlCharxmlChar  * content);
int	
#xmlBufferLengthxmlBufferLength 			(const libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewTextxmlNewText 		(const libxml2-xmlstring.html#xmlCharxmlChar  * content);
int	
#xmlUnsetPropxmlUnsetProp 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme 	#xmlGetBufferAllocationSchemexmlGetBufferAllocationScheme 	(void);
int	
#xmlSaveFilexmlSaveFile 			(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlDocCopyNodeListxmlDocCopyNodeList 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
void	
#xmlSetNsxmlSetNs 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns);
libxml2-tree.html#xmlNsPtrxmlNsPtr 	#xmlNewNsxmlNewNs 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix);
int	
#xmlDOMWrapRemoveNodexmlDOMWrapRemoveNode 		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 int options);
void	
#xmlAttrSerializeTxtContentxmlAttrSerializeTxtContent 	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string);
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	#xmlCopyDtdxmlCopyDtd 		( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocTextxmlNewDocText 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlNodeListGetRawStringxmlNodeListGetRawString 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 int inLine);
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	#xmlBufferCreateStaticxmlBufferCreateStatic 	(void * mem, 					 size_t size);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewReferencexmlNewReference 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlDOMWrapReconcileNamespacesxmlDOMWrapReconcileNamespaces 	( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 int options);
int	
#xmlBufferCCatxmlBufferCCat 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const char * str);
libxml2-tree.html#xmlNsPtrxmlNsPtr  *	#xmlGetNsListxmlGetNsList 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
int	
#xmlBufferGrowxmlBufferGrow 			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int len);
int	
#xmlNodeIsTextxmlNodeIsText 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlSetPropxmlSetProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlIsXHTMLxmlIsXHTML 			(const libxml2-xmlstring.html#xmlCharxmlChar  * systemID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * publicID);
void	
#xmlNodeSetLangxmlNodeSetLang 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * lang);
void	
#xmlFreeDtdxmlFreeDtd 			( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  cur);
void	
#xmlFreeNodeListxmlFreeNodeList 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur);
void	
#xmlFreeDocxmlFreeDoc 			( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocNodexmlNewDocNode 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content);
int	
#xmlSaveFileEncxmlSaveFileEnc 			(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlSetNsPropxmlSetNsProp 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlDocDumpFormatMemoryxmlDocDumpFormatMemory 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** mem, 					 int * size, 					 int format);
void	
#xmlSetListDocxmlSetListDoc 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
void	
#xmlNodeSetNamexmlNodeSetName 			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlNewDocTextLenxmlNewDocTextLen 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len);
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	#xmlNewDtdxmlNewDtd 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ExternalID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID);
void	
#xmlFreeNsListxmlFreeNsList 			( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur);
libxml2-tree.html#xmlNodePtrxmlNodePtr 	#xmlGetLastChildxmlGetLastChild 		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent);
    
    
      
Description
    
    
      
Details
      
        
Macro BASE_BUFFER_SIZE
#define #BASE_BUFFER_SIZEBASE_BUFFER_SIZE ;
default buffer size 4000.
        
        
Macro XML_GET_CONTENT
#define #XML_GET_CONTENTXML_GET_CONTENT ;
Macro to extract the content pointer of a node.
        
        
Macro XML_GET_LINE
#define #XML_GET_LINEXML_GET_LINE ;
Macro to extract the line number of an element node.
        
        
Macro XML_LOCAL_NAMESPACE
#define #XML_LOCAL_NAMESPACEXML_LOCAL_NAMESPACE ;
A namespace declaration node.
        
        
Macro XML_XML_ID
#define #XML_XML_IDXML_XML_ID ;
This is the name for the special xml:id libxml2-SAX.html#attributeattribute 
        
        
Macro XML_XML_NAMESPACE
#define #XML_XML_NAMESPACEXML_XML_NAMESPACE ;
This is the namespace for the special xml: prefix predefined in the XML Namespace specification.
        
        
Macro xmlChildrenNode
#define #xmlChildrenNodexmlChildrenNode ;
Macro for compatibility naming layer with libxml1. Maps to "children."
        
        
Macro xmlRootNode
#define #xmlRootNodexmlRootNode ;
Macro for compatibility naming layer with libxml1. Maps to "children".
        
        
Structure xmlAttr
struct _xmlAttr {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_ATTRIBUTE_NODE, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the name of the property
    struct _xmlNode *	children	: the value of the property
    struct _xmlNode *	last	: NULL
    struct _xmlNode *	parent	: child->parent link
    struct _xmlAttr *	next	: next sibling link
    struct _xmlAttr *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    
libxml2-tree.html#xmlNsxmlNs  *	ns	: pointer to the associated namespace
    
libxml2-tree.html#xmlAttributeTypexmlAttributeType 	atype	: the libxml2-SAX.html#attributeattribute  type if validating
    void *	psvi	: for type/PSVI informations
} xmlAttr;
        
        
Typedef xmlAttrPtr
libxml2-tree.html#xmlAttrxmlAttr  * xmlAttrPtr;
        
        
Structure xmlAttribute
struct _xmlAttribute {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_ATTRIBUTE_DECL, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Attribute name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -> DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    struct _xmlAttribute *	nexth	: next in hash table
    
libxml2-tree.html#xmlAttributeTypexmlAttributeType 	atype	: The libxml2-SAX.html#attributeattribute  type
    
libxml2-tree.html#xmlAttributeDefaultxmlAttributeDefault 	def	: the default
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	defaultValue	: or the default value
    
libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	tree	: or the enumeration tree if any
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	prefix	: the namespace prefix if any
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	elem	: Element holding the libxml2-SAX.html#attributeattribute } xmlAttribute;
        
        
Enum xmlAttributeDefault
enum #xmlAttributeDefaultxmlAttributeDefault  {
    
XML_ATTRIBUTE_NONE  = 1
    
XML_ATTRIBUTE_REQUIRED  = 2
    
XML_ATTRIBUTE_IMPLIED  = 3
    
XML_ATTRIBUTE_FIXED  = 4
};
        
        
Typedef xmlAttributePtr
libxml2-tree.html#xmlAttributexmlAttribute  * xmlAttributePtr;
        
        
Enum xmlAttributeType
enum #xmlAttributeTypexmlAttributeType  {
    
XML_ATTRIBUTE_CDATA  = 1
    
XML_ATTRIBUTE_ID  = 2
    
XML_ATTRIBUTE_IDREF  = 3
    
XML_ATTRIBUTE_IDREFS  = 4
    
XML_ATTRIBUTE_ENTITY  = 5
    
XML_ATTRIBUTE_ENTITIES  = 6
    
XML_ATTRIBUTE_NMTOKEN  = 7
    
XML_ATTRIBUTE_NMTOKENS  = 8
    
XML_ATTRIBUTE_ENUMERATION  = 9
    
XML_ATTRIBUTE_NOTATION  = 10
};
        
        
Structure xmlBuffer
struct _xmlBuffer {
    
libxml2-xmlstring.html#xmlCharxmlChar  *	content	: The buffer content UTF8
    unsigned int	use	: The buffer size used
    unsigned int	size	: The buffer size
    
libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme 	alloc	: The realloc method
} xmlBuffer;
        
        
Enum xmlBufferAllocationScheme
enum #xmlBufferAllocationSchemexmlBufferAllocationScheme  {
    
XML_BUFFER_ALLOC_DOUBLEIT  = 1
    
XML_BUFFER_ALLOC_EXACT  = 2
    
XML_BUFFER_ALLOC_IMMUTABLE  = 3
};
        
        
Typedef xmlBufferPtr
libxml2-tree.html#xmlBufferxmlBuffer  * xmlBufferPtr;
        
        
Structure xmlDOMWrapCtxt
struct _xmlDOMWrapCtxt {
    void *	_private
} xmlDOMWrapCtxt;
        
        
Typedef xmlDOMWrapCtxtPtr
libxml2-tree.html#xmlDOMWrapCtxtxmlDOMWrapCtxt  * xmlDOMWrapCtxtPtr;
        
        
Structure xmlDoc
struct _xmlDoc {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_DOCUMENT_NODE, must be second !
    char *	name	: name/filename/URI of the document
    struct _xmlNode *	children	: the document tree
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child->parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: autoreference to itself End of common part
    int	compression	: level of zlib compression
    int	standalone	: standalone document (no external refs)
    struct _xmlDtd *	intSubset	: the document internal subset
    struct _xmlDtd *	extSubset	: the document external subset
    struct _xmlNs *	oldNs	: Global namespace, the old way
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	version	: the XML version string
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	encoding	: external initial encoding, if any
    void *	ids	: Hash table for ID attributes if any
    void *	refs	: Hash table for IDREFs attributes if any
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	URL	: The URI for that document
    int	charset	: encoding of the in-memory content actually an 
libxml2-encoding.html#xmlCharEncodingxmlCharEncoding     struct _xmlDict *	dict	: dict used to allocate names or NULL
    void *	psvi	: for type/PSVI informations
} xmlDoc;
        
        
Typedef xmlDocPtr
libxml2-tree.html#xmlDocxmlDoc  * xmlDocPtr;
        
        
Structure xmlDtd
struct _xmlDtd {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_DTD_NODE, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Name of the DTD
    struct _xmlNode *	children	: the value of the property link
    struct _xmlNode *	last	: last child link
    struct _xmlDoc *	parent	: child->parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    void *	notations	: Hash table for notations if any
    void *	elements	: Hash table for elements if any
    void *	attributes	: Hash table for attributes if any
    void *	entities	: Hash table for entities if any
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	ExternalID	: External identifier for PUBLIC DTD
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	SystemID	: URI for a SYSTEM or PUBLIC DTD
    void *	pentities	: Hash table for param entities if any
} xmlDtd;
        
        
Typedef xmlDtdPtr
libxml2-tree.html#xmlDtdxmlDtd  * xmlDtdPtr;
        
        
Structure xmlElement
struct _xmlElement {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_ELEMENT_DECL, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Element name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -> DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    
libxml2-tree.html#xmlElementTypeValxmlElementTypeVal 	etype	: The type
    
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	content	: the allowed element content
    
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	attributes	: List of the declared attributes
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	prefix	: the namespace prefix if any
    
libxml2-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr 	contModel	: the validating regexp
    void *	contModel
} xmlElement;
        
        
Structure xmlElementContent
struct _xmlElementContent {
    
libxml2-tree.html#xmlElementContentTypexmlElementContentType 	type	: PCDATA, ELEMENT, SEQ or OR
    
libxml2-tree.html#xmlElementContentOccurxmlElementContentOccur 	ocur	: ONCE, OPT, MULT or PLUS
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Element name
    struct _xmlElementContent *	c1	: first child
    struct _xmlElementContent *	c2	: second child
    struct _xmlElementContent *	parent	: parent
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	prefix	: Namespace prefix
} xmlElementContent;
        
        
Enum xmlElementContentOccur
enum #xmlElementContentOccurxmlElementContentOccur  {
    
XML_ELEMENT_CONTENT_ONCE  = 1
    
XML_ELEMENT_CONTENT_OPT  = 2
    
XML_ELEMENT_CONTENT_MULT  = 3
    
XML_ELEMENT_CONTENT_PLUS  = 4
};
        
        
Typedef xmlElementContentPtr
libxml2-tree.html#xmlElementContentxmlElementContent  * xmlElementContentPtr;
        
        
Enum xmlElementContentType
enum #xmlElementContentTypexmlElementContentType  {
    
XML_ELEMENT_CONTENT_PCDATA  = 1
    
XML_ELEMENT_CONTENT_ELEMENT  = 2
    
XML_ELEMENT_CONTENT_SEQ  = 3
    
XML_ELEMENT_CONTENT_OR  = 4
};
        
        
Typedef xmlElementPtr
libxml2-tree.html#xmlElementxmlElement  * xmlElementPtr;
        
        
Enum xmlElementType
enum #xmlElementTypexmlElementType  {
    
XML_ELEMENT_NODE  = 1
    
XML_ATTRIBUTE_NODE  = 2
    
XML_TEXT_NODE  = 3
    
XML_CDATA_SECTION_NODE  = 4
    
XML_ENTITY_REF_NODE  = 5
    
XML_ENTITY_NODE  = 6
    
XML_PI_NODE  = 7
    
XML_COMMENT_NODE  = 8
    
XML_DOCUMENT_NODE  = 9
    
XML_DOCUMENT_TYPE_NODE  = 10
    
XML_DOCUMENT_FRAG_NODE  = 11
    
XML_NOTATION_NODE  = 12
    
XML_HTML_DOCUMENT_NODE  = 13
    
XML_DTD_NODE  = 14
    
XML_ELEMENT_DECL  = 15
    
XML_ATTRIBUTE_DECL  = 16
    
XML_ENTITY_DECL  = 17
    
XML_NAMESPACE_DECL  = 18
    
XML_XINCLUDE_START  = 19
    
XML_XINCLUDE_END  = 20
    
XML_DOCB_DOCUMENT_NODE  = 21
};
        
        
Enum xmlElementTypeVal
enum #xmlElementTypeValxmlElementTypeVal  {
    
XML_ELEMENT_TYPE_UNDEFINED  = 0
    
XML_ELEMENT_TYPE_EMPTY  = 1
    
XML_ELEMENT_TYPE_ANY  = 2
    
XML_ELEMENT_TYPE_MIXED  = 3
    
XML_ELEMENT_TYPE_ELEMENT  = 4
};
        
        
Structure xmlEntity
struct _xmlEntity {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: XML_ENTITY_DECL, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Entity name
    struct _xmlNode *	children	: First child link
    struct _xmlNode *	last	: Last child link
    struct _xmlDtd *	parent	: -> DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    
libxml2-xmlstring.html#xmlCharxmlChar  *	orig	: content without ref substitution
    
libxml2-xmlstring.html#xmlCharxmlChar  *	content	: content or ndata if unparsed
    int	length	: the content length
    
libxml2-entities.html#xmlEntityTypexmlEntityType 	etype	: The entity type
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	ExternalID	: External identifier for PUBLIC
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	SystemID	: URI for a SYSTEM or PUBLIC Entity
    struct _xmlEntity *	nexte	: unused
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	URI	: the full URI as computed
    int	owner	: does the entity own the childrens
} xmlEntity;
        
        
Typedef xmlEntityPtr
libxml2-tree.html#xmlEntityxmlEntity  * xmlEntityPtr;
        
        
Structure xmlEnumeration
struct _xmlEnumeration {
    struct _xmlEnumeration *	next	: next one
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Enumeration name
} xmlEnumeration;
        
        
Typedef xmlEnumerationPtr
libxml2-tree.html#xmlEnumerationxmlEnumeration  * xmlEnumerationPtr;
        
        
Structure xmlID
struct _xmlID {
    struct _xmlID *	next	: next ID
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	value	: The ID name
    
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	attr	: The libxml2-SAX.html#attributeattribute  holding it
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: The libxml2-SAX.html#attributeattribute  if attr is not available
    int	lineno	: The line number if attr is not available
    struct _xmlDoc *	doc	: The document holding the ID
} xmlID;
        
        
Typedef xmlIDPtr
libxml2-tree.html#xmlIDxmlID  * xmlIDPtr;
        
        
Structure xmlNode
struct _xmlNode {
    void *	_private	: application data
    
libxml2-tree.html#xmlElementTypexmlElementType 	type	: type number, must be second !
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: the name of the node, or the entity
    struct _xmlNode *	children	: parent->childs link
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child->parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    
libxml2-tree.html#xmlNsxmlNs  *	ns	: pointer to the associated namespace
    
libxml2-xmlstring.html#xmlCharxmlChar  *	content	: the content
    struct _xmlAttr *	properties	: properties list
    
libxml2-tree.html#xmlNsxmlNs  *	nsDef	: namespace definitions on this node
    void *	psvi	: for type/PSVI informations
    unsigned short	line	: line number
    unsigned short	extra	: extra data for XPath/XSLT
} xmlNode;
        
        
Typedef xmlNodePtr
libxml2-tree.html#xmlNodexmlNode  * xmlNodePtr;
        
        
Structure xmlNotation
struct _xmlNotation {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Notation name
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	PublicID	: Public identifier, if any
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	SystemID	: System identifier, if any
} xmlNotation;
        
        
Typedef xmlNotationPtr
libxml2-tree.html#xmlNotationxmlNotation  * xmlNotationPtr;
        
        
Structure xmlNs
struct _xmlNs {
    struct _xmlNs *	next	: next Ns link for this node
    
libxml2-tree.html#xmlNsTypexmlNsType 	type	: global or local
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	href	: URL for the namespace
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	prefix	: prefix for the namespace
    void *	_private	: application data
} xmlNs;
        
        
Typedef xmlNsPtr
libxml2-tree.html#xmlNsxmlNs  * xmlNsPtr;
        
        
Typedef xmlNsType
libxml2-tree.html#xmlElementTypexmlElementType  xmlNsType;
        
        
Structure xmlOutputBuffer
struct _xmlOutputBuffer {
    void *	context
    
libxml2-xmlIO.html#xmlOutputWriteCallbackxmlOutputWriteCallback 	writecallback
    
libxml2-xmlIO.html#xmlOutputCloseCallbackxmlOutputCloseCallback 	closecallback
    
libxml2-encoding.html#xmlCharEncodingHandlerPtrxmlCharEncodingHandlerPtr 	encoder	: I18N conversions to UTF-8
    
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	buffer	: Local buffer encoded in UTF-8 or ISOLatin
    
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	conv	: if encoder != NULL buffer for output
    int	written	: total number of byte written
    int	error
} xmlOutputBuffer;
        
        
Typedef xmlOutputBufferPtr
libxml2-tree.html#xmlOutputBufferxmlOutputBuffer  * xmlOutputBufferPtr;
        
        
Structure xmlParserCtxt
struct _xmlParserCtxt {
    struct _xmlSAXHandler *	sax	: The SAX handler
    void *	userData	: For SAX interface only, used by DOM build
    
libxml2-tree.html#xmlDocPtrxmlDocPtr 	myDoc	: the document being built
    int	wellFormed	: is the document well formed
    int	replaceEntities	: shall we replace entities ?
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	version	: the XML version string
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	encoding	: the declared encoding, if any
    int	standalone	: standalone document
    int	html	: an HTML(1)/Docbook(2) document Input stream stack
    
libxml2-tree.html#xmlParserInputPtrxmlParserInputPtr 	input	: Current input stream
    int	inputNr	: Number of current input streams
    int	inputMax	: Max number of input streams
    
libxml2-tree.html#xmlParserInputPtrxmlParserInputPtr  *	inputTab	: stack of inputs Node analysis stack only used for DOM building
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    
libxml2-tree.html#xmlNodePtrxmlNodePtr  *	nodeTab	: array of nodes
    int	record_info	: Whether node info should be kept
    
libxml2-parser.html#xmlParserNodeInfoSeqxmlParserNodeInfoSeq 	node_seq	: info about each node parsed
    int	errNo	: error code
    int	hasExternalSubset	: 
libxml2-SAX.html#referencereference  and external subset
    int	hasPErefs	: the internal subset has PE refs
    int	external	: are we parsing an external entity
    int	valid	: is the document valid
    int	validate	: shall we try to validate ?
    
libxml2-valid.html#xmlValidCtxtxmlValidCtxt 	vctxt	: The validity context
    
libxml2-parser.html#xmlParserInputStatexmlParserInputState 	instate	: current type of input
    int	token	: next char look-ahead
    char *	directory	: the data directory Node name stack
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: Current parsed Node
    int	nameNr	: Depth of the parsing stack
    int	nameMax	: Max depth of the parsing stack
    const 
libxml2-xmlstring.html#xmlCharxmlChar  * *	nameTab	: array of nodes
    long	nbChars	: number of 
libxml2-xmlstring.html#xmlCharxmlChar  processed
    long	checkIndex	: used by progressive parsing lookup
    int	keepBlanks	: ugly but ...
    int	disableSAX	: SAX callbacks are disabled
    int	inSubset	: Parsing is in int 1/ext 2 subset
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	intSubName	: name of subset
    
libxml2-xmlstring.html#xmlCharxmlChar  *	extSubURI	: URI of external subset
    
libxml2-xmlstring.html#xmlCharxmlChar  *	extSubSystem	: SYSTEM ID of external subset xml:space values
    int *	space	: Should the parser preserve spaces
    int	spaceNr	: Depth of the parsing stack
    int	spaceMax	: Max depth of the parsing stack
    int *	spaceTab	: array of space infos
    int	depth	: to prevent entity substitution loops
    
libxml2-tree.html#xmlParserInputPtrxmlParserInputPtr 	entity	: used to check entities boundaries
    int	charset	: encoding of the in-memory content actually an 
libxml2-encoding.html#xmlCharEncodingxmlCharEncoding     int	nodelen	: Those two fields are there to
    int	nodemem	: Speed up large node parsing
    int	pedantic	: signal pedantic warnings
    void *	_private	: For user data, libxml won't touch it
    int	loadsubset	: should the external subset be loaded
    int	linenumbers	: set line number in element content
    void *	catalogs	: document's own catalog
    int	recovery	: run in recovery mode
    int	progressive	: is this a progressive parsing
    
libxml2-dict.html#xmlDictPtrxmlDictPtr 	dict	: dictionnary for the parser
    const 
libxml2-xmlstring.html#xmlCharxmlChar  * *	atts	: array for the attributes callbacks
    int	maxatts	: the size of the array
    int	docdict	: * pre-interned strings *
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	str_xml
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	str_xmlns
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	str_xml_ns	: * Everything below is used only by the new SAX mode *
    int	sax2	: operating in the new SAX mode
    int	nsNr	: the number of inherited namespaces
    int	nsMax	: the size of the arrays
    const 
libxml2-xmlstring.html#xmlCharxmlChar  * *	nsTab	: the array of prefix/namespace name
    int *	attallocs	: which 
libxml2-SAX.html#attributeattribute  were allocated
    void * *	pushTab	: array of data for push
    
libxml2-hash.html#xmlHashTablePtrxmlHashTablePtr 	attsDefault	: defaulted attributes if any
    
libxml2-hash.html#xmlHashTablePtrxmlHashTablePtr 	attsSpecial	: non-CDATA attributes if any
    int	nsWellFormed	: is the document XML Nanespace okay
    int	options	: * Those fields are needed only for treaming parsing so far *
    int	dictNames	: Use dictionary names for the tree
    int	freeElemsNr	: number of freed element nodes
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	freeElems	: List of freed element nodes
    int	freeAttrsNr	: number of freed attributes nodes
    
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	freeAttrs	: * the complete error informations for the last error. *
    
libxml2-xmlerror.html#xmlErrorxmlError 	lastError
    
libxml2-parser.html#xmlParserModexmlParserMode 	parseMode	: the parser mode
} xmlParserCtxt;
        
        
Typedef xmlParserCtxtPtr
libxml2-tree.html#xmlParserCtxtxmlParserCtxt  * xmlParserCtxtPtr;
        
        
Structure xmlParserInput
struct _xmlParserInput {
    
libxml2-tree.html#xmlParserInputBufferPtrxmlParserInputBufferPtr 	buf	: UTF-8 encoded buffer
    const char *	filename	: The file analyzed, if any
    const char *	directory	: the directory/base of the file
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	base	: Base of the array to parse
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	cur	: Current char being parsed
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	end	: end of the array to parse
    int	length	: length if known
    int	line	: Current line
    int	col	: * NOTE: consumed is only tested for equality in the parser code, *
    unsigned long	consumed	: How many xmlChars already consumed
    
libxml2-parser.html#xmlParserInputDeallocatexmlParserInputDeallocate 	free	: function to deallocate the base
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	encoding	: the encoding string for entity
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	version	: the version string for entity
    int	standalone	: Was that entity marked standalone
    int	id	: an unique identifier for the entity
} xmlParserInput;
        
        
Structure xmlParserInputBuffer
struct _xmlParserInputBuffer {
    void *	context
    
libxml2-xmlIO.html#xmlInputReadCallbackxmlInputReadCallback 	readcallback
    
libxml2-xmlIO.html#xmlInputCloseCallbackxmlInputCloseCallback 	closecallback
    
libxml2-encoding.html#xmlCharEncodingHandlerPtrxmlCharEncodingHandlerPtr 	encoder	: I18N conversions to UTF-8
    
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	buffer	: Local buffer encoded in UTF-8
    
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	raw	: if encoder != NULL buffer for raw input
    int	compressed	: -1=unknown, 0=not compressed, 1=compressed
    int	error
    unsigned long	rawconsumed	: amount consumed from raw
} xmlParserInputBuffer;
        
        
Typedef xmlParserInputBufferPtr
libxml2-tree.html#xmlParserInputBufferxmlParserInputBuffer  * xmlParserInputBufferPtr;
        
        
Typedef xmlParserInputPtr
libxml2-tree.html#xmlParserInputxmlParserInput  * xmlParserInputPtr;
        
        
Structure xmlRef
struct _xmlRef {
    struct _xmlRef *	next	: next Ref
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	value	: The Ref name
    
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	attr	: The libxml2-SAX.html#attributeattribute  holding it
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *	name	: The libxml2-SAX.html#attributeattribute  if attr is not available
    int	lineno	: The line number if attr is not available
} xmlRef;
        
        
Typedef xmlRefPtr
libxml2-tree.html#xmlRefxmlRef  * xmlRefPtr;
        
        
Structure xmlSAXHandler
struct _xmlSAXHandler {
    
libxml2-parser.html#internalSubsetSAXFuncinternalSubsetSAXFunc 	internalSubset
    
libxml2-parser.html#isStandaloneSAXFuncisStandaloneSAXFunc 	isStandalone
    
libxml2-parser.html#hasInternalSubsetSAXFunchasInternalSubsetSAXFunc 	hasInternalSubset
    
libxml2-parser.html#hasExternalSubsetSAXFunchasExternalSubsetSAXFunc 	hasExternalSubset
    
libxml2-parser.html#resolveEntitySAXFuncresolveEntitySAXFunc 	resolveEntity
    
libxml2-parser.html#getEntitySAXFuncgetEntitySAXFunc 	getEntity
    
libxml2-parser.html#entityDeclSAXFuncentityDeclSAXFunc 	entityDecl
    
libxml2-parser.html#notationDeclSAXFuncnotationDeclSAXFunc 	notationDecl
    
libxml2-parser.html#attributeDeclSAXFuncattributeDeclSAXFunc 	attributeDecl
    
libxml2-parser.html#elementDeclSAXFuncelementDeclSAXFunc 	elementDecl
    
libxml2-parser.html#unparsedEntityDeclSAXFuncunparsedEntityDeclSAXFunc 	unparsedEntityDecl
    
libxml2-parser.html#setDocumentLocatorSAXFuncsetDocumentLocatorSAXFunc 	setDocumentLocator
    
libxml2-parser.html#startDocumentSAXFuncstartDocumentSAXFunc 	startDocument
    
libxml2-parser.html#endDocumentSAXFuncendDocumentSAXFunc 	endDocument
    
libxml2-parser.html#startElementSAXFuncstartElementSAXFunc 	startElement
    
libxml2-parser.html#endElementSAXFuncendElementSAXFunc 	endElement
    
libxml2-parser.html#referenceSAXFuncreferenceSAXFunc 	reference
    
libxml2-parser.html#charactersSAXFunccharactersSAXFunc 	characters
    
libxml2-parser.html#ignorableWhitespaceSAXFuncignorableWhitespaceSAXFunc 	ignorableWhitespace
    
libxml2-parser.html#processingInstructionSAXFuncprocessingInstructionSAXFunc 	processingInstruction
    
libxml2-parser.html#commentSAXFunccommentSAXFunc 	comment
    
libxml2-parser.html#warningSAXFuncwarningSAXFunc 	warning
    
libxml2-parser.html#errorSAXFuncerrorSAXFunc 	error
    
libxml2-parser.html#fatalErrorSAXFuncfatalErrorSAXFunc 	fatalError	: unused error() get all the errors
    
libxml2-parser.html#getParameterEntitySAXFuncgetParameterEntitySAXFunc 	getParameterEntity
    
libxml2-parser.html#cdataBlockSAXFunccdataBlockSAXFunc 	cdataBlock
    
libxml2-parser.html#externalSubsetSAXFuncexternalSubsetSAXFunc 	externalSubset
    unsigned int	initialized	: The following fields are extensions available only on version 2
    void *	_private
    
libxml2-parser.html#startElementNsSAX2FuncstartElementNsSAX2Func 	startElementNs
    
libxml2-parser.html#endElementNsSAX2FuncendElementNsSAX2Func 	endElementNs
    
libxml2-xmlerror.html#xmlStructuredErrorFuncxmlStructuredErrorFunc 	serror
} xmlSAXHandler;
        
        
Typedef xmlSAXHandlerPtr
libxml2-tree.html#xmlSAXHandlerxmlSAXHandler  * xmlSAXHandlerPtr;
        
        
Structure xmlSAXLocator
struct _xmlSAXLocator {
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *(*getPublicId)	getPublicId
    const 
libxml2-xmlstring.html#xmlCharxmlChar  *(*getSystemId)	getSystemId
    int(*getLineNumber)	getLineNumber
    int(*getColumnNumber)	getColumnNumber
} xmlSAXLocator;
        
        
Typedef xmlSAXLocatorPtr
libxml2-tree.html#xmlSAXLocatorxmlSAXLocator  * xmlSAXLocatorPtr;
        
        
xmlAddChild ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlAddChild		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an libxml2-SAX.html#attributeattribute  with equal name, it is first destroyed.
parent: the parent node cur: the child node Returns: the child or NULL in case of error.         
        
xmlAddChildList ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlAddChildList		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed)
parent: the parent node cur: the first node in the list Returns: the last child or NULL in case of error.         
        
xmlAddNextSibling ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlAddNextSibling	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem)Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an libxml2-SAX.html#attributeattribute  with equal name, it is first destroyed.
cur: the child node elem: the new node Returns: the new node or NULL in case of error.         
        
xmlAddPrevSibling ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlAddPrevSibling	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem)Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an libxml2-SAX.html#attributeattribute  with equal name, it is first destroyed.
cur: the child node elem: the new node Returns: the new node or NULL in case of error.         
        
xmlAddSibling ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlAddSibling		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem)Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.
cur: the child node elem: the new node Returns: the new element or NULL in case of error.         
        
xmlAttrSerializeTxtContent ()
void	xmlAttrSerializeTxtContent	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string)Serialize text libxml2-SAX.html#attributeattribute  values to an xml simple buffer
buf: the XML buffer output doc: the document attr: the libxml2-SAX.html#attributeattribute  node string: the text content         
        
xmlBufferAdd ()
int	xmlBufferAdd			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 int len)Add a string range to an XML buffer. if len == -1, the length of str is recomputed.
buf: the buffer to dump str: the #xmlChar string len: the number of #xmlChar to add Returns: 0 successful, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlBufferAddHead ()
int	xmlBufferAddHead		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str, 					 int len)Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.
buf: the buffer str: the #xmlChar string len: the number of #xmlChar to add Returns: 0 successful, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlBufferCCat ()
int	xmlBufferCCat			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const char * str)Append a zero terminated C string to an XML buffer.
buf: the buffer to dump str: the C char string Returns: 0 successful, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlBufferCat ()
int	xmlBufferCat			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * str)Append a zero terminated string to an XML buffer.
buf: the buffer to add to str: the #xmlChar string Returns: 0 successful, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlBufferContent ()
const libxml2-xmlstring.html#xmlCharxmlChar  *	xmlBufferContent	(const libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf)Function to extract the content of a buffer
buf: the buffer Returns: the internal content         
        
xmlBufferCreate ()
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	xmlBufferCreate		(void)routine to create an XML buffer.
Returns: the new structure.         
        
xmlBufferCreateSize ()
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	xmlBufferCreateSize	(size_t size)routine to create an XML buffer.
size: initial size of buffer Returns: the new structure.         
        
xmlBufferCreateStatic ()
libxml2-tree.html#xmlBufferPtrxmlBufferPtr 	xmlBufferCreateStatic	(void * mem, 					 size_t size)routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.
mem: the memory area size: the size in byte Returns: the new structure.         
        
xmlBufferDump ()
int	xmlBufferDump			(FILE * file, 					 libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf)Dumps an XML buffer to a FILE *.
file: the file output buf: the buffer to dump Returns: the number of #xmlChar written         
        
xmlBufferEmpty ()
void	xmlBufferEmpty			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf)empty a buffer.
buf: the buffer         
        
xmlBufferFree ()
void	xmlBufferFree			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf)Frees an XML buffer. It frees both the content and the structure which encapsulate it.
buf: the buffer to free         
        
xmlBufferGrow ()
int	xmlBufferGrow			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int len)Grow the available space of an XML buffer.
buf: the buffer len: the minimum free size to allocate Returns: the new available space or -1 in case of error         
        
xmlBufferLength ()
int	xmlBufferLength			(const libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf)Function to get the length of a buffer
buf: the buffer Returns: the length of data in the internal content         
        
xmlBufferResize ()
int	xmlBufferResize			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int size)Resize a buffer to accommodate minimum size of @size.
buf: the buffer to resize size: the desired size Returns: 0 in case of problems, 1 otherwise         
        
xmlBufferSetAllocationScheme ()
void	xmlBufferSetAllocationScheme	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme  scheme)Sets the allocation scheme for this buffer
buf: the buffer to tune scheme: allocation scheme to use         
        
xmlBufferShrink ()
int	xmlBufferShrink			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 unsigned int len)Remove the beginning of an XML buffer.
buf: the buffer to dump len: the number of libxml2-xmlstring.html#xmlCharxmlChar  to remove Returns: the number of #xmlChar removed, or -1 in case of failure.         
        
xmlBufferWriteCHAR ()
void	xmlBufferWriteCHAR		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string)routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.
buf: the XML buffer string: the string to add         
        
xmlBufferWriteChar ()
void	xmlBufferWriteChar		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const char * string)routine which manage and grows an output buffer. This one add C chars at the end of the array.
buf: the XML buffer output string: the string to add         
        
xmlBufferWriteQuotedString ()
void	xmlBufferWriteQuotedString	( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * string)routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally
buf: the XML buffer output string: the string to add         
        
xmlBuildQName ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlBuildQName		(const libxml2-xmlstring.html#xmlCharxmlChar  * ncname, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml2-xmlstring.html#xmlCharxmlChar  * memory, 					 int len)Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.
ncname: the Name prefix: the prefix memory: preallocated memory len: preallocated memory length Returns: the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error         
        
xmlCopyDoc ()
libxml2-tree.html#xmlDocPtrxmlDocPtr 	xmlCopyDoc		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int recursive)Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.
doc: the document recursive: if not zero do a recursive copy. Returns: a new #xmlDocPtr, or NULL in case of error.         
        
xmlCopyDtd ()
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	xmlCopyDtd		( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd)Do a copy of the dtd.
dtd: the dtd Returns: a new #xmlDtdPtr, or NULL in case of error.         
        
xmlCopyNamespace ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlCopyNamespace	( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur)Do a copy of the namespace.
cur: the namespace Returns: a new #xmlNsPtr, or NULL in case of error.         
        
xmlCopyNamespaceList ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlCopyNamespaceList	( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur)Do a copy of an namespace list.
cur: the first namespace Returns: a new #xmlNsPtr, or NULL in case of error.         
        
xmlCopyNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlCopyNode		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 int extended)Do a copy of the node.
node: the node extended: if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) Returns: a new #xmlNodePtr, or NULL in case of error.         
        
xmlCopyNodeList ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlCopyNodeList		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.
node: the first node in the list. Returns: a new #xmlNodePtr, or NULL in case of error.         
        
xmlCopyProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlCopyProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  target, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur)Do a copy of the attribute.
target: the element where the libxml2-SAX.html#attributeattribute  will be grafted cur: the libxml2-SAX.html#attributeattribute Returns: a new #xmlAttrPtr, or NULL in case of error.         
        
xmlCopyPropList ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlCopyPropList		( libxml2-tree.html#xmlNodePtrxmlNodePtr  target, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur)Do a copy of an libxml2-SAX.html#attributeattribute  list.
target: the element where the attributes will be grafted cur: the first libxml2-SAX.html#attributeattribute Returns: a new #xmlAttrPtr, or NULL in case of error.         
        
xmlCreateIntSubset ()
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	xmlCreateIntSubset	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ExternalID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID)Create the internal subset of a document
doc: the document pointer name: the DTD name ExternalID: the external (PUBLIC) ID SystemID: the system ID Returns: a pointer to the new DTD structure         
        
xmlDOMWrapAdoptNode ()
int	xmlDOMWrapAdoptNode		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  sourceDoc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  destDoc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  destParent, 					 int options)Ensures that ns-references point to @destDoc: either to elements->nsDef entries if @destParent is given, or to @destDoc->oldNs otherwise. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in libxml2-SAX.html#attributeattribute  values or element content. WARNING: This function is in a experimental state.
ctxt: the optional context for custom processing sourceDoc: the optional sourceDoc node: the node to start with destDoc: the destination doc destParent: the optional new parent of @node in @destDoc options: option flags Returns: 0 if succeeded, -1 otherwise and on API/internal errors.         
        
xmlDOMWrapFreeCtxt ()
void	xmlDOMWrapFreeCtxt		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt)Frees the DOM-wrapper context.
ctxt: the DOM-wrapper context         
        
xmlDOMWrapNewCtxt ()
libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr 	xmlDOMWrapNewCtxt	(void)Allocates and initializes a new DOM-wrapper context.
Returns: the libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  or NULL in case of an internal errror.         
        
xmlDOMWrapReconcileNamespaces ()
int	xmlDOMWrapReconcileNamespaces	( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 int options)Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in libxml2-SAX.html#attributeattribute  values or element content. WARNING: This function is in a experimental state.
ctxt: DOM wrapper context, unused at the moment elem: the element-node options: option flags Returns: 0 if succeeded, -1 otherwise and on API/internal errors.         
        
xmlDOMWrapRemoveNode ()
int	xmlDOMWrapRemoveNode		( libxml2-tree.html#xmlDOMWrapCtxtPtrxmlDOMWrapCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 int options)Unlinks the given node from its owner. This will substitute ns-references to node->nsDef for ns-references to doc->oldNs, thus ensuring the removed branch to be autark wrt ns-references. WARNING: This function is in a experimental state.
ctxt: a DOM wrapper context doc: the doc node: the node to be removed. options: set of options, unused at the moment Returns: 0 on success, 1 if the node is not supported, -1 on API and internal errors.         
        
xmlDocCopyNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlDocCopyNode		(const libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int extended)Do a copy of the node to a given document.
node: the node doc: the document extended: if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) Returns: a new #xmlNodePtr, or NULL in case of error.         
        
xmlDocCopyNodeList ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlDocCopyNodeList	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Do a recursive copy of the node list.
doc: the target document node: the first node in the list. Returns: a new #xmlNodePtr, or NULL in case of error.         
        
xmlDocDump ()
int	xmlDocDump			(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur)Dump an XML document to an open FILE.
f: the FILE* cur: the document Returns: the number of bytes written or -1 in case of failure.         
        
xmlDocDumpFormatMemory ()
void	xmlDocDumpFormatMemory		( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** mem, 					 int * size, 					 int format)Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called
cur: the document mem: OUT: the memory pointer size: OUT: the memory length format: should formatting spaces been added         
        
xmlDocDumpFormatMemoryEnc ()
void	xmlDocDumpFormatMemoryEnc	( libxml2-tree.html#xmlDocPtrxmlDocPtr  out_doc, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** doc_txt_ptr, 					 int * doc_txt_len, 					 const char * txt_encoding, 					 int format)Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called
out_doc: Document to generate XML text from doc_txt_ptr: Memory pointer for allocated XML text doc_txt_len: Length of the generated XML text txt_encoding: Character encoding to use when generating XML text format: should formatting spaces been added         
        
xmlDocDumpMemory ()
void	xmlDocDumpMemory		( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** mem, 					 int * size)Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.
cur: the document mem: OUT: the memory pointer size: OUT: the memory length         
        
xmlDocDumpMemoryEnc ()
void	xmlDocDumpMemoryEnc		( libxml2-tree.html#xmlDocPtrxmlDocPtr  out_doc, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** doc_txt_ptr, 					 int * doc_txt_len, 					 const char * txt_encoding)Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree().
out_doc: Document to generate XML text from doc_txt_ptr: Memory pointer for allocated XML text doc_txt_len: Length of the generated XML text txt_encoding: Character encoding to use when generating XML text         
        
xmlDocFormatDump ()
int	xmlDocFormatDump		(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 int format)Dump an XML document to an open FILE.
f: the FILE* cur: the document format: should formatting spaces been added Returns: the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called         
        
xmlDocGetRootElement ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlDocGetRootElement	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Get the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).
doc: the document Returns: the #xmlNodePtr for the root or NULL         
        
xmlDocSetRootElement ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlDocSetRootElement	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  root)Set the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...).
doc: the document root: the new document root element Returns: the old root element if any was found         
        
xmlElemDump ()
void	xmlElemDump			(FILE * f, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Dump an XML/HTML node, recursive behaviour, children are printed too.
f: the FILE * for the output doc: the document cur: the current node         
        
xmlFreeDoc ()
void	xmlFreeDoc			( libxml2-tree.html#xmlDocPtrxmlDocPtr  cur)Free up all the structures used by a document, tree included.
cur: pointer to the document         
        
xmlFreeDtd ()
void	xmlFreeDtd			( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  cur)Free a DTD structure.
cur: the DTD structure to free up         
        
xmlFreeNode ()
void	xmlFreeNode			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.
cur: the node         
        
xmlFreeNodeList ()
void	xmlFreeNodeList			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.
cur: the first node in the list         
        
xmlFreeNs ()
void	xmlFreeNs			( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur)Free up the structures associated to a namespace
cur: the namespace pointer         
        
xmlFreeNsList ()
void	xmlFreeNsList			( libxml2-tree.html#xmlNsPtrxmlNsPtr  cur)Free up all the structures associated to the chained namespaces.
cur: the first namespace pointer         
        
xmlFreeProp ()
void	xmlFreeProp			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur)Free one attribute, all the content is freed too
cur: an libxml2-SAX.html#attributeattribute         
        
xmlFreePropList ()
void	xmlFreePropList			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur)Free a property and all its siblings, all the children are freed too.
cur: the first property in the list         
        
xmlGetBufferAllocationScheme ()
libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme 	xmlGetBufferAllocationScheme	(void)Types are libxml2-tree.html#XML_BUFFER_ALLOC_EXACTXML_BUFFER_ALLOC_EXACT  - use exact sizes, keeps memory usage down libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEITXML_BUFFER_ALLOC_DOUBLEIT  - double buffer when extra needed, improves performance
Returns: the current allocation scheme         
        
xmlGetCompressMode ()
int	xmlGetCompressMode		(void)get the default compression mode used, ZLIB based.
Returns: 0 (uncompressed) to 9 (max compression)         
        
xmlGetDocCompressMode ()
int	xmlGetDocCompressMode		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)get the compression ratio for a document, ZLIB based
doc: the document Returns: 0 (uncompressed) to 9 (max compression)         
        
xmlGetIntSubset ()
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	xmlGetIntSubset		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Get the internal subset of a document
doc: the document pointer Returns: a pointer to the DTD structure or NULL if not found         
        
xmlGetLastChild ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlGetLastChild		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent)Search the last child of a node.
parent: the parent node Returns: the last child or NULL if none.         
        
xmlGetLineNo ()
long	xmlGetLineNo			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Get line number of @node. This requires activation of this option before invoking the parser by calling xmlLineNumbersDefault(1)
node: valid node Returns: the line number if successful, -1 otherwise         
        
xmlGetNoNsProp ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlGetNoNsProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search and get the value of an libxml2-SAX.html#attributeattribute  associated to a node This does the entity substitution. This function looks in DTD libxml2-SAX.html#attributeattribute  declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to libxml2-tree.html#xmlGetPropxmlGetProp  except it will accept only an libxml2-SAX.html#attributeattribute  in no namespace.
node: the node name: the libxml2-SAX.html#attributeattribute  name Returns: the libxml2-SAX.html#attributeattribute  value or NULL if not found. It's up to the caller to free the memory with xmlFree().         
        
xmlGetNodePath ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlGetNodePath		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Build a structure based Path for the given node
node: a node Returns: the new path or NULL in case of error. The caller must free the returned string         
        
xmlGetNsList ()
libxml2-tree.html#xmlNsPtrxmlNsPtr  *	xmlGetNsList		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Search all the namespace applying to a given element.
doc: the document node: the current node Returns: an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined         
        
xmlGetNsProp ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlGetNsProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace)Search and get the value of an libxml2-SAX.html#attributeattribute  associated to a node This libxml2-SAX.html#attributeattribute  has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD libxml2-SAX.html#attributeattribute  declaration for #FIXED or default declaration values unless DTD use has been turned off.
node: the node name: the libxml2-SAX.html#attributeattribute  name nameSpace: the URI of the namespace Returns: the libxml2-SAX.html#attributeattribute  value or NULL if not found. It's up to the caller to free the memory with xmlFree().         
        
xmlGetProp ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlGetProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search and get the value of an libxml2-SAX.html#attributeattribute  associated to a node This does the entity substitution. This function looks in DTD libxml2-SAX.html#attributeattribute  declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.
node: the node name: the libxml2-SAX.html#attributeattribute  name Returns: the libxml2-SAX.html#attributeattribute  value or NULL if not found. It's up to the caller to free the memory with xmlFree().         
        
xmlHasNsProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlHasNsProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace)Search for an libxml2-SAX.html#attributeattribute  associated to a node This libxml2-SAX.html#attributeattribute  has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD libxml2-SAX.html#attributeattribute  declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.
node: the node name: the libxml2-SAX.html#attributeattribute  name nameSpace: the URI of the namespace Returns: the libxml2-SAX.html#attributeattribute  or the libxml2-SAX.html#attributeattribute  declaration or NULL if neither was found.         
        
xmlHasProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlHasProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search an libxml2-SAX.html#attributeattribute  associated to a node This function also looks in DTD libxml2-SAX.html#attributeattribute  declaration for #FIXED or default declaration values unless DTD use has been turned off.
node: the node name: the libxml2-SAX.html#attributeattribute  name Returns: the libxml2-SAX.html#attributeattribute  or the libxml2-SAX.html#attributeattribute  declaration or NULL if neither was found.         
        
xmlIsBlankNode ()
int	xmlIsBlankNode			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.
node: the node Returns: 1 yes, 0 no         
        
xmlIsXHTML ()
int	xmlIsXHTML			(const libxml2-xmlstring.html#xmlCharxmlChar  * systemID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * publicID)Try to find if the document correspond to an XHTML DTD
systemID: the system identifier publicID: the public identifier Returns: 1 if true, 0 if not and -1 in case of error         
        
xmlNewCDataBlock ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewCDataBlock	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Creation of a new node containing a CDATA block.
doc: the document content: the CDATA block content content len: the length of the block Returns: a pointer to the new node object.         
        
xmlNewCharRef ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewCharRef		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Creation of a new character libxml2-SAX.html#referencereference  node.
doc: the document name: the char ref string, starting with # or "&# ... ;" Returns: a pointer to the new node object.         
        
xmlNewChild ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewChild		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.
parent: the parent node ns: a namespace if any name: the name of the child content: the XML content of the child if any. Returns: a pointer to the new node object.         
        
xmlNewComment ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewComment		(const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new node containing a comment.
content: the libxml2-SAX.html#commentcomment  content Returns: a pointer to the new node object.         
        
xmlNewDoc ()
libxml2-tree.html#xmlDocPtrxmlDocPtr 	xmlNewDoc		(const libxml2-xmlstring.html#xmlCharxmlChar  * version)Creates a new XML document
version: libxml2-xmlstring.html#xmlCharxmlChar  string giving the version of XML "1.0" Returns: a new document         
        
xmlNewDocComment ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocComment	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new node containing a libxml2-SAX.html#commentcomment  within a document.
doc: the document content: the libxml2-SAX.html#commentcomment  content Returns: a pointer to the new node object.         
        
xmlNewDocFragment ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocFragment	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Creation of a new Fragment node.
doc: the document owning the fragment Returns: a pointer to the new node object.         
        
xmlNewDocNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocNode		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.
doc: the document ns: namespace if any name: the node name content: the XML text content if any Returns: a pointer to the new node object.         
        
xmlNewDocNodeEatName ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocNodeEatName	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.
doc: the document ns: namespace if any name: the node name content: the XML text content if any Returns: a pointer to the new node object.         
        
xmlNewDocPI ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocPI		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a processing instruction element.
doc: the target document name: the processing instruction name content: the PI content Returns: a pointer to the new node object.         
        
xmlNewDocProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlNewDocProp		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Create a new property carried by a document.
doc: the document name: the name of the libxml2-SAX.html#attributeattribute value: the value of the libxml2-SAX.html#attributeattribute Returns: a pointer to the libxml2-SAX.html#attributeattribute         
        
xmlNewDocRawNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocRawNode	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new node element within a document. @ns and @content are optional (NULL).
doc: the document ns: namespace if any name: the node name content: the text content if any Returns: a pointer to the new node object.         
        
xmlNewDocText ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocText		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new text node within a document.
doc: the document content: the text content Returns: a pointer to the new node object.         
        
xmlNewDocTextLen ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewDocTextLen	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Creation of a new text node with an extra content length parameter. The text node pertain to a given document.
doc: the document content: the text content len: the text len. Returns: a pointer to the new node object.         
        
xmlNewDtd ()
libxml2-tree.html#xmlDtdPtrxmlDtdPtr 	xmlNewDtd		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ExternalID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID)Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().
doc: the document pointer name: the DTD name ExternalID: the external ID SystemID: the system ID Returns: a pointer to the new DTD structure         
        
xmlNewGlobalNs ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlNewGlobalNs		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix)Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!
doc: the document carrying the namespace href: the URI associated prefix: the prefix for the namespace Returns: NULL this functionality had been removed         
        
xmlNewNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewNode		( libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Creation of a new node element. @ns is optional (NULL).
ns: namespace if any name: the node name Returns: a pointer to the new node object. Uses xmlStrdup() to make copy of @name.         
        
xmlNewNodeEatName ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewNodeEatName	( libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name)Creation of a new node element. @ns is optional (NULL).
ns: namespace if any name: the node name Returns: a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.         
        
xmlNewNs ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlNewNs		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix)Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. We use href==NULL in the case of an element creation where the namespace was not defined.
node: the element carrying the namespace href: the URI associated prefix: the prefix for the namespace Returns: a new namespace pointer or NULL         
        
xmlNewNsProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlNewNsProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Create a new property tagged with a namespace and carried by a node.
node: the holding node ns: the namespace name: the name of the libxml2-SAX.html#attributeattribute value: the value of the libxml2-SAX.html#attributeattribute Returns: a pointer to the libxml2-SAX.html#attributeattribute         
        
xmlNewNsPropEatName ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlNewNsPropEatName	( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Create a new property tagged with a namespace and carried by a node.
node: the holding node ns: the namespace name: the name of the libxml2-SAX.html#attributeattribute value: the value of the libxml2-SAX.html#attributeattribute Returns: a pointer to the libxml2-SAX.html#attributeattribute         
        
xmlNewPI ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewPI		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning
name: the processing instruction name content: the PI content Returns: a pointer to the new node object.         
        
xmlNewProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlNewProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Create a new property carried by a node.
node: the holding node name: the name of the libxml2-SAX.html#attributeattribute value: the value of the libxml2-SAX.html#attributeattribute Returns: a pointer to the libxml2-SAX.html#attributeattribute         
        
xmlNewReference ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewReference		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Creation of a new libxml2-SAX.html#referencereference  node.
doc: the document name: the libxml2-SAX.html#referencereference  name, or the libxml2-SAX.html#referencereference  string with & and ; Returns: a pointer to the new node object.         
        
xmlNewText ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewText		(const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new text node.
content: the text content Returns: a pointer to the new node object.         
        
xmlNewTextChild ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewTextChild		( libxml2-tree.html#xmlNodePtrxmlNodePtr  parent, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.
parent: the parent node ns: a namespace if any name: the name of the child content: the text content of the child if any. Returns: a pointer to the new node object.         
        
xmlNewTextLen ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlNewTextLen		(const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Creation of a new text node with an extra parameter for the content's length
content: the text content len: the text len. Returns: a pointer to the new node object.         
        
xmlNodeAddContent ()
void	xmlNodeAddContent		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Append the extra substring to the node content.
cur: the node being modified content: extra content         
        
xmlNodeAddContentLen ()
void	xmlNodeAddContentLen		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Append the extra substring to the node content.
cur: the node being modified content: extra content len: the size of @content         
        
xmlNodeBufGetContent ()
int	xmlNodeBufGetContent		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buffer, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value
buffer: a buffer cur: the node being read Returns: 0 in case of success and -1 in case of error.         
        
xmlNodeDump ()
int	xmlNodeDump			( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int level, 					 int format)Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called
buf: the XML buffer output doc: the document cur: the current node level: the imbrication level for indenting format: is formatting allowed Returns: the number of bytes written to the buffer or -1 in case of error         
        
xmlNodeDumpOutput ()
void	xmlNodeDumpOutput		( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int level, 					 int format, 					 const char * encoding)Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called
buf: the XML buffer output doc: the document cur: the current node level: the imbrication level for indenting format: is formatting allowed encoding: an optional encoding string         
        
xmlNodeGetBase ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlNodeGetBase		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use xmlDocumentGetBase() for this
doc: the document the node pertains to cur: the node being checked Returns: a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().         
        
xmlNodeGetContent ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlNodeGetContent	( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.
cur: the node being read Returns: a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().         
        
xmlNodeGetLang ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlNodeGetLang		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Searches the language of a node, i.e. the values of the xml:lang libxml2-SAX.html#attributeattribute  or the one carried by the nearest ancestor.
cur: the node being checked Returns: a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().         
        
xmlNodeGetSpacePreserve ()
int	xmlNodeGetSpacePreserve		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Searches the space preserving behaviour of a node, i.e. the values of the xml:space libxml2-SAX.html#attributeattribute  or the one carried by the nearest ancestor.
cur: the node being checked Returns: -1 if xml:space is not inherited, 0 if "default", 1 if "preserve"         
        
xmlNodeIsText ()
int	xmlNodeIsText			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node)Is this node a Text node ?
node: the node Returns: 1 yes, 0 no         
        
xmlNodeListGetRawString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlNodeListGetRawString	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 int inLine)Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.
doc: the document list: a Node list inLine: should we replace entity contents or show their external form Returns: a pointer to the string copy, the caller must free it with xmlFree().         
        
xmlNodeListGetString ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlNodeListGetString	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 int inLine)Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs
doc: the document list: a Node list inLine: should we replace entity contents or show their external form Returns: a pointer to the string copy, the caller must free it with xmlFree().         
        
xmlNodeSetBase ()
void	xmlNodeSetBase			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * uri)Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.
cur: the node being changed uri: the new base URI         
        
xmlNodeSetContent ()
void	xmlNodeSetContent		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content)Replace the content of a node.
cur: the node being modified content: the new value of the content         
        
xmlNodeSetContentLen ()
void	xmlNodeSetContentLen		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Replace the content of a node.
cur: the node being modified content: the new value of the content len: the size of @content         
        
xmlNodeSetLang ()
void	xmlNodeSetLang			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * lang)Set the language of a node, i.e. the values of the xml:lang attribute.
cur: the node being changed lang: the language description         
        
xmlNodeSetName ()
void	xmlNodeSetName			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Set (or reset) the name of a node.
cur: the node being changed name: the new tag name         
        
xmlNodeSetSpacePreserve ()
void	xmlNodeSetSpacePreserve		( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur, 					 int val)Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.
cur: the node being changed val: the xml:space value ("0": default, 1: "preserve")         
        
xmlReconciliateNs ()
int	xmlReconciliateNs		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  tree)This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.
doc: the document tree: a node defining the subtree to reconciliate Returns: the number of namespace declarations created or -1 in case of error.         
        
xmlRemoveProp ()
int	xmlRemoveProp			( libxml2-tree.html#xmlAttrPtrxmlAttrPtr  cur)Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes
cur: an libxml2-SAX.html#attributeattribute Returns: 0 if success and -1 in case of error.         
        
xmlReplaceNode ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlReplaceNode		( libxml2-tree.html#xmlNodePtrxmlNodePtr  old, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context.
old: the old node cur: the node Returns: the @old node         
        
xmlSaveFile ()
int	xmlSaveFile			(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur)Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.
filename: the filename (or URL) cur: the document Returns: the number of bytes written or -1 in case of failure.         
        
xmlSaveFileEnc ()
int	xmlSaveFileEnc			(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding)Dump an XML document, converting it to the given encoding
filename: the filename (or URL) cur: the document encoding: the name of an encoding (or NULL) Returns: the number of bytes written or -1 in case of failure.         
        
xmlSaveFileTo ()
int	xmlSaveFileTo			( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding)Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.
buf: an output I/O buffer cur: the document encoding: the encoding if any assuming the I/O layer handles the trancoding Returns: the number of bytes written or -1 in case of failure.         
        
xmlSaveFormatFile ()
int	xmlSaveFormatFile		(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 int format)Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called
filename: the filename (or URL) cur: the document format: should formatting spaces been added Returns: the number of bytes written or -1 in case of failure.         
        
xmlSaveFormatFileEnc ()
int	xmlSaveFormatFileEnc		(const char * filename, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding, 					 int format)Dump an XML document to a file or an URL.
filename: the filename or URL to output cur: the document being saved encoding: the name of the encoding to use or NULL. format: should formatting spaces be added. Returns: the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if libxml2-globals.html#xmlIndentTreeOutputxmlIndentTreeOutput  = 1 or xmlKeepBlanksDefault(0) was called         
        
xmlSaveFormatFileTo ()
int	xmlSaveFormatFileTo		( libxml2-tree.html#xmlOutputBufferPtrxmlOutputBufferPtr  buf, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  cur, 					 const char * encoding, 					 int format)Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.
buf: an output I/O buffer cur: the document encoding: the encoding if any assuming the I/O layer handles the trancoding format: should formatting spaces been added Returns: the number of bytes written or -1 in case of failure.         
        
xmlSearchNs ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlSearchNs		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * nameSpace)Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.
doc: the document node: the current node nameSpace: the namespace prefix Returns: the namespace pointer or NULL.         
        
xmlSearchNsByHref ()
libxml2-tree.html#xmlNsPtrxmlNsPtr 	xmlSearchNsByHref	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * href)Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.
doc: the document node: the current node href: the namespace value Returns: the namespace pointer or NULL.         
        
xmlSetBufferAllocationScheme ()
void	xmlSetBufferAllocationScheme	( libxml2-tree.html#xmlBufferAllocationSchemexmlBufferAllocationScheme  scheme)Set the buffer allocation method. Types are libxml2-tree.html#XML_BUFFER_ALLOC_EXACTXML_BUFFER_ALLOC_EXACT  - use exact sizes, keeps memory usage down libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEITXML_BUFFER_ALLOC_DOUBLEIT  - double buffer when extra needed, improves performance
scheme: allocation method to use         
        
xmlSetCompressMode ()
void	xmlSetCompressMode		(int mode)set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)
mode: the compression ratio         
        
xmlSetDocCompressMode ()
void	xmlSetDocCompressMode		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 int mode)set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)
doc: the document mode: the compression ratio         
        
xmlSetListDoc ()
void	xmlSetListDoc			( libxml2-tree.html#xmlNodePtrxmlNodePtr  list, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)update all nodes in the list to point to the right document
list: the first element doc: the document         
        
xmlSetNs ()
void	xmlSetNs			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns)Associate a namespace to a node, a posteriori.
node: a node in the document ns: a namespace pointer         
        
xmlSetNsProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlSetNsProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Set (or reset) an libxml2-SAX.html#attributeattribute  carried by a node. The ns structure must be in scope, this is not checked.
node: the node ns: the namespace definition name: the libxml2-SAX.html#attributeattribute  name value: the libxml2-SAX.html#attributeattribute  value Returns: the libxml2-SAX.html#attributeattribute  pointer.         
        
xmlSetProp ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlSetProp		( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Set (or reset) an libxml2-SAX.html#attributeattribute  carried by a node.
node: the node name: the libxml2-SAX.html#attributeattribute  name value: the libxml2-SAX.html#attributeattribute  value Returns: the libxml2-SAX.html#attributeattribute  pointer.         
        
xmlSetTreeDoc ()
void	xmlSetTreeDoc			( libxml2-tree.html#xmlNodePtrxmlNodePtr  tree, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)update all nodes under the tree to point to the right document
tree: the top element doc: the document         
        
xmlSplitQName2 ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlSplitQName2		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 libxml2-xmlstring.html#xmlCharxmlChar  ** prefix)parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName
name: the full QName prefix: a libxml2-xmlstring.html#xmlCharxmlChar  ** Returns: NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.         
        
xmlSplitQName3 ()
const libxml2-xmlstring.html#xmlCharxmlChar  *	xmlSplitQName3		(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 int * len)parse an XML qualified name string,i
name: the full QName len: an int * Returns: NULL if it is not a Qualified Name, otherwise, update len with the lenght in byte of the prefix and return a pointer to the start of the name without the prefix         
        
xmlStringGetNodeList ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlStringGetNodeList	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.
doc: the document value: the value of the libxml2-SAX.html#attributeattribute Returns: a pointer to the first child         
        
xmlStringLenGetNodeList ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlStringLenGetNodeList	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int len)Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.
doc: the document value: the value of the text len: the length of the string value Returns: a pointer to the first child         
        
xmlTextConcat ()
int	xmlTextConcat			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * content, 					 int len)Concat the given string at the end of the existing node content
node: the node content: the content len: @content length Returns: -1 in case of error, 0 otherwise         
        
xmlTextMerge ()
libxml2-tree.html#xmlNodePtrxmlNodePtr 	xmlTextMerge		( libxml2-tree.html#xmlNodePtrxmlNodePtr  first, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  second)Merge two text nodes into one
first: the first text node second: the second text node being merged Returns: the first text node augmented         
        
xmlUnlinkNode ()
void	xmlUnlinkNode			( libxml2-tree.html#xmlNodePtrxmlNodePtr  cur)Unlink a node from it's current context, the node is not freed
cur: the node         
        
xmlUnsetNsProp ()
int	xmlUnsetNsProp			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Remove an libxml2-SAX.html#attributeattribute  carried by a node.
node: the node ns: the namespace definition name: the libxml2-SAX.html#attributeattribute  name Returns: 0 if successful, -1 if not found         
        
xmlUnsetProp ()
int	xmlUnsetProp			( libxml2-tree.html#xmlNodePtrxmlNodePtr  node, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Remove an libxml2-SAX.html#attributeattribute  carried by a node.
node: the node name: the libxml2-SAX.html#attributeattribute  name Returns: 0 if successful, -1 if not found         
        
xmlValidateNCName ()
int	xmlValidateNCName		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space)Check that a value conforms to the lexical space of NCName
value: the value to check space: allow spaces in front and end of the string Returns: 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlValidateNMToken ()
int	xmlValidateNMToken		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space)Check that a value conforms to the lexical space of NMToken
value: the value to check space: allow spaces in front and end of the string Returns: 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlValidateName ()
int	xmlValidateName			(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space)Check that a value conforms to the lexical space of Name
value: the value to check space: allow spaces in front and end of the string Returns: 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.         
        
xmlValidateQName ()
int	xmlValidateQName		(const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 int space)Check that a value conforms to the lexical space of QName
value: the value to check space: allow spaces in front and end of the string Returns: 0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.         
      
    
  
