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