libxml-tree.html revision d433046ae52b0488a9fad77d2045c0139b8cada8
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>tree</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css"> 3 .synopsis, .classsynopsis { 4 background: #eeeeee; 5 border: solid 1px #aaaaaa; 6 padding: 0.5em; 7 } 8 .programlisting { 9 background: #eeeeff; 10 border: solid 1px #aaaaff; 11 padding: 0.5em; 12 } 13 .variablelist { 14 padding: 4px; 15 margin-left: 3em; 16 } 17 .navigation { 18 background: #ffeeee; 19 border: solid 1px #ffaaaa; 20 margin-top: 0.5em; 21 margin-bottom: 0.5em; 22 } 23 .navigation a { 24 color: #770000; 25 } 26 .navigation a:visited { 27 color: #550000; 28 } 29 .navigation .title { 30 font-size: 200%; 31 } 32 </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-SAX.html" title="SAX"><link rel="next" href="libxml-entities.html" title="entities"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-tree"></a><div class="titlepage"></div><div class="refnamediv"><h2>tree</h2><p>tree — </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> 33 34 35 36struct <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a>; 37typedef <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>; 38struct <a href="libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a>; 39typedef <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>; 40struct <a href="libxml-parser.html#xmlParserInput">xmlParserInput</a>; 41typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>; 42struct <a href="libxml-parser.html#xmlParserCtxt">xmlParserCtxt</a>; 43typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>; 44struct <a href="libxml-parser.html#xmlSAXLocator">xmlSAXLocator</a>; 45typedef <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>; 46struct <a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a>; 47typedef <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>; 48struct <a href="libxml-tree.html#xmlEntity">xmlEntity</a>; 49typedef <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>; 50#define <a href="libxml-tree.html#BASE-BUFFER-SIZE-CAPS">BASE_BUFFER_SIZE</a> 51#define <a href="libxml-tree.html#XML-XML-NAMESPACE-CAPS">XML_XML_NAMESPACE</a> 52enum <a href="libxml-tree.html#xmlElementType">xmlElementType</a>; 53typedef <a href="libxml-tree.html#xmlChar">xmlChar</a>; 54#define <a href="libxml-tree.html#BAD-CAST-CAPS">BAD_CAST</a> 55struct <a href="libxml-tree.html#xmlNotation">xmlNotation</a>; 56typedef <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>; 57enum <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a>; 58enum <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>; 59struct <a href="libxml-tree.html#xmlEnumeration">xmlEnumeration</a>; 60typedef <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>; 61struct <a href="libxml-tree.html#xmlAttribute">xmlAttribute</a>; 62typedef <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>; 63enum <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a>; 64enum <a href="libxml-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>; 65struct <a href="libxml-tree.html#xmlElementContent">xmlElementContent</a>; 66typedef <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>; 67enum <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>; 68struct <a href="libxml-tree.html#xmlElement">xmlElement</a>; 69typedef <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>; 70#define <a href="libxml-tree.html#XML-LOCAL-NAMESPACE-CAPS">XML_LOCAL_NAMESPACE</a> 71typedef <a href="libxml-tree.html#xmlNsType">xmlNsType</a>; 72struct <a href="libxml-tree.html#xmlNs">xmlNs</a>; 73typedef <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>; 74struct <a href="libxml-tree.html#xmlDtd">xmlDtd</a>; 75typedef <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>; 76struct <a href="libxml-tree.html#xmlAttr">xmlAttr</a>; 77typedef <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>; 78struct <a href="libxml-tree.html#xmlID">xmlID</a>; 79typedef <a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>; 80struct <a href="libxml-tree.html#xmlRef">xmlRef</a>; 81typedef <a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>; 82enum <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>; 83struct <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a>; 84typedef <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>; 85struct <a href="libxml-tree.html#xmlNode">xmlNode</a>; 86typedef <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>; 87#define <a href="libxml-tree.html#XML-GET-CONTENT-CAPS">XML_GET_CONTENT</a> (n) 88#define <a href="libxml-tree.html#XML-GET-LINE-CAPS">XML_GET_LINE</a> (n) 89struct <a href="libxml-tree.html#xmlDoc">xmlDoc</a>; 90typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>; 91#define <a href="libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a> 92#define <a href="libxml-tree.html#xmlRootNode">xmlRootNode</a> 93int <a href="libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 94 int space); 95int <a href="libxml-tree.html#xmlValidateQName">xmlValidateQName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 96 int space); 97int <a href="libxml-tree.html#xmlValidateName">xmlValidateName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 98 int space); 99int <a href="libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 100 int space); 101<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlBuildQName">xmlBuildQName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ncname, 102 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix, 103 <a href="libxml-tree.html#xmlChar">xmlChar</a> *memory, 104 int len); 105<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 106 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix); 107void <a href="libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a> (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme); 108<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a> 109 (void); 110<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> (void); 111<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="size-t">size_t</GTKDOCLINK> size); 112int <a href="libxml-tree.html#xmlBufferResize">xmlBufferResize</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 113 unsigned int size); 114void <a href="libxml-tree.html#xmlBufferFree">xmlBufferFree</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf); 115int <a href="libxml-tree.html#xmlBufferDump">xmlBufferDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file, 116 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf); 117void <a href="libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 118 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, 119 int len); 120void <a href="libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 121 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, 122 int len); 123void <a href="libxml-tree.html#xmlBufferCat">xmlBufferCat</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 124 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str); 125void <a href="libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 126 const char *str); 127int <a href="libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 128 unsigned int len); 129int <a href="libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 130 unsigned int len); 131void <a href="libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf); 132const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlBufferContent">xmlBufferContent</a> (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf); 133void <a href="libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 134 <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme); 135int <a href="libxml-tree.html#xmlBufferLength">xmlBufferLength</a> (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf); 136<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 137 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 138 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, 139 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); 140<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-tree.html#xmlNewDtd">xmlNewDtd</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 141 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 142 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, 143 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); 144<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 145void <a href="libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur); 146<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 147 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href, 148 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix); 149<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlNewNs">xmlNewNs</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 150 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href, 151 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix); 152void <a href="libxml-tree.html#xmlFreeNs">xmlFreeNs</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur); 153void <a href="libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur); 154<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-tree.html#xmlNewDoc">xmlNewDoc</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *version); 155void <a href="libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur); 156<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 157 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 158 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 159<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlNewProp">xmlNewProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 160 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 161 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 162<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 163 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 164 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 165 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 166<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 167 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 168 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 169 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 170void <a href="libxml-tree.html#xmlFreePropList">xmlFreePropList</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur); 171void <a href="libxml-tree.html#xmlFreeProp">xmlFreeProp</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur); 172<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlCopyProp">xmlCopyProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, 173 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur); 174<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, 175 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur); 176<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd); 177<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 178 int recursive); 179<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 180 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 181 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 182 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 183<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 184 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 185 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 186 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 187<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 188 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 189 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 190 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 191<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewNode">xmlNewNode</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 192 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 193<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 194 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 195<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewChild">xmlNewChild</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 196 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 197 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 198 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 199<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 200 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 201 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 202 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 203<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocText">xmlNewDocText</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 204 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 205<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewText">xmlNewText</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 206<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewPI">xmlNewPI</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 207 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 208<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 209 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 210 int len); 211<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 212 int len); 213<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 214 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 215<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewComment">xmlNewComment</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 216<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 217 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 218 int len); 219<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 220 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 221<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewReference">xmlNewReference</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 222 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 223<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlCopyNode">xmlCopyNode</a> (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 224 int recursive); 225<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a> (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 226 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 227 int recursive); 228<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a> (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 229<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 230<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> <a href="libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 231<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 232<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 233<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent); 234int <a href="libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 235int <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 236<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 237 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root); 238void <a href="libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 239 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 240<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlAddChild">xmlAddChild</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 241 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 242<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlAddChildList">xmlAddChildList</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 243 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 244<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old, 245 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 246<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlAddSibling">xmlAddSibling</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 247 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem); 248<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 249 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem); 250<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 251 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem); 252void <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 253<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlTextMerge">xmlTextMerge</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first, 254 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second); 255int <a href="libxml-tree.html#xmlTextConcat">xmlTextConcat</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 256 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 257 int len); 258void <a href="libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 259void <a href="libxml-tree.html#xmlFreeNode">xmlFreeNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 260void <a href="libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, 261 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 262void <a href="libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 263 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 264<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlSearchNs">xmlSearchNs</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 265 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 266 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace); 267<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 268 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 269 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href); 270<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>* <a href="libxml-tree.html#xmlGetNsList">xmlGetNsList</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 271 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); 272void <a href="libxml-tree.html#xmlSetNs">xmlSetNs</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 273 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns); 274<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlCopyNamespace">xmlCopyNamespace</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur); 275<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="libxml-tree.html#xmlCopyNamespaceList">xmlCopyNamespaceList</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur); 276<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlSetProp">xmlSetProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 277 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 278 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 279<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlGetProp">xmlGetProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 280 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 281<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 282 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 283<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlHasProp">xmlHasProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 284 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 285<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 286 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 287 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace); 288<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> <a href="libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 289 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 290 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 291 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 292<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 293 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 294 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace); 295<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 296 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); 297<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 298 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 299 int len); 300<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 301 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 302 int inLine); 303<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 304 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 305 int inLine); 306void <a href="libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 307 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 308void <a href="libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 309 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 310 int len); 311void <a href="libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 312 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); 313void <a href="libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 314 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 315 int len); 316<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 317<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 318void <a href="libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 319 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang); 320int <a href="libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 321void <a href="libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 322 int val); 323<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 324 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 325void <a href="libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 326 <a href="libxml-tree.html#xmlChar">xmlChar</a> *uri); 327int <a href="libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur); 328int <a href="libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 329 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 330int <a href="libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 331 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 332 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); 333void <a href="libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 334 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string); 335void <a href="libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 336 const char *string); 337void <a href="libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 338 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string); 339int <a href="libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 340 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree); 341void <a href="libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 342 <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem, 343 int *size, 344 int format); 345void <a href="libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 346 <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem, 347 int *size); 348void <a href="libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, 349 <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr, 350 int *doc_txt_len, 351 const char *txt_encoding); 352void <a href="libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, 353 <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr, 354 int *doc_txt_len, 355 const char *txt_encoding, 356 int format); 357int <a href="libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 358 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 359 int format); 360int <a href="libxml-tree.html#xmlDocDump">xmlDocDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 361 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur); 362void <a href="libxml-tree.html#xmlElemDump">xmlElemDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 363 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 364 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur); 365int <a href="libxml-tree.html#xmlSaveFile">xmlSaveFile</a> (const char *filename, 366 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur); 367int <a href="libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a> (const char *filename, 368 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 369 int format); 370int <a href="libxml-tree.html#xmlNodeDump">xmlNodeDump</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 371 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 372 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 373 int level, 374 int format); 375int <a href="libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 376 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 377 const char *encoding); 378int <a href="libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 379 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 380 const char *encoding, 381 int format); 382void <a href="libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 383 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 384 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 385 int level, 386 int format, 387 const char *encoding); 388int <a href="libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> (const char *filename, 389 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 390 const char *encoding, 391 int format); 392int <a href="libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> (const char *filename, 393 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 394 const char *encoding); 395int <a href="libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemID, 396 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID); 397int <a href="libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc); 398void <a href="libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 399 int mode); 400int <a href="libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a> (void); 401void <a href="libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a> (int mode); 402</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p> 403 404</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlParserInputBuffer"></a>struct xmlParserInputBuffer</h3><pre class="programlisting">struct xmlParserInputBuffer { 405 void* context; 406 xmlInputReadCallback readcallback; 407 xmlInputCloseCallback closecallback; 408 409 xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ 410 411 xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */ 412 xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */ 413}; 414</pre><p> 415 416</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPtr"></a>xmlParserInputBufferPtr</h3><pre class="programlisting">typedef xmlParserInputBuffer *xmlParserInputBufferPtr; 417</pre><p> 418 419</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBuffer"></a>struct xmlOutputBuffer</h3><pre class="programlisting">struct xmlOutputBuffer { 420 void* context; 421 xmlOutputWriteCallback writecallback; 422 xmlOutputCloseCallback closecallback; 423 424 xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ 425 426 xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */ 427 xmlBufferPtr conv; /* if encoder != NULL buffer for output */ 428 int written; /* total number of byte written */ 429}; 430</pre><p> 431 432</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferPtr"></a>xmlOutputBufferPtr</h3><pre class="programlisting">typedef xmlOutputBuffer *xmlOutputBufferPtr; 433</pre><p> 434 435</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInput"></a>struct xmlParserInput</h3><pre class="programlisting">struct xmlParserInput { 436 /* Input buffer */ 437 xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ 438 439 const char *filename; /* The file analyzed, if any */ 440 const char *directory; /* the directory/base of the file */ 441 const xmlChar *base; /* Base of the array to parse */ 442 const xmlChar *cur; /* Current char being parsed */ 443 const xmlChar *end; /* end of the array to parse */ 444 int length; /* length if known */ 445 int line; /* Current line */ 446 int col; /* Current column */ 447 /* 448 * NOTE: consumed is only tested for equality in the parser code, 449 * so even if there is an overflow this should not give troubles 450 * for parsing very large instances. 451 */ 452 unsigned long consumed; /* How many xmlChars already consumed */ 453 xmlParserInputDeallocate free; /* function to deallocate the base */ 454 const xmlChar *encoding; /* the encoding string for entity */ 455 const xmlChar *version; /* the version string for entity */ 456 int standalone; /* Was that entity marked standalone */ 457}; 458</pre><p> 459An xmlParserInput is an input flow for the XML processor. 460Each entity parsed is associated an xmlParserInput (except the 461few predefined ones). This is the case both for internal entities 462- in which case the flow is already completely in memory - or 463external entities - in which case we use the buf structure for 464progressive reading and I18N conversions to the internal UTF-8 format.</p><p> 465 466</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputPtr"></a>xmlParserInputPtr</h3><pre class="programlisting">typedef xmlParserInput *xmlParserInputPtr; 467</pre><p> 468 469</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserCtxt"></a>struct xmlParserCtxt</h3><pre class="programlisting">struct xmlParserCtxt { 470 struct _xmlSAXHandler *sax; /* The SAX handler */ 471 void *userData; /* For SAX interface only, used by DOM build */ 472 xmlDocPtr myDoc; /* the document being built */ 473 int wellFormed; /* is the document well formed */ 474 int replaceEntities; /* shall we replace entities ? */ 475 const xmlChar *version; /* the XML version string */ 476 const xmlChar *encoding; /* the declared encoding, if any */ 477 int standalone; /* standalone document */ 478 int html; /* an HTML(1)/Docbook(2) document */ 479 480 /* Input stream stack */ 481 xmlParserInputPtr input; /* Current input stream */ 482 int inputNr; /* Number of current input streams */ 483 int inputMax; /* Max number of input streams */ 484 xmlParserInputPtr *inputTab; /* stack of inputs */ 485 486 /* Node analysis stack only used for DOM building */ 487 xmlNodePtr node; /* Current parsed Node */ 488 int nodeNr; /* Depth of the parsing stack */ 489 int nodeMax; /* Max depth of the parsing stack */ 490 xmlNodePtr *nodeTab; /* array of nodes */ 491 492 int record_info; /* Whether node info should be kept */ 493 xmlParserNodeInfoSeq node_seq; /* info about each node parsed */ 494 495 int errNo; /* error code */ 496 497 int hasExternalSubset; /* reference and external subset */ 498 int hasPErefs; /* the internal subset has PE refs */ 499 int external; /* are we parsing an external entity */ 500 501 int valid; /* is the document valid */ 502 int validate; /* shall we try to validate ? */ 503 xmlValidCtxt vctxt; /* The validity context */ 504 505 xmlParserInputState instate; /* current type of input */ 506 int token; /* next char look-ahead */ 507 508 char *directory; /* the data directory */ 509 510 /* Node name stack */ 511 xmlChar *name; /* Current parsed Node */ 512 int nameNr; /* Depth of the parsing stack */ 513 int nameMax; /* Max depth of the parsing stack */ 514 xmlChar * *nameTab; /* array of nodes */ 515 516 long nbChars; /* number of xmlChar processed */ 517 long checkIndex; /* used by progressive parsing lookup */ 518 int keepBlanks; /* ugly but ... */ 519 int disableSAX; /* SAX callbacks are disabled */ 520 int inSubset; /* Parsing is in int 1/ext 2 subset */ 521 xmlChar * intSubName; /* name of subset */ 522 xmlChar * extSubURI; /* URI of external subset */ 523 xmlChar * extSubSystem; /* SYSTEM ID of external subset */ 524 525 /* xml:space values */ 526 int * space; /* Should the parser preserve spaces */ 527 int spaceNr; /* Depth of the parsing stack */ 528 int spaceMax; /* Max depth of the parsing stack */ 529 int * spaceTab; /* array of space infos */ 530 531 int depth; /* to prevent entity substitution loops */ 532 xmlParserInputPtr entity; /* used to check entities boundaries */ 533 int charset; /* encoding of the in-memory content 534 actually an xmlCharEncoding */ 535 int nodelen; /* Those two fields are there to */ 536 int nodemem; /* Speed up large node parsing */ 537 int pedantic; /* signal pedantic warnings */ 538 void *_private; /* For user data, libxml won't touch it */ 539 540 int loadsubset; /* should the external subset be loaded */ 541 int linenumbers; /* set line number in element content */ 542 void *catalogs; /* document's own catalog */ 543 int recovery; /* run in recovery mode */ 544 int progressive; /* is this a progressive parsing */ 545}; 546</pre><p> 547The parser context. 548NOTE This doesn't completely define the parser state, the (current ?) 549 design of the parser uses recursive function calls since this allow 550 and easy mapping from the production rules of the specification 551 to the actual code. The drawback is that the actual function call 552 also reflect the parser state. However most of the parsing routines 553 takes as the only argument the parser context pointer, so migrating 554 to a state based parser for progressive parsing shouldn't be too hard.</p><p> 555 556</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserCtxtPtr"></a>xmlParserCtxtPtr</h3><pre class="programlisting">typedef xmlParserCtxt *xmlParserCtxtPtr; 557</pre><p> 558 559</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXLocator"></a>struct xmlSAXLocator</h3><pre class="programlisting">struct xmlSAXLocator { 560 const xmlChar *(*getPublicId)(void *ctx); 561 const xmlChar *(*getSystemId)(void *ctx); 562 int (*getLineNumber)(void *ctx); 563 int (*getColumnNumber)(void *ctx); 564}; 565</pre><p> 566A SAX Locator.</p><p> 567 568</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXLocatorPtr"></a>xmlSAXLocatorPtr</h3><pre class="programlisting">typedef xmlSAXLocator *xmlSAXLocatorPtr; 569</pre><p> 570 571</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXHandler"></a>struct xmlSAXHandler</h3><pre class="programlisting">struct xmlSAXHandler { 572 internalSubsetSAXFunc internalSubset; 573 isStandaloneSAXFunc isStandalone; 574 hasInternalSubsetSAXFunc hasInternalSubset; 575 hasExternalSubsetSAXFunc hasExternalSubset; 576 resolveEntitySAXFunc resolveEntity; 577 getEntitySAXFunc getEntity; 578 entityDeclSAXFunc entityDecl; 579 notationDeclSAXFunc notationDecl; 580 attributeDeclSAXFunc attributeDecl; 581 elementDeclSAXFunc elementDecl; 582 unparsedEntityDeclSAXFunc unparsedEntityDecl; 583 setDocumentLocatorSAXFunc setDocumentLocator; 584 startDocumentSAXFunc startDocument; 585 endDocumentSAXFunc endDocument; 586 startElementSAXFunc startElement; 587 endElementSAXFunc endElement; 588 referenceSAXFunc reference; 589 charactersSAXFunc characters; 590 ignorableWhitespaceSAXFunc ignorableWhitespace; 591 processingInstructionSAXFunc processingInstruction; 592 commentSAXFunc comment; 593 warningSAXFunc warning; 594 errorSAXFunc error; 595 fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ 596 getParameterEntitySAXFunc getParameterEntity; 597 cdataBlockSAXFunc cdataBlock; 598 externalSubsetSAXFunc externalSubset; 599 int initialized; 600}; 601</pre><p> 602A SAX handler is bunch of callbacks called by the parser when processing 603of the input generate data or structure informations.</p><p> 604 605</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerPtr"></a>xmlSAXHandlerPtr</h3><pre class="programlisting">typedef xmlSAXHandler *xmlSAXHandlerPtr; 606</pre><p> 607 608</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlEntity"></a>struct xmlEntity</h3><pre class="programlisting">struct xmlEntity { 609 void *_private; /* application data */ 610 xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ 611 const xmlChar *name; /* Entity name */ 612 struct _xmlNode *children; /* First child link */ 613 struct _xmlNode *last; /* Last child link */ 614 struct _xmlDtd *parent; /* -> DTD */ 615 struct _xmlNode *next; /* next sibling link */ 616 struct _xmlNode *prev; /* previous sibling link */ 617 struct _xmlDoc *doc; /* the containing document */ 618 619 xmlChar *orig; /* content without ref substitution */ 620 xmlChar *content; /* content or ndata if unparsed */ 621 int length; /* the content length */ 622 xmlEntityType etype; /* The entity type */ 623 const xmlChar *ExternalID; /* External identifier for PUBLIC */ 624 const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ 625 626 struct _xmlEntity *nexte; /* unused */ 627 const xmlChar *URI; /* the full URI as computed */ 628 int owner; /* does the entity own the childrens */ 629}; 630</pre><p> 631 632</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlEntityPtr"></a>xmlEntityPtr</h3><pre class="programlisting">typedef xmlEntity *xmlEntityPtr; 633</pre><p> 634 635</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="BASE-BUFFER-SIZE-CAPS"></a>BASE_BUFFER_SIZE</h3><pre class="programlisting">#define BASE_BUFFER_SIZE 4000 636</pre><p> 637default buffer size 4000.</p><p> 638 639</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-XML-NAMESPACE-CAPS"></a>XML_XML_NAMESPACE</h3><pre class="programlisting">#define XML_XML_NAMESPACE</pre><p> 640This is the namespace for the special xml: prefix predefined in the 641XML Namespace specification.</p><p> 642 643</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementType"></a>enum xmlElementType</h3><pre class="programlisting">typedef enum { 644 XML_ELEMENT_NODE= 1, 645 XML_ATTRIBUTE_NODE= 2, 646 XML_TEXT_NODE= 3, 647 XML_CDATA_SECTION_NODE= 4, 648 XML_ENTITY_REF_NODE= 5, 649 XML_ENTITY_NODE= 6, 650 XML_PI_NODE= 7, 651 XML_COMMENT_NODE= 8, 652 XML_DOCUMENT_NODE= 9, 653 XML_DOCUMENT_TYPE_NODE= 10, 654 XML_DOCUMENT_FRAG_NODE= 11, 655 XML_NOTATION_NODE= 12, 656 XML_HTML_DOCUMENT_NODE= 13, 657 XML_DTD_NODE= 14, 658 XML_ELEMENT_DECL= 15, 659 XML_ATTRIBUTE_DECL= 16, 660 XML_ENTITY_DECL= 17, 661 XML_NAMESPACE_DECL= 18, 662 XML_XINCLUDE_START= 19, 663 XML_XINCLUDE_END= 20 664#ifdef LIBXML_DOCB_ENABLED 665 ,XML_DOCB_DOCUMENT_NODE= 21 666#endif 667} xmlElementType; 668</pre><p> 669 670</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlChar"></a>xmlChar</h3><pre class="programlisting">typedef unsigned char xmlChar; 671</pre><p> 672This is a basic byte in an UTF-8 encoded string. 673It's unsigned allowing to pinpoint case where char * are assigned 674to xmlChar * (possibly making serialization back impossible).</p><p> 675 676</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="BAD-CAST-CAPS"></a>BAD_CAST</h3><pre class="programlisting">#define BAD_CAST (xmlChar *) 677</pre><p> 678Macro to cast a string to an xmlChar * when one know its safe.</p><p> 679 680</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNotation"></a>struct xmlNotation</h3><pre class="programlisting">struct xmlNotation { 681 const xmlChar *name; /* Notation name */ 682 const xmlChar *PublicID; /* Public identifier, if any */ 683 const xmlChar *SystemID; /* System identifier, if any */ 684}; 685</pre><p> 686A DTD Notation definition.</p><p> 687 688</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNotationPtr"></a>xmlNotationPtr</h3><pre class="programlisting">typedef xmlNotation *xmlNotationPtr; 689</pre><p> 690 691</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttributeType"></a>enum xmlAttributeType</h3><pre class="programlisting">typedef enum { 692 XML_ATTRIBUTE_CDATA = 1, 693 XML_ATTRIBUTE_ID, 694 XML_ATTRIBUTE_IDREF , 695 XML_ATTRIBUTE_IDREFS, 696 XML_ATTRIBUTE_ENTITY, 697 XML_ATTRIBUTE_ENTITIES, 698 XML_ATTRIBUTE_NMTOKEN, 699 XML_ATTRIBUTE_NMTOKENS, 700 XML_ATTRIBUTE_ENUMERATION, 701 XML_ATTRIBUTE_NOTATION 702} xmlAttributeType; 703</pre><p> 704A DTD Attribute type definition.</p><p> 705 706</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttributeDefault"></a>enum xmlAttributeDefault</h3><pre class="programlisting">typedef enum { 707 XML_ATTRIBUTE_NONE = 1, 708 XML_ATTRIBUTE_REQUIRED, 709 XML_ATTRIBUTE_IMPLIED, 710 XML_ATTRIBUTE_FIXED 711} xmlAttributeDefault; 712</pre><p> 713A DTD Attribute default definition.</p><p> 714 715</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlEnumeration"></a>struct xmlEnumeration</h3><pre class="programlisting">struct xmlEnumeration { 716 struct _xmlEnumeration *next; /* next one */ 717 const xmlChar *name; /* Enumeration name */ 718}; 719</pre><p> 720List structure used when there is an enumeration in DTDs.</p><p> 721 722</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlEnumerationPtr"></a>xmlEnumerationPtr</h3><pre class="programlisting">typedef xmlEnumeration *xmlEnumerationPtr; 723</pre><p> 724 725</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttribute"></a>struct xmlAttribute</h3><pre class="programlisting">struct xmlAttribute { 726 void *_private; /* application data */ 727 xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ 728 const xmlChar *name; /* Attribute name */ 729 struct _xmlNode *children; /* NULL */ 730 struct _xmlNode *last; /* NULL */ 731 struct _xmlDtd *parent; /* -> DTD */ 732 struct _xmlNode *next; /* next sibling link */ 733 struct _xmlNode *prev; /* previous sibling link */ 734 struct _xmlDoc *doc; /* the containing document */ 735 736 struct _xmlAttribute *nexth; /* next in hash table */ 737 xmlAttributeType atype; /* The attribute type */ 738 xmlAttributeDefault def; /* the default */ 739 const xmlChar *defaultValue; /* or the default value */ 740 xmlEnumerationPtr tree; /* or the enumeration tree if any */ 741 const xmlChar *prefix; /* the namespace prefix if any */ 742 const xmlChar *elem; /* Element holding the attribute */ 743}; 744</pre><p> 745An Attribute declaration in a DTD.</p><p> 746 747</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttributePtr"></a>xmlAttributePtr</h3><pre class="programlisting">typedef xmlAttribute *xmlAttributePtr; 748</pre><p> 749 750</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementContentType"></a>enum xmlElementContentType</h3><pre class="programlisting">typedef enum { 751 XML_ELEMENT_CONTENT_PCDATA = 1, 752 XML_ELEMENT_CONTENT_ELEMENT, 753 XML_ELEMENT_CONTENT_SEQ, 754 XML_ELEMENT_CONTENT_OR 755} xmlElementContentType; 756</pre><p> 757Possible definitions of element content types.</p><p> 758 759</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementContentOccur"></a>enum xmlElementContentOccur</h3><pre class="programlisting">typedef enum { 760 XML_ELEMENT_CONTENT_ONCE = 1, 761 XML_ELEMENT_CONTENT_OPT, 762 XML_ELEMENT_CONTENT_MULT, 763 XML_ELEMENT_CONTENT_PLUS 764} xmlElementContentOccur; 765</pre><p> 766Possible definitions of element content occurrences.</p><p> 767 768</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementContent"></a>struct xmlElementContent</h3><pre class="programlisting">struct xmlElementContent { 769 xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ 770 xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ 771 const xmlChar *name; /* Element name */ 772 struct _xmlElementContent *c1; /* first child */ 773 struct _xmlElementContent *c2; /* second child */ 774 struct _xmlElementContent *parent; /* parent */ 775 const xmlChar *prefix; /* Namespace prefix */ 776}; 777</pre><p> 778An XML Element content as stored after parsing an element definition 779in a DTD.</p><p> 780 781</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementContentPtr"></a>xmlElementContentPtr</h3><pre class="programlisting">typedef xmlElementContent *xmlElementContentPtr; 782</pre><p> 783 784</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementTypeVal"></a>enum xmlElementTypeVal</h3><pre class="programlisting">typedef enum { 785 XML_ELEMENT_TYPE_UNDEFINED = 0, 786 XML_ELEMENT_TYPE_EMPTY = 1, 787 XML_ELEMENT_TYPE_ANY, 788 XML_ELEMENT_TYPE_MIXED, 789 XML_ELEMENT_TYPE_ELEMENT 790} xmlElementTypeVal; 791</pre><p> 792The different possibilities for an element content type.</p><p> 793 794</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElement"></a>struct xmlElement</h3><pre class="programlisting">struct xmlElement { 795 void *_private; /* application data */ 796 xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ 797 const xmlChar *name; /* Element name */ 798 struct _xmlNode *children; /* NULL */ 799 struct _xmlNode *last; /* NULL */ 800 struct _xmlDtd *parent; /* -> DTD */ 801 struct _xmlNode *next; /* next sibling link */ 802 struct _xmlNode *prev; /* previous sibling link */ 803 struct _xmlDoc *doc; /* the containing document */ 804 805 xmlElementTypeVal etype; /* The type */ 806 xmlElementContentPtr content; /* the allowed element content */ 807 xmlAttributePtr attributes; /* List of the declared attributes */ 808 const xmlChar *prefix; /* the namespace prefix if any */ 809#ifdef LIBXML_REGEXP_ENABLED 810 xmlRegexpPtr contModel; /* the validating regexp */ 811#else 812 void *contModel; 813#endif 814}; 815</pre><p> 816An XML Element declaration from a DTD.</p><p> 817 818</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElementPtr"></a>xmlElementPtr</h3><pre class="programlisting">typedef xmlElement *xmlElementPtr; 819</pre><p> 820 821</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-LOCAL-NAMESPACE-CAPS"></a>XML_LOCAL_NAMESPACE</h3><pre class="programlisting">#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL 822</pre><p> 823A namespace declaration node.</p><p> 824 825</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNsType"></a>xmlNsType</h3><pre class="programlisting">typedef xmlElementType xmlNsType; 826</pre><p> 827 828</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNs"></a>struct xmlNs</h3><pre class="programlisting">struct xmlNs { 829 struct _xmlNs *next; /* next Ns link for this node */ 830 xmlNsType type; /* global or local */ 831 const xmlChar *href; /* URL for the namespace */ 832 const xmlChar *prefix; /* prefix for the namespace */ 833 void *_private; /* application data */ 834}; 835</pre><p> 836An XML namespace. 837Note that prefix == NULL is valid, it defines the default namespace 838within the subtree (until overridden). 839</p><p> 840xmlNsType is unified with xmlElementType.</p><p> 841 842</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNsPtr"></a>xmlNsPtr</h3><pre class="programlisting">typedef xmlNs *xmlNsPtr; 843</pre><p> 844 845</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDtd"></a>struct xmlDtd</h3><pre class="programlisting">struct xmlDtd { 846 void *_private; /* application data */ 847 xmlElementType type; /* XML_DTD_NODE, must be second ! */ 848 const xmlChar *name; /* Name of the DTD */ 849 struct _xmlNode *children; /* the value of the property link */ 850 struct _xmlNode *last; /* last child link */ 851 struct _xmlDoc *parent; /* child->parent link */ 852 struct _xmlNode *next; /* next sibling link */ 853 struct _xmlNode *prev; /* previous sibling link */ 854 struct _xmlDoc *doc; /* the containing document */ 855 856 /* End of common part */ 857 void *notations; /* Hash table for notations if any */ 858 void *elements; /* Hash table for elements if any */ 859 void *attributes; /* Hash table for attributes if any */ 860 void *entities; /* Hash table for entities if any */ 861 const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ 862 const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ 863 void *pentities; /* Hash table for param entities if any */ 864}; 865</pre><p> 866An XML DTD, as defined by <!DOCTYPE ... There is actually one for 867the internal subset and for the external subset.</p><p> 868 869</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDtdPtr"></a>xmlDtdPtr</h3><pre class="programlisting">typedef xmlDtd *xmlDtdPtr; 870</pre><p> 871 872</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttr"></a>struct xmlAttr</h3><pre class="programlisting">struct xmlAttr { 873 void *_private; /* application data */ 874 xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ 875 const xmlChar *name; /* the name of the property */ 876 struct _xmlNode *children; /* the value of the property */ 877 struct _xmlNode *last; /* NULL */ 878 struct _xmlNode *parent; /* child->parent link */ 879 struct _xmlAttr *next; /* next sibling link */ 880 struct _xmlAttr *prev; /* previous sibling link */ 881 struct _xmlDoc *doc; /* the containing document */ 882 xmlNs *ns; /* pointer to the associated namespace */ 883 xmlAttributeType atype; /* the attribute type if validating */ 884}; 885</pre><p> 886An attribute on an XML node.</p><p> 887 888</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAttrPtr"></a>xmlAttrPtr</h3><pre class="programlisting">typedef xmlAttr *xmlAttrPtr; 889</pre><p> 890 891</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlID"></a>struct xmlID</h3><pre class="programlisting">struct xmlID { 892 struct _xmlID *next; /* next ID */ 893 const xmlChar *value; /* The ID name */ 894 xmlAttrPtr attr; /* The attribute holding it */ 895 const xmlChar *name; /* The attribute if attr is not available */ 896 int lineno; /* The line number if attr is not available */ 897}; 898</pre><p> 899An XML ID instance.</p><p> 900 901</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIDPtr"></a>xmlIDPtr</h3><pre class="programlisting">typedef xmlID *xmlIDPtr; 902</pre><p> 903 904</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRef"></a>struct xmlRef</h3><pre class="programlisting">struct xmlRef { 905 struct _xmlRef *next; /* next Ref */ 906 const xmlChar *value; /* The Ref name */ 907 xmlAttrPtr attr; /* The attribute holding it */ 908 const xmlChar *name; /* The attribute if attr is not available */ 909 int lineno; /* The line number if attr is not available */ 910}; 911</pre><p> 912An XML IDREF instance.</p><p> 913 914</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRefPtr"></a>xmlRefPtr</h3><pre class="programlisting">typedef xmlRef *xmlRefPtr; 915</pre><p> 916 917</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferAllocationScheme"></a>enum xmlBufferAllocationScheme</h3><pre class="programlisting">typedef enum { 918 XML_BUFFER_ALLOC_DOUBLEIT, 919 XML_BUFFER_ALLOC_EXACT 920} xmlBufferAllocationScheme; 921</pre><p> 922A buffer allocation scheme can be defined to either match exactly the 923need or double it's allocated size each time it is found too small.</p><p> 924 925</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBuffer"></a>struct xmlBuffer</h3><pre class="programlisting">struct xmlBuffer { 926 xmlChar *content; /* The buffer content UTF8 */ 927 unsigned int use; /* The buffer size used */ 928 unsigned int size; /* The buffer size */ 929 xmlBufferAllocationScheme alloc; /* The realloc method */ 930}; 931</pre><p> 932A buffer structure.</p><p> 933 934</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferPtr"></a>xmlBufferPtr</h3><pre class="programlisting">typedef xmlBuffer *xmlBufferPtr; 935</pre><p> 936 937</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNode"></a>struct xmlNode</h3><pre class="programlisting">struct xmlNode { 938 void *_private; /* application data */ 939 xmlElementType type; /* type number, must be second ! */ 940 const xmlChar *name; /* the name of the node, or the entity */ 941 struct _xmlNode *children; /* parent->childs link */ 942 struct _xmlNode *last; /* last child link */ 943 struct _xmlNode *parent; /* child->parent link */ 944 struct _xmlNode *next; /* next sibling link */ 945 struct _xmlNode *prev; /* previous sibling link */ 946 struct _xmlDoc *doc; /* the containing document */ 947 948 /* End of common part */ 949 xmlNs *ns; /* pointer to the associated namespace */ 950 xmlChar *content; /* the content */ 951 struct _xmlAttr *properties;/* properties list */ 952 xmlNs *nsDef; /* namespace definitions on this node */ 953}; 954</pre><p> 955A node in an XML tree.</p><p> 956 957</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodePtr"></a>xmlNodePtr</h3><pre class="programlisting">typedef xmlNode *xmlNodePtr; 958</pre><p> 959 960</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-GET-CONTENT-CAPS"></a>XML_GET_CONTENT()</h3><pre class="programlisting">#define XML_GET_CONTENT(n)</pre><p> 961Macro to extract the content pointer of a node.</p><p> 962 963</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>n</tt></i>�:</span></td><td> 964 965 966</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-GET-LINE-CAPS"></a>XML_GET_LINE()</h3><pre class="programlisting">#define XML_GET_LINE(n)</pre><p> 967Macro to extract the line number of an element node. 968This will work only if line numbering is activated by 969calling xmlLineNumbersDefault(1) before parsing.</p><p> 970 971</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>n</tt></i>�:</span></td><td> 972 973 974</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDoc"></a>struct xmlDoc</h3><pre class="programlisting">struct xmlDoc { 975 void *_private; /* application data */ 976 xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ 977 char *name; /* name/filename/URI of the document */ 978 struct _xmlNode *children; /* the document tree */ 979 struct _xmlNode *last; /* last child link */ 980 struct _xmlNode *parent; /* child->parent link */ 981 struct _xmlNode *next; /* next sibling link */ 982 struct _xmlNode *prev; /* previous sibling link */ 983 struct _xmlDoc *doc; /* autoreference to itself */ 984 985 /* End of common part */ 986 int compression;/* level of zlib compression */ 987 int standalone; /* standalone document (no external refs) */ 988 struct _xmlDtd *intSubset; /* the document internal subset */ 989 struct _xmlDtd *extSubset; /* the document external subset */ 990 struct _xmlNs *oldNs; /* Global namespace, the old way */ 991 const xmlChar *version; /* the XML version string */ 992 const xmlChar *encoding; /* external initial encoding, if any */ 993 void *ids; /* Hash table for ID attributes if any */ 994 void *refs; /* Hash table for IDREFs attributes if any */ 995 const xmlChar *URL; /* The URI for that document */ 996 int charset; /* encoding of the in-memory content 997 actually an xmlCharEncoding */ 998}; 999</pre><p> 1000An XML document.</p><p> 1001 1002</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocPtr"></a>xmlDocPtr</h3><pre class="programlisting">typedef xmlDoc *xmlDocPtr; 1003</pre><p> 1004 1005</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlChildrenNode"></a>xmlChildrenNode</h3><pre class="programlisting">#define xmlChildrenNode children 1006</pre><p> 1007Macro for compatibility naming layer with libxml1.</p><p> 1008 1009</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRootNode"></a>xmlRootNode</h3><pre class="programlisting">#define xmlRootNode children 1010</pre><p> 1011Macro for compatibility naming layer with libxml1.</p><p> 1012 1013</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3><pre class="programlisting">int xmlValidateNCName (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 1014 int space);</pre><p> 1015Check that a value conforms to the lexical space of NCName</p><p> 1016 1017</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value to check 1018</td></tr><tr><td><span class="term"><i><tt>space</tt></i>�:</span></td><td> allow spaces in front and end of the string 1019</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise 1020 and -1 in case of internal or API error. 1021</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateQName"></a>xmlValidateQName ()</h3><pre class="programlisting">int xmlValidateQName (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 1022 int space);</pre><p> 1023Check that a value conforms to the lexical space of QName</p><p> 1024 1025</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value to check 1026</td></tr><tr><td><span class="term"><i><tt>space</tt></i>�:</span></td><td> allow spaces in front and end of the string 1027</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise 1028 and -1 in case of internal or API error. 1029</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateName"></a>xmlValidateName ()</h3><pre class="programlisting">int xmlValidateName (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 1030 int space);</pre><p> 1031Check that a value conforms to the lexical space of Name</p><p> 1032 1033</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value to check 1034</td></tr><tr><td><span class="term"><i><tt>space</tt></i>�:</span></td><td> allow spaces in front and end of the string 1035</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise 1036 and -1 in case of internal or API error. 1037</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3><pre class="programlisting">int xmlValidateNMToken (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 1038 int space);</pre><p> 1039Check that a value conforms to the lexical space of NMToken</p><p> 1040 1041</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value to check 1042</td></tr><tr><td><span class="term"><i><tt>space</tt></i>�:</span></td><td> allow spaces in front and end of the string 1043</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise 1044 and -1 in case of internal or API error. 1045</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBuildQName"></a>xmlBuildQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlBuildQName (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ncname, 1046 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix, 1047 <a href="libxml-tree.html#xmlChar">xmlChar</a> *memory, 1048 int len);</pre><p> 1049Builds the QName <i><tt>prefix</tt></i>:<i><tt>ncname</tt></i> in <i><tt>memory</tt></i> if there is enough space 1050and prefix is not NULL nor empty, otherwise allocate a new string. 1051If prefix is NULL or empty it returns ncname.</p><p> 1052 1053</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ncname</tt></i>�:</span></td><td> the Name 1054</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td> the prefix 1055</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>�:</span></td><td> preallocated memory 1056</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> preallocated memory length 1057</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new string which must be freed by the caller if different from 1058 <i><tt>memory</tt></i> and <i><tt>ncname</tt></i> or NULL in case of error 1059</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlSplitQName2 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1060 <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p> 1061parse an XML qualified name string 1062</p><p> 1063[NS 5] QName ::= (Prefix ':')? LocalPart 1064</p><p> 1065[NS 6] Prefix ::= NCName 1066</p><p> 1067[NS 7] LocalPart ::= NCName</p><p> 1068 1069</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the full QName 1070</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td> a xmlChar ** 1071</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if not a QName, otherwise the local part, and prefix 1072 is updated to get the Prefix if any. 1073</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3><pre class="programlisting">void xmlSetBufferAllocationScheme (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);</pre><p> 1074Set the buffer allocation method. Types are 1075XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down 1076XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, 1077 improves performance</p><p> 1078 1079</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>scheme</tt></i>�:</span></td><td> allocation method to use 1080</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlGetBufferAllocationScheme 1081 (void);</pre><p> 1082Types are 1083XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down 1084XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, 1085 improves performance</p><p> 1086 1087</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the current allocation scheme 1088</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreate (void);</pre><p> 1089routine to create an XML buffer.</p><p> 1090 1091</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new structure. 1092</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreateSize (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="size-t">size_t</GTKDOCLINK> size);</pre><p> 1093routine to create an XML buffer.</p><p> 1094 1095</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>size</tt></i>�:</span></td><td> initial size of buffer 1096</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new structure. 1097</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferResize"></a>xmlBufferResize ()</h3><pre class="programlisting">int xmlBufferResize (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1098 unsigned int size);</pre><p> 1099Resize a buffer to accommodate minimum size of <i><tt>size</tt></i>.</p><p> 1100 1101</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to resize 1102</td></tr><tr><td><span class="term"><i><tt>size</tt></i>�:</span></td><td> the desired size 1103</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of problems, 1 otherwise 1104</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferFree"></a>xmlBufferFree ()</h3><pre class="programlisting">void xmlBufferFree (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p> 1105Frees an XML buffer. It frees both the content and the structure which 1106encapsulate it.</p><p> 1107 1108</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to free 1109</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferDump"></a>xmlBufferDump ()</h3><pre class="programlisting">int xmlBufferDump (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file, 1110 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p> 1111Dumps an XML buffer to a FILE *.</p><p> 1112 1113</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>file</tt></i>�:</span></td><td> the file output 1114</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to dump 1115</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> written 1116</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3><pre class="programlisting">void xmlBufferAdd (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1117 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, 1118 int len);</pre><p> 1119Add a string range to an XML buffer. if len == -1, the length of 1120str is recomputed.</p><p> 1121 1122</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to dump 1123</td></tr><tr><td><span class="term"><i><tt>str</tt></i>�:</span></td><td> the <a href="libxml-tree.html#xmlChar">xmlChar</a> string 1124</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> to add 1125</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3><pre class="programlisting">void xmlBufferAddHead (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1126 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, 1127 int len);</pre><p> 1128Add a string range to the beginning of an XML buffer. 1129if len == -1, the length of <i><tt>str</tt></i> is recomputed.</p><p> 1130 1131</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer 1132</td></tr><tr><td><span class="term"><i><tt>str</tt></i>�:</span></td><td> the <a href="libxml-tree.html#xmlChar">xmlChar</a> string 1133</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> to add 1134</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferCat"></a>xmlBufferCat ()</h3><pre class="programlisting">void xmlBufferCat (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1135 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p> 1136Append a zero terminated string to an XML buffer.</p><p> 1137 1138</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to dump 1139</td></tr><tr><td><span class="term"><i><tt>str</tt></i>�:</span></td><td> the <a href="libxml-tree.html#xmlChar">xmlChar</a> string 1140</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3><pre class="programlisting">void xmlBufferCCat (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1141 const char *str);</pre><p> 1142Append a zero terminated C string to an XML buffer.</p><p> 1143 1144</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to dump 1145</td></tr><tr><td><span class="term"><i><tt>str</tt></i>�:</span></td><td> the C char string 1146</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3><pre class="programlisting">int xmlBufferShrink (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1147 unsigned int len);</pre><p> 1148Remove the beginning of an XML buffer.</p><p> 1149 1150</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to dump 1151</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the number of xmlChar to remove 1152</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> removed, or -1 in case of failure. 1153</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3><pre class="programlisting">int xmlBufferGrow (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1154 unsigned int len);</pre><p> 1155Grow the available space of an XML buffer.</p><p> 1156 1157</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer 1158</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the minimum free size to allocate 1159</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new available space or -1 in case of error 1160</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3><pre class="programlisting">void xmlBufferEmpty (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p> 1161empty a buffer.</p><p> 1162 1163</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer 1164</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferContent"></a>xmlBufferContent ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlBufferContent (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p> 1165Function to extract the content of a buffer</p><p> 1166 1167</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer 1168</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the internal content 1169</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3><pre class="programlisting">void xmlBufferSetAllocationScheme (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1170 <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);</pre><p> 1171Sets the allocation scheme for this buffer</p><p> 1172 1173</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer to tune 1174</td></tr><tr><td><span class="term"><i><tt>scheme</tt></i>�:</span></td><td> allocation scheme to use 1175</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferLength"></a>xmlBufferLength ()</h3><pre class="programlisting">int xmlBufferLength (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p> 1176Function to get the length of a buffer</p><p> 1177 1178</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the buffer 1179</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the length of data in the internal content 1180</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlCreateIntSubset (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1181 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1182 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, 1183 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> 1184Create the internal subset of a document</p><p> 1185 1186</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document pointer 1187</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the DTD name 1188</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>�:</span></td><td> the external (PUBLIC) ID 1189</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>�:</span></td><td> the system ID 1190</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new DTD structure 1191</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDtd"></a>xmlNewDtd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlNewDtd (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1192 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1193 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, 1194 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> 1195Creation of a new DTD for the external subset. To create an 1196internal subset, use <a href="libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a>().</p><p> 1197 1198</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document pointer 1199</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the DTD name 1200</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>�:</span></td><td> the external ID 1201</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>�:</span></td><td> the system ID 1202</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new DTD structure 1203</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlGetIntSubset (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 1204Get the internal subset of a document</p><p> 1205 1206</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document pointer 1207</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the DTD structure or NULL if not found 1208</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3><pre class="programlisting">void xmlFreeDtd (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);</pre><p> 1209Free a DTD structure.</p><p> 1210 1211</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the DTD structure to free up 1212</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlNewGlobalNs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1213 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href, 1214 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p> 1215Creation of a Namespace, the old way using PI and without scoping 1216 DEPRECATED !!! 1217It now create a namespace on the root element of the document if found.</p><p> 1218 1219</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document carrying the namespace 1220</td></tr><tr><td><span class="term"><i><tt>href</tt></i>�:</span></td><td> the URI associated 1221</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td> the prefix for the namespace 1222</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL this functionality had been removed 1223</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewNs"></a>xmlNewNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlNewNs (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1224 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href, 1225 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p> 1226Creation of a new Namespace. This function will refuse to create 1227a namespace with a similar prefix than an existing one present on this 1228node. 1229We use href==NULL in the case of an element creation where the namespace 1230was not defined.</p><p> 1231 1232</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the element carrying the namespace 1233</td></tr><tr><td><span class="term"><i><tt>href</tt></i>�:</span></td><td> the URI associated 1234</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td> the prefix for the namespace 1235</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new namespace pointer or NULL 1236</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeNs"></a>xmlFreeNs ()</h3><pre class="programlisting">void xmlFreeNs (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p> 1237Free up the structures associated to a namespace</p><p> 1238 1239</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the namespace pointer 1240</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3><pre class="programlisting">void xmlFreeNsList (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p> 1241Free up all the structures associated to the chained namespaces.</p><p> 1242 1243</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first namespace pointer 1244</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDoc"></a>xmlNewDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlNewDoc (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *version);</pre><p> 1245Creates a new XML document</p><p> 1246 1247</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>version</tt></i>�:</span></td><td> xmlChar string giving the version of XML "1.0" 1248</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new document 1249</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3><pre class="programlisting">void xmlFreeDoc (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p> 1250Free up all the structures used by a document, tree included.</p><p> 1251 1252</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> pointer to the document 1253</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlNewDocProp (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1254 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1255 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1256Create a new property carried by a document.</p><p> 1257 1258</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1259</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the attribute 1260</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the attribute 1261</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute 1262</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewProp"></a>xmlNewProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlNewProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1263 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1264 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1265Create a new property carried by a node.</p><p> 1266 1267</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the holding node 1268</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the attribute 1269</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the attribute 1270</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute 1271</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlNewNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1272 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1273 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1274 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1275Create a new property tagged with a namespace and carried by a node.</p><p> 1276 1277</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the holding node 1278</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> the namespace 1279</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the attribute 1280</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the attribute 1281</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute 1282</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlNewNsPropEatName (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1283 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1284 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1285 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1286Create a new property tagged with a namespace and carried by a node.</p><p> 1287 1288</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the holding node 1289</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> the namespace 1290</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the attribute 1291</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the attribute 1292</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute 1293</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreePropList"></a>xmlFreePropList ()</h3><pre class="programlisting">void xmlFreePropList (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p> 1294Free a property and all its siblings, all the children are freed too.</p><p> 1295 1296</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first property in the list 1297</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeProp"></a>xmlFreeProp ()</h3><pre class="programlisting">void xmlFreeProp (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p> 1298Free one attribute, all the content is freed too</p><p> 1299 1300</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> an attribute 1301</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyProp"></a>xmlCopyProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlCopyProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, 1302 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p> 1303Do a copy of the attribute.</p><p> 1304 1305</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>target</tt></i>�:</span></td><td> the element where the attribute will be grafted 1306</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the attribute 1307</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>, or NULL in case of error. 1308</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlCopyPropList (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, 1309 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p> 1310Do a copy of an attribute list.</p><p> 1311 1312</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>target</tt></i>�:</span></td><td> the element where the attributes will be grafted 1313</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first attribute 1314</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>, or NULL in case of error. 1315</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlCopyDtd (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p> 1316Do a copy of the dtd.</p><p> 1317 1318</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>dtd</tt></i>�:</span></td><td> the dtd 1319</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>, or NULL in case of error. 1320</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCopyDoc (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1321 int recursive);</pre><p> 1322Do a copy of the document info. If recursive, the content tree will 1323be copied too as well as DTD, namespaces and entities.</p><p> 1324 1325</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1326</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>�:</span></td><td> if 1 do a recursive copy. 1327</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>, or NULL in case of error. 1328</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocNode (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1329 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1330 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1331 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1332Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i> 1333are optional (NULL). 1334NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities 1335 references, but XML special chars need to be escaped first by using 1336 <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't 1337 need entities support.</p><p> 1338 1339</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1340</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> namespace if any 1341</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the node name 1342</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the XML text content if any 1343</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1344</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocNodeEatName (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1345 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1346 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1347 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1348Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i> 1349are optional (NULL). 1350NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities 1351 references, but XML special chars need to be escaped first by using 1352 <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't 1353 need entities support.</p><p> 1354 1355</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1356</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> namespace if any 1357</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the node name 1358</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the XML text content if any 1359</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1360</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocRawNode (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1361 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1362 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1363 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1364Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i> 1365are optional (NULL).</p><p> 1366 1367</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1368</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> namespace if any 1369</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the node name 1370</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content if any 1371</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1372</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewNode"></a>xmlNewNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewNode (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1373 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1374Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p> 1375 1376</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> namespace if any 1377</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the node name 1378</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1379</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewNodeEatName (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1380 <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1381Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p> 1382 1383</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> namespace if any 1384</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the node name 1385</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1386</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewChild"></a>xmlNewChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewChild (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 1387 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1388 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1389 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1390Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list. 1391<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If content is non NULL, 1392a child list containing the TEXTs and ENTITY_REFs node will be created. 1393NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities 1394 references, but XML special chars need to be escaped first by using 1395 <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a>() if entities 1396 support is not needed.</p><p> 1397 1398</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>parent</tt></i>�:</span></td><td> the parent node 1399</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> a namespace if any 1400</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the child 1401</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the XML content of the child if any. 1402</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1403</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewTextChild (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 1404 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1405 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1406 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1407Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list. 1408<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If content is non NULL, 1409a child TEXT node will be created containing the string content.</p><p> 1410 1411</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>parent</tt></i>�:</span></td><td> the parent node 1412</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> a namespace if any 1413</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the name of the child 1414</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content of the child if any. 1415</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1416</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocText"></a>xmlNewDocText ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocText (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1417 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1418Creation of a new text node within a document.</p><p> 1419 1420</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1421</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content 1422</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1423</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewText"></a>xmlNewText ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewText (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1424Creation of a new text node.</p><p> 1425 1426</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content 1427</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1428</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewPI"></a>xmlNewPI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewPI (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1429 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1430Creation of a processing instruction element.</p><p> 1431 1432</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the processing instruction name 1433</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the PI content 1434</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1435</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocTextLen (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1436 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1437 int len);</pre><p> 1438Creation of a new text node with an extra content length parameter. The 1439text node pertain to a given document.</p><p> 1440 1441</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1442</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content 1443</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the text len. 1444</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1445</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewTextLen (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1446 int len);</pre><p> 1447Creation of a new text node with an extra parameter for the content's length</p><p> 1448 1449</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the text content 1450</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the text len. 1451</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1452</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocComment (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1453 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1454Creation of a new node containing a comment within a document.</p><p> 1455 1456</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1457</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the comment content 1458</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1459</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewComment"></a>xmlNewComment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewComment (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1460Creation of a new node containing a comment.</p><p> 1461 1462</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the comment content 1463</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1464</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewCDataBlock (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1465 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1466 int len);</pre><p> 1467Creation of a new node containing a CDATA block.</p><p> 1468 1469</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1470</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the CDATA block content content 1471</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the length of the block 1472</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1473</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewCharRef (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1474 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1475Creation of a new character reference node.</p><p> 1476 1477</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1478</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the char ref string, starting with # or "&# ... ;" 1479</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1480</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewReference"></a>xmlNewReference ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewReference (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1481 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1482Creation of a new reference node.</p><p> 1483 1484</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1485</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the reference name, or the reference string with & and ; 1486</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1487</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyNode"></a>xmlCopyNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlCopyNode (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1488 int recursive);</pre><p> 1489Do a copy of the node.</p><p> 1490 1491</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1492</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>�:</span></td><td> if 1 do a recursive copy. 1493</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error. 1494</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlDocCopyNode (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1495 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1496 int recursive);</pre><p> 1497Do a copy of the node to a given document.</p><p> 1498 1499</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1500</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1501</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>�:</span></td><td> if 1 do a recursive copy. 1502</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error. 1503</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlCopyNodeList (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1504Do a recursive copy of the node list.</p><p> 1505 1506</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the first node in the list. 1507</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error. 1508</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlNewDocFragment (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 1509Creation of a new Fragment node.</p><p> 1510 1511</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document owning the fragment 1512</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object. 1513</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> xmlGetLineNo (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1514Get line number of node. this requires activation of this option 1515before invoking the parser by calling xmlLineNumbersDefault(1)</p><p> 1516 1517</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> valid node 1518</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the line number if successful, -1 otherwise 1519</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlGetNodePath (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1520Build a structure based Path for the given node</p><p> 1521 1522</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> a node 1523</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new path or NULL in case of error. The caller must free 1524 the returned string 1525</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlDocGetRootElement (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 1526Get the root element of the document (doc->children is a list 1527containing possibly comments, PIs, etc ...).</p><p> 1528 1529</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1530</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> for the root or NULL 1531</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlGetLastChild (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent);</pre><p> 1532Search the last child of a node.</p><p> 1533 1534</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>parent</tt></i>�:</span></td><td> the parent node 1535</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last child or NULL if none. 1536</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3><pre class="programlisting">int xmlNodeIsText (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1537Is this node a Text node ?</p><p> 1538 1539</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1540</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 yes, 0 no 1541</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3><pre class="programlisting">int xmlIsBlankNode (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1542Checks whether this node is an empty or whitespace only 1543(and possibly ignorable) text-node.</p><p> 1544 1545</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1546</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 yes, 0 no 1547</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlDocSetRootElement (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1548 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root);</pre><p> 1549Set the root element of the document (doc->children is a list 1550containing possibly comments, PIs, etc ...).</p><p> 1551 1552</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1553</td></tr><tr><td><span class="term"><i><tt>root</tt></i>�:</span></td><td> the new document root element 1554</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the old root element if any was found 1555</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3><pre class="programlisting">void xmlNodeSetName (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1556 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1557Set (or reset) the name of a node.</p><p> 1558 1559</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being changed 1560</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the new tag name 1561</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddChild"></a>xmlAddChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddChild (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 1562 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1563Add a new node to <i><tt>parent</tt></i>, at the end of the child (or property) list 1564merging adjacent TEXT nodes (in which case <i><tt>cur</tt></i> is freed) 1565If the new node is ATTRIBUTE, it is added into properties instead of children. 1566If there is an attribute with equal name, it is first destroyed.</p><p> 1567 1568</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>parent</tt></i>�:</span></td><td> the parent node 1569</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the child node 1570</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the child or NULL in case of error. 1571</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddChildList"></a>xmlAddChildList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddChildList (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent, 1572 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1573Add a list of node at the end of the child list of the parent 1574merging adjacent TEXT nodes (<i><tt>cur</tt></i> may be freed)</p><p> 1575 1576</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>parent</tt></i>�:</span></td><td> the parent node 1577</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first node in the list 1578</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last child or NULL in case of error. 1579</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlReplaceNode (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old, 1580 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1581Unlink the old node from it's current context, prune the new one 1582at the same place. If <i><tt>cur</tt></i> was already inserted in a document it is 1583first unlinked from its existing context.</p><p> 1584 1585</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>old</tt></i>�:</span></td><td> the old node 1586</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node 1587</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the <i><tt>old</tt></i> node 1588</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddSibling"></a>xmlAddSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddSibling (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1589 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p> 1590Add a new element <i><tt>elem</tt></i> to the list of siblings of <i><tt>cur</tt></i> 1591merging adjacent TEXT nodes (<i><tt>elem</tt></i> may be freed) 1592If the new element was already inserted in a document it is 1593first unlinked from its existing context.</p><p> 1594 1595</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the child node 1596</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>�:</span></td><td> the new node 1597</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new element or NULL in case of error. 1598</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddPrevSibling (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1599 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p> 1600Add a new node <i><tt>elem</tt></i> as the previous sibling of <i><tt>cur</tt></i> 1601merging adjacent TEXT nodes (<i><tt>elem</tt></i> may be freed) 1602If the new node was already inserted in a document it is 1603first unlinked from its existing context. 1604If the new node is ATTRIBUTE, it is added into properties instead of children. 1605If there is an attribute with equal name, it is first destroyed.</p><p> 1606 1607</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the child node 1608</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>�:</span></td><td> the new node 1609</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new node or NULL in case of error. 1610</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddNextSibling (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1611 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p> 1612Add a new node <i><tt>elem</tt></i> as the next sibling of <i><tt>cur</tt></i> 1613If the new node was already inserted in a document it is 1614first unlinked from its existing context. 1615As a result of text merging <i><tt>elem</tt></i> may be freed. 1616If the new node is ATTRIBUTE, it is added into properties instead of children. 1617If there is an attribute with equal name, it is first destroyed.</p><p> 1618 1619</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the child node 1620</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>�:</span></td><td> the new node 1621</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new node or NULL in case of error. 1622</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3><pre class="programlisting">void xmlUnlinkNode (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1623Unlink a node from it's current context, the node is not freed</p><p> 1624 1625</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node 1626</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlTextMerge"></a>xmlTextMerge ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlTextMerge (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first, 1627 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second);</pre><p> 1628Merge two text nodes into one</p><p> 1629 1630</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>first</tt></i>�:</span></td><td> the first text node 1631</td></tr><tr><td><span class="term"><i><tt>second</tt></i>�:</span></td><td> the second text node being merged 1632</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the first text node augmented 1633</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlTextConcat"></a>xmlTextConcat ()</h3><pre class="programlisting">int xmlTextConcat (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1634 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1635 int len);</pre><p> 1636Concat the given string at the end of the existing node content</p><p> 1637 1638</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1639</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the content 1640</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> <i><tt>content</tt></i> length 1641</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case of error, 0 otherwise 1642</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3><pre class="programlisting">void xmlFreeNodeList (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1643Free a node and all its siblings, this is a recursive behaviour, all 1644the children are freed too.</p><p> 1645 1646</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first node in the list 1647</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeNode"></a>xmlFreeNode ()</h3><pre class="programlisting">void xmlFreeNode (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1648Free a node, this is a recursive behaviour, all the children are freed too. 1649This doesn't unlink the child from the list, use <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a>() first.</p><p> 1650 1651</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node 1652</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3><pre class="programlisting">void xmlSetTreeDoc (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, 1653 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 1654update all nodes under the tree to point to the right document</p><p> 1655 1656</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>tree</tt></i>�:</span></td><td> the top element 1657</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1658</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3><pre class="programlisting">void xmlSetListDoc (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 1659 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 1660update all nodes in the list to point to the right document</p><p> 1661 1662</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>list</tt></i>�:</span></td><td> the first element 1663</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1664</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSearchNs"></a>xmlSearchNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1665 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1666 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p> 1667Search a Ns registered under a given name space for a document. 1668recurse on the parents until it finds the defined namespace 1669or return NULL otherwise. 1670<i><tt>nameSpace</tt></i> can be NULL, this is a search for the default namespace. 1671We don't allow to cross entities boundaries. If you don't declare 1672the namespace within those you will be in troubles !!! A warning 1673is generated to cover this case.</p><p> 1674 1675</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1676</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the current node 1677</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>�:</span></td><td> the namespace prefix 1678</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace pointer or NULL. 1679</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlSearchNsByHref (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1680 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1681 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href);</pre><p> 1682Search a Ns aliasing a given URI. Recurse on the parents until it finds 1683the defined namespace or return NULL otherwise.</p><p> 1684 1685</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1686</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the current node 1687</td></tr><tr><td><span class="term"><i><tt>href</tt></i>�:</span></td><td> the namespace value 1688</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace pointer or NULL. 1689</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetNsList"></a>xmlGetNsList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>* xmlGetNsList (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1690 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> 1691Search all the namespace applying to a given element.</p><p> 1692 1693</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1694</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the current node 1695</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>an NULL terminated array of all the <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> found 1696 that need to be freed by the caller or NULL if no 1697 namespace if defined 1698</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetNs"></a>xmlSetNs ()</h3><pre class="programlisting">void xmlSetNs (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1699 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p> 1700Associate a namespace to a node, a posteriori.</p><p> 1701 1702</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> a node in the document 1703</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> a namespace pointer 1704</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlCopyNamespace (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p> 1705Do a copy of the namespace.</p><p> 1706 1707</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the namespace 1708</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>, or NULL in case of error. 1709</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> xmlCopyNamespaceList (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p> 1710Do a copy of an namespace list.</p><p> 1711 1712</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the first namespace 1713</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>, or NULL in case of error. 1714</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetProp"></a>xmlSetProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlSetProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1715 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1716 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1717Set (or reset) an attribute carried by a node.</p><p> 1718 1719</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1720</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1721</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the attribute value 1722</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute pointer. 1723</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetProp"></a>xmlGetProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlGetProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1724 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1725Search and get the value of an attribute associated to a node 1726This does the entity substitution. 1727This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or 1728default declaration values unless DTD use has been turned off. 1729NOTE: this function acts independently of namespaces associated 1730 to the attribute. Use <a href="libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a>() or <a href="libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a>() 1731 for namespace aware processing.</p><p> 1732 1733</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1734</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1735</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute value or NULL if not found. 1736 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1737</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlGetNoNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1738 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1739Search and get the value of an attribute associated to a node 1740This does the entity substitution. 1741This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or 1742default declaration values unless DTD use has been turned off. 1743This function is similar to xmlGetProp except it will accept only 1744an attribute in no namespace.</p><p> 1745 1746</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1747</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1748</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute value or NULL if not found. 1749 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1750</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHasProp"></a>xmlHasProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlHasProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1751 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1752Search an attribute associated to a node 1753This function also looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or 1754default declaration values unless DTD use has been turned off.</p><p> 1755 1756</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1757</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1758</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute or the attribute declaration or NULL if 1759 neither was found. 1760</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlHasNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1761 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1762 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p> 1763Search for an attribute associated to a node 1764This attribute has to be anchored in the namespace specified. 1765This does the entity substitution. 1766This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or 1767default declaration values unless DTD use has been turned off.</p><p> 1768 1769</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1770</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1771</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>�:</span></td><td> the URI of the namespace 1772</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute or the attribute declaration or NULL 1773 if neither was found. 1774</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> xmlSetNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1775 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1776 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1777 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1778Set (or reset) an attribute carried by a node. 1779The ns structure must be in scope, this is not checked.</p><p> 1780 1781</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1782</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> the namespace definition 1783</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1784</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the attribute value 1785</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute pointer. 1786</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlGetNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1787 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, 1788 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p> 1789Search and get the value of an attribute associated to a node 1790This attribute has to be anchored in the namespace specified. 1791This does the entity substitution. 1792This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or 1793default declaration values unless DTD use has been turned off.</p><p> 1794 1795</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1796</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1797</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>�:</span></td><td> the URI of the namespace 1798</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute value or NULL if not found. 1799 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1800</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlStringGetNodeList (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1801 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> 1802Parse the value string and build the node list associated. Should 1803produce a flat tree with only TEXTs and ENTITY_REFs.</p><p> 1804 1805</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1806</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the attribute 1807</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the first child 1808</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlStringLenGetNodeList (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1809 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, 1810 int len);</pre><p> 1811Parse the value string and build the node list associated. Should 1812produce a flat tree with only TEXTs and ENTITY_REFs.</p><p> 1813 1814</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1815</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td> the value of the text 1816</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the length of the string value 1817</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the first child 1818</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNodeListGetString (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1819 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 1820 int inLine);</pre><p> 1821Build the string equivalent to the text contained in the Node list 1822made of TEXTs and ENTITY_REFs</p><p> 1823 1824</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1825</td></tr><tr><td><span class="term"><i><tt>list</tt></i>�:</span></td><td> a Node list 1826</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>�:</span></td><td> should we replace entity contents or show their external form 1827</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the string copy, the caller must free it with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1828</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNodeListGetRawString (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1829 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list, 1830 int inLine);</pre><p> 1831Builds the string equivalent to the text contained in the Node list 1832made of TEXTs and ENTITY_REFs, contrary to <a href="libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a>() 1833this function doesn't do any character encoding handling.</p><p> 1834 1835</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1836</td></tr><tr><td><span class="term"><i><tt>list</tt></i>�:</span></td><td> a Node list 1837</td></tr><tr><td><span class="term"><i><tt>inLine</tt></i>�:</span></td><td> should we replace entity contents or show their external form 1838</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the string copy, the caller must free it with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1839</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3><pre class="programlisting">void xmlNodeSetContent (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1840 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1841Replace the content of a node.</p><p> 1842 1843</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being modified 1844</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the new value of the content 1845</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3><pre class="programlisting">void xmlNodeSetContentLen (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1846 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1847 int len);</pre><p> 1848Replace the content of a node.</p><p> 1849 1850</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being modified 1851</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> the new value of the content 1852</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the size of <i><tt>content</tt></i> 1853</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3><pre class="programlisting">void xmlNodeAddContent (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1854 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> 1855Append the extra substring to the node content.</p><p> 1856 1857</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being modified 1858</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> extra content 1859</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3><pre class="programlisting">void xmlNodeAddContentLen (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1860 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content, 1861 int len);</pre><p> 1862Append the extra substring to the node content.</p><p> 1863 1864</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being modified 1865</td></tr><tr><td><span class="term"><i><tt>content</tt></i>�:</span></td><td> extra content 1866</td></tr><tr><td><span class="term"><i><tt>len</tt></i>�:</span></td><td> the size of <i><tt>content</tt></i> 1867</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNodeGetContent (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1868Read the value of a node, this can be either the text carried 1869directly by this node if it's a TEXT node or the aggregate string 1870of the values carried by this node child's (TEXT and ENTITY_REF). 1871Entity references are substituted.</p><p> 1872 1873</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being read 1874</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new <a href="libxml-tree.html#xmlChar">xmlChar</a> * or NULL if no content is available. 1875 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1876</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNodeGetLang (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1877Searches the language of a node, i.e. the values of the xml:lang 1878attribute or the one carried by the nearest ancestor.</p><p> 1879 1880</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being checked 1881</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the lang value, or NULL if not found 1882 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1883</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3><pre class="programlisting">void xmlNodeSetLang (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1884 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);</pre><p> 1885Set the language of a node, i.e. the values of the xml:lang 1886attribute.</p><p> 1887 1888</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being changed 1889</td></tr><tr><td><span class="term"><i><tt>lang</tt></i>�:</span></td><td> the language description 1890</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3><pre class="programlisting">int xmlNodeGetSpacePreserve (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1891Searches the space preserving behaviour of a node, i.e. the values 1892of the xml:space attribute or the one carried by the nearest 1893ancestor.</p><p> 1894 1895</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being checked 1896</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve" 1897</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3><pre class="programlisting">void xmlNodeSetSpacePreserve (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1898 int val);</pre><p> 1899Set (or reset) the space preserving behaviour of a node, i.e. the 1900value of the xml:space attribute.</p><p> 1901 1902</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being changed 1903</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td> the xml:space value ("0": default, 1: "preserve") 1904</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlNodeGetBase (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1905 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 1906Searches for the BASE URL. The code should work on both XML 1907and HTML document even if base mechanisms are completely different. 1908It returns the base as defined in RFC 2396 sections 19095.1.1. Base URI within Document Content 1910and 19115.1.2. Base URI from the Encapsulating Entity 1912However it does not return the document base (5.1.3), use 1913<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocumentGetBase">xmlDocumentGetBase</GTKDOCLINK>() for this</p><p> 1914 1915</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document the node pertains to 1916</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being checked 1917</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the base URL, or NULL if not found 1918 It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1919</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3><pre class="programlisting">void xmlNodeSetBase (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 1920 <a href="libxml-tree.html#xmlChar">xmlChar</a> *uri);</pre><p> 1921Set (or reset) the base URI of a node, i.e. the value of the 1922xml:base attribute.</p><p> 1923 1924</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the node being changed 1925</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>�:</span></td><td> the new base URI 1926</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3><pre class="programlisting">int xmlRemoveProp (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p> 1927Unlink and free one attribute, all the content is freed too 1928Note this doesn't work for namespace definition attributes</p><p> 1929 1930</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> an attribute 1931</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if success and -1 in case of error. 1932</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3><pre class="programlisting">int xmlUnsetProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1933 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1934Remove an attribute carried by a node.</p><p> 1935 1936</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1937</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1938</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if successful, -1 if not found 1939</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3><pre class="programlisting">int xmlUnsetNsProp (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, 1940 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, 1941 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> 1942Remove an attribute carried by a node.</p><p> 1943 1944</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> the node 1945</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td> the namespace definition 1946</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td> the attribute name 1947</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if successful, -1 if not found 1948</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3><pre class="programlisting">void xmlBufferWriteCHAR (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1949 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p> 1950routine which manages and grows an output buffer. This one adds 1951xmlChars at the end of the buffer.</p><p> 1952 1953</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the XML buffer 1954</td></tr><tr><td><span class="term"><i><tt>string</tt></i>�:</span></td><td> the string to add 1955</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3><pre class="programlisting">void xmlBufferWriteChar (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1956 const char *string);</pre><p> 1957routine which manage and grows an output buffer. This one add 1958C chars at the end of the array.</p><p> 1959 1960</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the XML buffer output 1961</td></tr><tr><td><span class="term"><i><tt>string</tt></i>�:</span></td><td> the string to add 1962</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3><pre class="programlisting">void xmlBufferWriteQuotedString (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 1963 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p> 1964routine which manage and grows an output buffer. This one writes 1965a quoted or double quoted <a href="libxml-tree.html#xmlChar">xmlChar</a> string, checking first if it holds 1966quote or double-quotes internally</p><p> 1967 1968</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the XML buffer output 1969</td></tr><tr><td><span class="term"><i><tt>string</tt></i>�:</span></td><td> the string to add 1970</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3><pre class="programlisting">int xmlReconciliateNs (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 1971 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);</pre><p> 1972This function checks that all the namespaces declared within the given 1973tree are properly declared. This is needed for example after Copy or Cut 1974and then paste operations. The subtree may still hold pointers to 1975namespace declarations outside the subtree or invalid/masked. As much 1976as possible the function try to reuse the existing namespaces found in 1977the new environment. If not possible the new namespaces are redeclared 1978on <i><tt>tree</tt></i> at the top of the given subtree.</p><p> 1979 1980</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 1981</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>�:</span></td><td> a node defining the subtree to reconciliate 1982</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of namespace declarations created or -1 in case of error. 1983</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3><pre class="programlisting">void xmlDocDumpFormatMemory (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 1984 <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem, 1985 int *size, 1986 int format);</pre><p> 1987Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size. 1988It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 1989Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 1990or xmlKeepBlanksDefault(0) was called</p><p> 1991 1992</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 1993</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>�:</span></td><td> OUT: the memory pointer 1994</td></tr><tr><td><span class="term"><i><tt>size</tt></i>�:</span></td><td> OUT: the memory length 1995</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces been added 1996</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3><pre class="programlisting">void xmlDocDumpMemory (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 1997 <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem, 1998 int *size);</pre><p> 1999Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size. 2000It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p> 2001 2002</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2003</td></tr><tr><td><span class="term"><i><tt>mem</tt></i>�:</span></td><td> OUT: the memory pointer 2004</td></tr><tr><td><span class="term"><i><tt>size</tt></i>�:</span></td><td> OUT: the memory length 2005</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3><pre class="programlisting">void xmlDocDumpMemoryEnc (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, 2006 <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr, 2007 int *doc_txt_len, 2008 const char *txt_encoding);</pre><p> 2009Dump the current DOM tree into memory using the character encoding specified 2010by the caller. Note it is up to the caller of this function to free the 2011allocated memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p> 2012 2013</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>�:</span></td><td> Document to generate XML text from 2014</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>�:</span></td><td> Memory pointer for allocated XML text 2015</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>�:</span></td><td> Length of the generated XML text 2016</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>�:</span></td><td> Character encoding to use when generating XML text 2017</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3><pre class="programlisting">void xmlDocDumpFormatMemoryEnc (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, 2018 <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr, 2019 int *doc_txt_len, 2020 const char *txt_encoding, 2021 int format);</pre><p> 2022Dump the current DOM tree into memory using the character encoding specified 2023by the caller. Note it is up to the caller of this function to free the 2024allocated memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>(). 2025Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2026or xmlKeepBlanksDefault(0) was called</p><p> 2027 2028</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out_doc</tt></i>�:</span></td><td> Document to generate XML text from 2029</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>�:</span></td><td> Memory pointer for allocated XML text 2030</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>�:</span></td><td> Length of the generated XML text 2031</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i>�:</span></td><td> Character encoding to use when generating XML text 2032</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces been added 2033</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3><pre class="programlisting">int xmlDocFormatDump (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 2034 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2035 int format);</pre><p> 2036Dump an XML document to an open FILE.</p><p> 2037 2038</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td> the FILE* 2039</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2040</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces been added 2041</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2042Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2043or xmlKeepBlanksDefault(0) was called 2044</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDocDump"></a>xmlDocDump ()</h3><pre class="programlisting">int xmlDocDump (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 2045 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p> 2046Dump an XML document to an open FILE.</p><p> 2047 2048</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td> the FILE* 2049</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2050</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2051</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlElemDump"></a>xmlElemDump ()</h3><pre class="programlisting">void xmlElemDump (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f, 2052 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 2053 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p> 2054Dump an XML/HTML node, recursive behaviour, children are printed too.</p><p> 2055 2056</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td> the FILE * for the output 2057</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 2058</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the current node 2059</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFile"></a>xmlSaveFile ()</h3><pre class="programlisting">int xmlSaveFile (const char *filename, 2060 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p> 2061Dump an XML document to a file. Will use compression if 2062compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is 2063used.</p><p> 2064 2065</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>�:</span></td><td> the filename (or URL) 2066</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2067</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2068</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3><pre class="programlisting">int xmlSaveFormatFile (const char *filename, 2069 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2070 int format);</pre><p> 2071Dump an XML document to a file. Will use compression if 2072compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is 2073used. If <i><tt>format</tt></i> is set then the document will be indented on output. 2074Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2075or xmlKeepBlanksDefault(0) was called</p><p> 2076 2077</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>�:</span></td><td> the filename (or URL) 2078</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2079</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces been added 2080</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2081</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeDump"></a>xmlNodeDump ()</h3><pre class="programlisting">int xmlNodeDump (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, 2082 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 2083 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 2084 int level, 2085 int format);</pre><p> 2086Dump an XML node, recursive behaviour,children are printed too. 2087Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2088or xmlKeepBlanksDefault(0) was called</p><p> 2089 2090</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the XML buffer output 2091</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 2092</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the current node 2093</td></tr><tr><td><span class="term"><i><tt>level</tt></i>�:</span></td><td> the imbrication level for indenting 2094</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> is formatting allowed 2095</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written to the buffer or -1 in case of error 2096</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3><pre class="programlisting">int xmlSaveFileTo (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 2097 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2098 const char *encoding);</pre><p> 2099Dump an XML document to an I/O buffer.</p><p> 2100 2101</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> an output I/O buffer 2102</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2103</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>�:</span></td><td> the encoding if any assuming the I/O layer handles the trancoding 2104</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2105</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3><pre class="programlisting">int xmlSaveFormatFileTo (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 2106 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2107 const char *encoding, 2108 int format);</pre><p> 2109Dump an XML document to an I/O buffer.</p><p> 2110 2111</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> an output I/O buffer 2112</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2113</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>�:</span></td><td> the encoding if any assuming the I/O layer handles the trancoding 2114</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces been added 2115</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2116Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2117or xmlKeepBlanksDefault(0) was called 2118</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3><pre class="programlisting">void xmlNodeDumpOutput (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 2119 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 2120 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, 2121 int level, 2122 int format, 2123 const char *encoding);</pre><p> 2124Dump an XML node, recursive behaviour, children are printed too. 2125Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2126or xmlKeepBlanksDefault(0) was called</p><p> 2127 2128</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>�:</span></td><td> the XML buffer output 2129</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 2130</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the current node 2131</td></tr><tr><td><span class="term"><i><tt>level</tt></i>�:</span></td><td> the imbrication level for indenting 2132</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> is formatting allowed 2133</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>�:</span></td><td> an optional encoding string 2134</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3><pre class="programlisting">int xmlSaveFormatFileEnc (const char *filename, 2135 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2136 const char *encoding, 2137 int format);</pre><p> 2138Dump an XML document to a file or an URL.</p><p> 2139 2140</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>�:</span></td><td> the filename or URL to output 2141</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document being saved 2142</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>�:</span></td><td> the name of the encoding to use or NULL. 2143</td></tr><tr><td><span class="term"><i><tt>format</tt></i>�:</span></td><td> should formatting spaces be added. 2144</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written or -1 in case of error. 2145Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1 2146or xmlKeepBlanksDefault(0) was called 2147</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3><pre class="programlisting">int xmlSaveFileEnc (const char *filename, 2148 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 2149 const char *encoding);</pre><p> 2150Dump an XML document, converting it to the given encoding</p><p> 2151 2152</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>�:</span></td><td> the filename (or URL) 2153</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td> the document 2154</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>�:</span></td><td> the name of an encoding (or NULL) 2155</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the number of bytes written or -1 in case of failure. 2156</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3><pre class="programlisting">int xmlIsXHTML (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemID, 2157 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID);</pre><p> 2158Try to find if the document correspond to an XHTML DTD</p><p> 2159 2160</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>systemID</tt></i>�:</span></td><td> the system identifier 2161</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i>�:</span></td><td> the public identifier 2162</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true, 0 if not and -1 in case of error 2163</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3><pre class="programlisting">int xmlGetDocCompressMode (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p> 2164get the compression ratio for a document, ZLIB based</p><p> 2165 2166</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 2167</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 (uncompressed) to 9 (max compression) 2168</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3><pre class="programlisting">void xmlSetDocCompressMode (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, 2169 int mode);</pre><p> 2170set the compression ratio for a document, ZLIB based 2171Correct values: 0 (uncompressed) to 9 (max compression)</p><p> 2172 2173</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>�:</span></td><td> the document 2174</td></tr><tr><td><span class="term"><i><tt>mode</tt></i>�:</span></td><td> the compression ratio 2175</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3><pre class="programlisting">int xmlGetCompressMode (void);</pre><p> 2176get the default compression mode used, ZLIB based.</p><p> 2177 2178</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 (uncompressed) to 9 (max compression) 2179</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3><pre class="programlisting">void xmlSetCompressMode (int mode);</pre><p> 2180set the default compression mode used, ZLIB based 2181Correct values: 0 (uncompressed) to 9 (max compression)</p><p> 2182 2183</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>mode</tt></i>�:</span></td><td> the compression ratio 2184</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-SAX.html"><b><<�SAX</b></a></td><td align="right"><a accesskey="n" href="libxml-entities.html"><b>entities�>></b></a></td></tr></table></body></html> 2185