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