blob: 1ab10e5c661f171d9aaebe31238cea6f2aa10671 [file] [log] [blame]
<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">
.synopsis, .classsynopsis {
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting {
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist {
padding: 4px;
margin-left: 3em;
}
.navigation {
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a {
color: #770000;
}
.navigation a:visited {
color: #550000;
}
.navigation .title {
font-size: 200%;
}
</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">
struct <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a>;
typedef <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>;
struct <a href="libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a>;
typedef <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>;
struct <a href="libxml-parser.html#xmlParserInput">xmlParserInput</a>;
typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>;
struct <a href="libxml-parser.html#xmlParserCtxt">xmlParserCtxt</a>;
typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>;
struct <a href="libxml-parser.html#xmlSAXLocator">xmlSAXLocator</a>;
typedef <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
struct <a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a>;
typedef <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>;
struct <a href="libxml-tree.html#xmlEntity">xmlEntity</a>;
typedef <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a>;
#define <a href="libxml-tree.html#BASE-BUFFER-SIZE-CAPS">BASE_BUFFER_SIZE</a>
#define <a href="libxml-tree.html#XML-XML-NAMESPACE-CAPS">XML_XML_NAMESPACE</a>
enum <a href="libxml-tree.html#xmlElementType">xmlElementType</a>;
typedef <a href="libxml-tree.html#xmlChar">xmlChar</a>;
#define <a href="libxml-tree.html#BAD-CAST-CAPS">BAD_CAST</a>
struct <a href="libxml-tree.html#xmlNotation">xmlNotation</a>;
typedef <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a>;
enum <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a>;
enum <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>;
struct <a href="libxml-tree.html#xmlEnumeration">xmlEnumeration</a>;
typedef <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>;
struct <a href="libxml-tree.html#xmlAttribute">xmlAttribute</a>;
typedef <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a>;
enum <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a>;
enum <a href="libxml-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>;
struct <a href="libxml-tree.html#xmlElementContent">xmlElementContent</a>;
typedef <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>;
enum <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>;
struct <a href="libxml-tree.html#xmlElement">xmlElement</a>;
typedef <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a>;
#define <a href="libxml-tree.html#XML-LOCAL-NAMESPACE-CAPS">XML_LOCAL_NAMESPACE</a>
typedef <a href="libxml-tree.html#xmlNsType">xmlNsType</a>;
struct <a href="libxml-tree.html#xmlNs">xmlNs</a>;
typedef <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>;
struct <a href="libxml-tree.html#xmlDtd">xmlDtd</a>;
typedef <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>;
struct <a href="libxml-tree.html#xmlAttr">xmlAttr</a>;
typedef <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>;
struct <a href="libxml-tree.html#xmlID">xmlID</a>;
typedef <a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>;
struct <a href="libxml-tree.html#xmlRef">xmlRef</a>;
typedef <a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>;
enum <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>;
struct <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a>;
typedef <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>;
struct <a href="libxml-tree.html#xmlNode">xmlNode</a>;
typedef <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>;
#define <a href="libxml-tree.html#XML-GET-CONTENT-CAPS">XML_GET_CONTENT</a> (n)
#define <a href="libxml-tree.html#XML-GET-LINE-CAPS">XML_GET_LINE</a> (n)
struct <a href="libxml-tree.html#xmlDoc">xmlDoc</a>;
typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>;
#define <a href="libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a>
#define <a href="libxml-tree.html#xmlRootNode">xmlRootNode</a>
int <a href="libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int space);
int <a href="libxml-tree.html#xmlValidateQName">xmlValidateQName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int space);
int <a href="libxml-tree.html#xmlValidateName">xmlValidateName</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int space);
int <a href="libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int space);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *memory,
int len);
<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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
int *len);
void <a href="libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a> (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>
(void);
<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> (void);
<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);
int <a href="libxml-tree.html#xmlBufferResize">xmlBufferResize</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
unsigned int size);
void <a href="libxml-tree.html#xmlBufferFree">xmlBufferFree</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
int <a href="libxml-tree.html#xmlBufferDump">xmlBufferDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void <a href="libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
int len);
void <a href="libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
int len);
void <a href="libxml-tree.html#xmlBufferCat">xmlBufferCat</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
void <a href="libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const char *str);
int <a href="libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
unsigned int len);
int <a href="libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
unsigned int len);
void <a href="libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlBufferContent">xmlBufferContent</a> (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void <a href="libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
int <a href="libxml-tree.html#xmlBufferLength">xmlBufferLength</a> (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
<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);
void <a href="libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a> (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
void <a href="libxml-tree.html#xmlFreeNs">xmlFreeNs</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
void <a href="libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a> (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
<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);
void <a href="libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
void <a href="libxml-tree.html#xmlFreePropList">xmlFreePropList</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
void <a href="libxml-tree.html#xmlFreeProp">xmlFreeProp</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<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,
<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<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,
<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<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);
<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,
int recursive);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);
<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,
int len);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
<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);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
int recursive);
<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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
int recursive);
<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);
<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);
<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);
<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);
<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);
<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);
int <a href="libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root);
void <a href="libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
void <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second);
int <a href="libxml-tree.html#xmlTextConcat">xmlTextConcat</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);
void <a href="libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void <a href="libxml-tree.html#xmlFreeNode">xmlFreeNode</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void <a href="libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void <a href="libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void <a href="libxml-tree.html#xmlSetNs">xmlSetNs</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
<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);
<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);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
<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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
<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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int len);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
int inLine);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
int inLine);
void <a href="libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
void <a href="libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);
void <a href="libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
void <a href="libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);
<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);
<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);
void <a href="libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);
int <a href="libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void <a href="libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
int val);
<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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void <a href="libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *uri);
int <a href="libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a> (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
int <a href="libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
int <a href="libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
void <a href="libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);
void <a href="libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const char *string);
void <a href="libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);
int <a href="libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
void <a href="libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
int *size,
int format);
void <a href="libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
int *size);
void <a href="libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
int *doc_txt_len,
const char *txt_encoding);
void <a href="libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
int *doc_txt_len,
const char *txt_encoding,
int format);
int <a href="libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
int format);
int <a href="libxml-tree.html#xmlDocDump">xmlDocDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void <a href="libxml-tree.html#xmlElemDump">xmlElemDump</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int <a href="libxml-tree.html#xmlSaveFile">xmlSaveFile</a> (const char *filename,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
int <a href="libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a> (const char *filename,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
int format);
int <a href="libxml-tree.html#xmlNodeDump">xmlNodeDump</a> (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
int level,
int format);
int <a href="libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding);
int <a href="libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding,
int format);
void <a href="libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
int level,
int format,
const char *encoding);
int <a href="libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> (const char *filename,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding,
int format);
int <a href="libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> (const char *filename,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding);
int <a href="libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemID,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID);
int <a href="libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void <a href="libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
int mode);
int <a href="libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a> (void);
void <a href="libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a> (int mode);
</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
</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 {
void* context;
xmlInputReadCallback readcallback;
xmlInputCloseCallback closecallback;
xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
};
</pre><p>
</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;
</pre><p>
</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 {
void* context;
xmlOutputWriteCallback writecallback;
xmlOutputCloseCallback closecallback;
xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */
xmlBufferPtr conv; /* if encoder != NULL buffer for output */
int written; /* total number of byte written */
};
</pre><p>
</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;
</pre><p>
</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 {
/* Input buffer */
xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
const char *filename; /* The file analyzed, if any */
const char *directory; /* the directory/base of the file */
const xmlChar *base; /* Base of the array to parse */
const xmlChar *cur; /* Current char being parsed */
const xmlChar *end; /* end of the array to parse */
int length; /* length if known */
int line; /* Current line */
int col; /* Current column */
/*
* NOTE: consumed is only tested for equality in the parser code,
* so even if there is an overflow this should not give troubles
* for parsing very large instances.
*/
unsigned long consumed; /* How many xmlChars already consumed */
xmlParserInputDeallocate free; /* function to deallocate the base */
const xmlChar *encoding; /* the encoding string for entity */
const xmlChar *version; /* the version string for entity */
int standalone; /* Was that entity marked standalone */
};
</pre><p>
An xmlParserInput is an input flow for the XML processor.
Each entity parsed is associated an xmlParserInput (except the
few predefined ones). This is the case both for internal entities
- in which case the flow is already completely in memory - or
external entities - in which case we use the buf structure for
progressive reading and I18N conversions to the internal UTF-8 format.</p><p>
</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;
</pre><p>
</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 {
struct _xmlSAXHandler *sax; /* The SAX handler */
void *userData; /* For SAX interface only, used by DOM build */
xmlDocPtr myDoc; /* the document being built */
int wellFormed; /* is the document well formed */
int replaceEntities; /* shall we replace entities ? */
const xmlChar *version; /* the XML version string */
const xmlChar *encoding; /* the declared encoding, if any */
int standalone; /* standalone document */
int html; /* an HTML(1)/Docbook(2) document */
/* Input stream stack */
xmlParserInputPtr input; /* Current input stream */
int inputNr; /* Number of current input streams */
int inputMax; /* Max number of input streams */
xmlParserInputPtr *inputTab; /* stack of inputs */
/* Node analysis stack only used for DOM building */
xmlNodePtr node; /* Current parsed Node */
int nodeNr; /* Depth of the parsing stack */
int nodeMax; /* Max depth of the parsing stack */
xmlNodePtr *nodeTab; /* array of nodes */
int record_info; /* Whether node info should be kept */
xmlParserNodeInfoSeq node_seq; /* info about each node parsed */
int errNo; /* error code */
int hasExternalSubset; /* reference and external subset */
int hasPErefs; /* the internal subset has PE refs */
int external; /* are we parsing an external entity */
int valid; /* is the document valid */
int validate; /* shall we try to validate ? */
xmlValidCtxt vctxt; /* The validity context */
xmlParserInputState instate; /* current type of input */
int token; /* next char look-ahead */
char *directory; /* the data directory */
/* Node name stack */
xmlChar *name; /* Current parsed Node */
int nameNr; /* Depth of the parsing stack */
int nameMax; /* Max depth of the parsing stack */
xmlChar * *nameTab; /* array of nodes */
long nbChars; /* number of xmlChar processed */
long checkIndex; /* used by progressive parsing lookup */
int keepBlanks; /* ugly but ... */
int disableSAX; /* SAX callbacks are disabled */
int inSubset; /* Parsing is in int 1/ext 2 subset */
xmlChar * intSubName; /* name of subset */
xmlChar * extSubURI; /* URI of external subset */
xmlChar * extSubSystem; /* SYSTEM ID of external subset */
/* xml:space values */
int * space; /* Should the parser preserve spaces */
int spaceNr; /* Depth of the parsing stack */
int spaceMax; /* Max depth of the parsing stack */
int * spaceTab; /* array of space infos */
int depth; /* to prevent entity substitution loops */
xmlParserInputPtr entity; /* used to check entities boundaries */
int charset; /* encoding of the in-memory content
actually an xmlCharEncoding */
int nodelen; /* Those two fields are there to */
int nodemem; /* Speed up large node parsing */
int pedantic; /* signal pedantic warnings */
void *_private; /* For user data, libxml won't touch it */
int loadsubset; /* should the external subset be loaded */
int linenumbers; /* set line number in element content */
void *catalogs; /* document's own catalog */
int recovery; /* run in recovery mode */
int progressive; /* is this a progressive parsing */
};
</pre><p>
The parser context.
NOTE This doesn't completely define the parser state, the (current ?)
design of the parser uses recursive function calls since this allow
and easy mapping from the production rules of the specification
to the actual code. The drawback is that the actual function call
also reflect the parser state. However most of the parsing routines
takes as the only argument the parser context pointer, so migrating
to a state based parser for progressive parsing shouldn't be too hard.</p><p>
</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;
</pre><p>
</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 {
const xmlChar *(*getPublicId)(void *ctx);
const xmlChar *(*getSystemId)(void *ctx);
int (*getLineNumber)(void *ctx);
int (*getColumnNumber)(void *ctx);
};
</pre><p>
A SAX Locator.</p><p>
</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;
</pre><p>
</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 {
internalSubsetSAXFunc internalSubset;
isStandaloneSAXFunc isStandalone;
hasInternalSubsetSAXFunc hasInternalSubset;
hasExternalSubsetSAXFunc hasExternalSubset;
resolveEntitySAXFunc resolveEntity;
getEntitySAXFunc getEntity;
entityDeclSAXFunc entityDecl;
notationDeclSAXFunc notationDecl;
attributeDeclSAXFunc attributeDecl;
elementDeclSAXFunc elementDecl;
unparsedEntityDeclSAXFunc unparsedEntityDecl;
setDocumentLocatorSAXFunc setDocumentLocator;
startDocumentSAXFunc startDocument;
endDocumentSAXFunc endDocument;
startElementSAXFunc startElement;
endElementSAXFunc endElement;
referenceSAXFunc reference;
charactersSAXFunc characters;
ignorableWhitespaceSAXFunc ignorableWhitespace;
processingInstructionSAXFunc processingInstruction;
commentSAXFunc comment;
warningSAXFunc warning;
errorSAXFunc error;
fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
getParameterEntitySAXFunc getParameterEntity;
cdataBlockSAXFunc cdataBlock;
externalSubsetSAXFunc externalSubset;
int initialized;
};
</pre><p>
A SAX handler is bunch of callbacks called by the parser when processing
of the input generate data or structure informations.</p><p>
</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;
</pre><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
const xmlChar *name; /* Entity name */
struct _xmlNode *children; /* First child link */
struct _xmlNode *last; /* Last child link */
struct _xmlDtd *parent; /* -&gt; DTD */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
xmlChar *orig; /* content without ref substitution */
xmlChar *content; /* content or ndata if unparsed */
int length; /* the content length */
xmlEntityType etype; /* The entity type */
const xmlChar *ExternalID; /* External identifier for PUBLIC */
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
struct _xmlEntity *nexte; /* unused */
const xmlChar *URI; /* the full URI as computed */
int owner; /* does the entity own the childrens */
};
</pre><p>
</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;
</pre><p>
</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
</pre><p>
default buffer size 4000.</p><p>
</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>
This is the namespace for the special xml: prefix predefined in the
XML Namespace specification.</p><p>
</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 {
XML_ELEMENT_NODE= 1,
XML_ATTRIBUTE_NODE= 2,
XML_TEXT_NODE= 3,
XML_CDATA_SECTION_NODE= 4,
XML_ENTITY_REF_NODE= 5,
XML_ENTITY_NODE= 6,
XML_PI_NODE= 7,
XML_COMMENT_NODE= 8,
XML_DOCUMENT_NODE= 9,
XML_DOCUMENT_TYPE_NODE= 10,
XML_DOCUMENT_FRAG_NODE= 11,
XML_NOTATION_NODE= 12,
XML_HTML_DOCUMENT_NODE= 13,
XML_DTD_NODE= 14,
XML_ELEMENT_DECL= 15,
XML_ATTRIBUTE_DECL= 16,
XML_ENTITY_DECL= 17,
XML_NAMESPACE_DECL= 18,
XML_XINCLUDE_START= 19,
XML_XINCLUDE_END= 20
#ifdef LIBXML_DOCB_ENABLED
,XML_DOCB_DOCUMENT_NODE= 21
#endif
} xmlElementType;
</pre><p>
</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;
</pre><p>
This is a basic byte in an UTF-8 encoded string.
It's unsigned allowing to pinpoint case where char * are assigned
to xmlChar * (possibly making serialization back impossible).</p><p>
</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 *)
</pre><p>
Macro to cast a string to an xmlChar * when one know its safe.</p><p>
</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 {
const xmlChar *name; /* Notation name */
const xmlChar *PublicID; /* Public identifier, if any */
const xmlChar *SystemID; /* System identifier, if any */
};
</pre><p>
A DTD Notation definition.</p><p>
</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;
</pre><p>
</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 {
XML_ATTRIBUTE_CDATA = 1,
XML_ATTRIBUTE_ID,
XML_ATTRIBUTE_IDREF ,
XML_ATTRIBUTE_IDREFS,
XML_ATTRIBUTE_ENTITY,
XML_ATTRIBUTE_ENTITIES,
XML_ATTRIBUTE_NMTOKEN,
XML_ATTRIBUTE_NMTOKENS,
XML_ATTRIBUTE_ENUMERATION,
XML_ATTRIBUTE_NOTATION
} xmlAttributeType;
</pre><p>
A DTD Attribute type definition.</p><p>
</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 {
XML_ATTRIBUTE_NONE = 1,
XML_ATTRIBUTE_REQUIRED,
XML_ATTRIBUTE_IMPLIED,
XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;
</pre><p>
A DTD Attribute default definition.</p><p>
</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 {
struct _xmlEnumeration *next; /* next one */
const xmlChar *name; /* Enumeration name */
};
</pre><p>
List structure used when there is an enumeration in DTDs.</p><p>
</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;
</pre><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */
const xmlChar *name; /* Attribute name */
struct _xmlNode *children; /* NULL */
struct _xmlNode *last; /* NULL */
struct _xmlDtd *parent; /* -&gt; DTD */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
struct _xmlAttribute *nexth; /* next in hash table */
xmlAttributeType atype; /* The attribute type */
xmlAttributeDefault def; /* the default */
const xmlChar *defaultValue; /* or the default value */
xmlEnumerationPtr tree; /* or the enumeration tree if any */
const xmlChar *prefix; /* the namespace prefix if any */
const xmlChar *elem; /* Element holding the attribute */
};
</pre><p>
An Attribute declaration in a DTD.</p><p>
</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;
</pre><p>
</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 {
XML_ELEMENT_CONTENT_PCDATA = 1,
XML_ELEMENT_CONTENT_ELEMENT,
XML_ELEMENT_CONTENT_SEQ,
XML_ELEMENT_CONTENT_OR
} xmlElementContentType;
</pre><p>
Possible definitions of element content types.</p><p>
</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 {
XML_ELEMENT_CONTENT_ONCE = 1,
XML_ELEMENT_CONTENT_OPT,
XML_ELEMENT_CONTENT_MULT,
XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;
</pre><p>
Possible definitions of element content occurrences.</p><p>
</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 {
xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */
xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */
const xmlChar *name; /* Element name */
struct _xmlElementContent *c1; /* first child */
struct _xmlElementContent *c2; /* second child */
struct _xmlElementContent *parent; /* parent */
const xmlChar *prefix; /* Namespace prefix */
};
</pre><p>
An XML Element content as stored after parsing an element definition
in a DTD.</p><p>
</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;
</pre><p>
</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 {
XML_ELEMENT_TYPE_UNDEFINED = 0,
XML_ELEMENT_TYPE_EMPTY = 1,
XML_ELEMENT_TYPE_ANY,
XML_ELEMENT_TYPE_MIXED,
XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;
</pre><p>
The different possibilities for an element content type.</p><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */
const xmlChar *name; /* Element name */
struct _xmlNode *children; /* NULL */
struct _xmlNode *last; /* NULL */
struct _xmlDtd *parent; /* -&gt; DTD */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
xmlElementTypeVal etype; /* The type */
xmlElementContentPtr content; /* the allowed element content */
xmlAttributePtr attributes; /* List of the declared attributes */
const xmlChar *prefix; /* the namespace prefix if any */
#ifdef LIBXML_REGEXP_ENABLED
xmlRegexpPtr contModel; /* the validating regexp */
#else
void *contModel;
#endif
};
</pre><p>
An XML Element declaration from a DTD.</p><p>
</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;
</pre><p>
</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
</pre><p>
A namespace declaration node.</p><p>
</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;
</pre><p>
</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 {
struct _xmlNs *next; /* next Ns link for this node */
xmlNsType type; /* global or local */
const xmlChar *href; /* URL for the namespace */
const xmlChar *prefix; /* prefix for the namespace */
void *_private; /* application data */
};
</pre><p>
An XML namespace.
Note that prefix == NULL is valid, it defines the default namespace
within the subtree (until overridden).
</p><p>
xmlNsType is unified with xmlElementType.</p><p>
</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;
</pre><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_DTD_NODE, must be second ! */
const xmlChar *name; /* Name of the DTD */
struct _xmlNode *children; /* the value of the property link */
struct _xmlNode *last; /* last child link */
struct _xmlDoc *parent; /* child-&gt;parent link */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
/* End of common part */
void *notations; /* Hash table for notations if any */
void *elements; /* Hash table for elements if any */
void *attributes; /* Hash table for attributes if any */
void *entities; /* Hash table for entities if any */
const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */
void *pentities; /* Hash table for param entities if any */
};
</pre><p>
An XML DTD, as defined by &lt;!DOCTYPE ... There is actually one for
the internal subset and for the external subset.</p><p>
</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;
</pre><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */
const xmlChar *name; /* the name of the property */
struct _xmlNode *children; /* the value of the property */
struct _xmlNode *last; /* NULL */
struct _xmlNode *parent; /* child-&gt;parent link */
struct _xmlAttr *next; /* next sibling link */
struct _xmlAttr *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
xmlNs *ns; /* pointer to the associated namespace */
xmlAttributeType atype; /* the attribute type if validating */
};
</pre><p>
An attribute on an XML node.</p><p>
</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;
</pre><p>
</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 {
struct _xmlID *next; /* next ID */
const xmlChar *value; /* The ID name */
xmlAttrPtr attr; /* The attribute holding it */
const xmlChar *name; /* The attribute if attr is not available */
int lineno; /* The line number if attr is not available */
};
</pre><p>
An XML ID instance.</p><p>
</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;
</pre><p>
</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 {
struct _xmlRef *next; /* next Ref */
const xmlChar *value; /* The Ref name */
xmlAttrPtr attr; /* The attribute holding it */
const xmlChar *name; /* The attribute if attr is not available */
int lineno; /* The line number if attr is not available */
};
</pre><p>
An XML IDREF instance.</p><p>
</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;
</pre><p>
</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 {
XML_BUFFER_ALLOC_DOUBLEIT,
XML_BUFFER_ALLOC_EXACT
} xmlBufferAllocationScheme;
</pre><p>
A buffer allocation scheme can be defined to either match exactly the
need or double it's allocated size each time it is found too small.</p><p>
</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 {
xmlChar *content; /* The buffer content UTF8 */
unsigned int use; /* The buffer size used */
unsigned int size; /* The buffer size */
xmlBufferAllocationScheme alloc; /* The realloc method */
};
</pre><p>
A buffer structure.</p><p>
</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;
</pre><p>
</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 {
void *_private; /* application data */
xmlElementType type; /* type number, must be second ! */
const xmlChar *name; /* the name of the node, or the entity */
struct _xmlNode *children; /* parent-&gt;childs link */
struct _xmlNode *last; /* last child link */
struct _xmlNode *parent; /* child-&gt;parent link */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* the containing document */
/* End of common part */
xmlNs *ns; /* pointer to the associated namespace */
xmlChar *content; /* the content */
struct _xmlAttr *properties;/* properties list */
xmlNs *nsDef; /* namespace definitions on this node */
};
</pre><p>
A node in an XML tree.</p><p>
</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;
</pre><p>
</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>
Macro to extract the content pointer of a node.</p><p>
</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>
</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>
Macro to extract the line number of an element node.
This will work only if line numbering is activated by
calling xmlLineNumbersDefault(1) before parsing.</p><p>
</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>
</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 {
void *_private; /* application data */
xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */
char *name; /* name/filename/URI of the document */
struct _xmlNode *children; /* the document tree */
struct _xmlNode *last; /* last child link */
struct _xmlNode *parent; /* child-&gt;parent link */
struct _xmlNode *next; /* next sibling link */
struct _xmlNode *prev; /* previous sibling link */
struct _xmlDoc *doc; /* autoreference to itself */
/* End of common part */
int compression;/* level of zlib compression */
int standalone; /* standalone document (no external refs) */
struct _xmlDtd *intSubset; /* the document internal subset */
struct _xmlDtd *extSubset; /* the document external subset */
struct _xmlNs *oldNs; /* Global namespace, the old way */
const xmlChar *version; /* the XML version string */
const xmlChar *encoding; /* external initial encoding, if any */
void *ids; /* Hash table for ID attributes if any */
void *refs; /* Hash table for IDREFs attributes if any */
const xmlChar *URL; /* The URI for that document */
int charset; /* encoding of the in-memory content
actually an xmlCharEncoding */
};
</pre><p>
An XML document.</p><p>
</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;
</pre><p>
</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
</pre><p>
Macro for compatibility naming layer with libxml1.</p><p>
</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
</pre><p>
Macro for compatibility naming layer with libxml1.</p><p>
</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,
int space);</pre><p>
Check that a value conforms to the lexical space of NCName</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>space</tt></i> :</span></td><td> allow spaces in front and end of the string
</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
and -1 in case of internal or API error.
</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,
int space);</pre><p>
Check that a value conforms to the lexical space of QName</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>space</tt></i> :</span></td><td> allow spaces in front and end of the string
</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
and -1 in case of internal or API error.
</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,
int space);</pre><p>
Check that a value conforms to the lexical space of Name</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>space</tt></i> :</span></td><td> allow spaces in front and end of the string
</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
and -1 in case of internal or API error.
</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,
int space);</pre><p>
Check that a value conforms to the lexical space of NMToken</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>space</tt></i> :</span></td><td> allow spaces in front and end of the string
</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
and -1 in case of internal or API error.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *memory,
int len);</pre><p>
Builds the QName <i><tt>prefix</tt></i>:<i><tt>ncname</tt></i> in <i><tt>memory</tt></i> if there is enough space
and prefix is not NULL nor empty, otherwise allocate a new string.
If prefix is NULL or empty it returns ncname.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the prefix
</td></tr><tr><td><span class="term"><i><tt>memory</tt></i> :</span></td><td> preallocated memory
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> preallocated memory length
</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
<i><tt>memory</tt></i> and <i><tt>ncname</tt></i> or NULL in case of error
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p>
parse an XML qualified name string
</p><p>
[NS 5] QName ::= (Prefix ':')? LocalPart
</p><p>
[NS 6] Prefix ::= NCName
</p><p>
[NS 7] LocalPart ::= NCName</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> a xmlChar **
</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
is updated to get the Prefix if any.
</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlSplitQName3 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
int *len);</pre><p>
parse an XML qualified name string,i</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> an int *
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL if it is not a Qualified Name, otherwise, update len
with the lenght in byte of the prefix and return a pointer
</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>
Set the buffer allocation method. Types are
XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
improves performance</p><p>
</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
</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
(void);</pre><p>
Types are
XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed,
improves performance</p><p>
</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
</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>
routine to create an XML buffer.</p><p>
</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.
</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>
routine to create an XML buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new structure.
</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,
unsigned int size);</pre><p>
Resize a buffer to accommodate minimum size of <i><tt>size</tt></i>.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the desired size
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of problems, 1 otherwise
</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>
Frees an XML buffer. It frees both the content and the structure which
encapsulate it.</p><p>
</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
</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,
<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
Dumps an XML buffer to a FILE *.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td> the buffer to dump
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
int len);</pre><p>
Add a string range to an XML buffer. if len == -1, the length of
str is recomputed.</p><p>
</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
</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
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
int len);</pre><p>
Add a string range to the beginning of an XML buffer.
if len == -1, the length of <i><tt>str</tt></i> is recomputed.</p><p>
</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
</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
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
Append a zero terminated string to an XML buffer.</p><p>
</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
</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
</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,
const char *str);</pre><p>
Append a zero terminated C string to an XML buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td> the C char string
</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,
unsigned int len);</pre><p>
Remove the beginning of an XML buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar to remove
</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.
</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,
unsigned int len);</pre><p>
Grow the available space of an XML buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the minimum free size to allocate
</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
</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>
empty a buffer.</p><p>
</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
</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>
Function to extract the content of a buffer</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the internal content
</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,
<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);</pre><p>
Sets the allocation scheme for this buffer</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>scheme</tt></i> :</span></td><td> allocation scheme to use
</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>
Function to get the length of a buffer</p><p>
</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
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
Create the internal subset of a document</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the DTD name
</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external (PUBLIC) ID
</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the system ID
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new DTD structure
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
Creation of a new DTD for the external subset. To create an
internal subset, use <a href="libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a>().</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the DTD name
</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external ID
</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the system ID
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new DTD structure
</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>
Get the internal subset of a document</p><p>
</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
</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
</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>
Free a DTD structure.</p><p>
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
Creation of a Namespace, the old way using PI and without scoping
DEPRECATED !!!
It now create a namespace on the root element of the document if found.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>href</tt></i> :</span></td><td> the URI associated
</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the prefix for the namespace
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>NULL this functionality had been removed
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
Creation of a new Namespace. This function will refuse to create
a namespace with a similar prefix than an existing one present on this
node.
We use href==NULL in the case of an element creation where the namespace
was not defined.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>href</tt></i> :</span></td><td> the URI associated
</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i> :</span></td><td> the prefix for the namespace
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new namespace pointer or NULL
</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>
Free up the structures associated to a namespace</p><p>
</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
</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>
Free up all the structures associated to the chained namespaces.</p><p>
</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
</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>
Creates a new XML document</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>version</tt></i> :</span></td><td> xmlChar string giving the version of XML "1.0"
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new document
</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>
Free up all the structures used by a document, tree included.</p><p>
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Create a new property carried by a document.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the attribute
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the attribute
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Create a new property carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the attribute
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the attribute
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Create a new property tagged with a namespace and carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> the namespace
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the attribute
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the attribute
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Create a new property tagged with a namespace and carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> the namespace
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the attribute
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the attribute
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the attribute
</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>
Free a property and all its siblings, all the children are freed too.</p><p>
</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
</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>
Free one attribute, all the content is freed too</p><p>
</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
</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,
<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
Do a copy of the attribute.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the attribute
</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.
</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,
<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
Do a copy of an attribute list.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the first attribute
</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.
</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>
Do a copy of the dtd.</p><p>
</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
</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.
</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,
int recursive);</pre><p>
Do a copy of the document info. If recursive, the content tree will
be copied too as well as DTD, namespaces and entities.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i> :</span></td><td> if 1 do a recursive copy.
</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.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
are optional (NULL).
NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities
references, but XML special chars need to be escaped first by using
<a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't
need entities support.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> namespace if any
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the node name
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the XML text content if any
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
are optional (NULL).
NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities
references, but XML special chars need to be escaped first by using
<a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't
need entities support.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> namespace if any
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the node name
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the XML text content if any
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
are optional (NULL).</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> namespace if any
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the node name
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the text content if any
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the node name
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the node name
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list.
<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If content is non NULL,
a child list containing the TEXTs and ENTITY_REFs node will be created.
NOTE: <i><tt>content</tt></i> is supposed to be a piece of XML CDATA, so it allow entities
references, but XML special chars need to be escaped first by using
<a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a>() if entities
support is not needed.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> a namespace if any
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the child
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the XML content of the child if any.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list.
<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If content is non NULL,
a child TEXT node will be created containing the string content.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> a namespace if any
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the child
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the text content of the child if any.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new text node within a document.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the text content
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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>
Creation of a new text node.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a processing instruction element.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the PI content
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);</pre><p>
Creation of a new text node with an extra content length parameter. The
text node pertain to a given document.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the text content
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the text len.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
int len);</pre><p>
Creation of a new text node with an extra parameter for the content's length</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the text len.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Creation of a new node containing a comment within a document.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the comment content
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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>
Creation of a new node containing a comment.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);</pre><p>
Creation of a new node containing a CDATA block.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the CDATA block content content
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of the block
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Creation of a new character reference node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the char ref string, starting with # or "&amp;# ... ;"
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Creation of a new reference node.</p><p>
</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
</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 ;
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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,
int recursive);</pre><p>
Do a copy of the node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i> :</span></td><td> if 1 do a recursive copy.
</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.
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
int recursive);</pre><p>
Do a copy of the node to a given document.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i> :</span></td><td> if 1 do a recursive copy.
</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.
</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>
Do a recursive copy of the node list.</p><p>
</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.
</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.
</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>
Creation of a new Fragment node.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the new node object.
</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>
Get line number of node. this requires activation of this option
before invoking the parser by calling xmlLineNumbersDefault(1)</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the line number if successful, -1 otherwise
</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>
Build a structure based Path for the given node</p><p>
</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
</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
the returned string
</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>
Get the root element of the document (doc-&gt;children is a list
containing possibly comments, PIs, etc ...).</p><p>
</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
</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
</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>
Search the last child of a node.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last child or NULL if none.
</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>
Is this node a Text node ?</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 yes, 0 no
</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>
Checks whether this node is an empty or whitespace only
(and possibly ignorable) text-node.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 yes, 0 no
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root);</pre><p>
Set the root element of the document (doc-&gt;children is a list
containing possibly comments, PIs, etc ...).</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>root</tt></i> :</span></td><td> the new document root element
</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
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Set (or reset) the name of a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the new tag name
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
Add a new node to <i><tt>parent</tt></i>, at the end of the child (or property) list
merging adjacent TEXT nodes (in which case <i><tt>cur</tt></i> is freed)
If the new node is ATTRIBUTE, it is added into properties instead of children.
If there is an attribute with equal name, it is first destroyed.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the child node
</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.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
Add a list of node at the end of the child list of the parent
merging adjacent TEXT nodes (<i><tt>cur</tt></i> may be freed)</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the first node in the list
</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.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
Unlink the old node from it's current context, prune the new one
at the same place. If <i><tt>cur</tt></i> was already inserted in a document it is
first unlinked from its existing context.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the node
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the <i><tt>old</tt></i> node
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
Add a new element <i><tt>elem</tt></i> to the list of siblings of <i><tt>cur</tt></i>
merging adjacent TEXT nodes (<i><tt>elem</tt></i> may be freed)
If the new element was already inserted in a document it is
first unlinked from its existing context.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the new node
</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.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
Add a new node <i><tt>elem</tt></i> as the previous sibling of <i><tt>cur</tt></i>
merging adjacent TEXT nodes (<i><tt>elem</tt></i> may be freed)
If the new node was already inserted in a document it is
first unlinked from its existing context.
If the new node is ATTRIBUTE, it is added into properties instead of children.
If there is an attribute with equal name, it is first destroyed.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the new node
</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.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
Add a new node <i><tt>elem</tt></i> as the next sibling of <i><tt>cur</tt></i>
If the new node was already inserted in a document it is
first unlinked from its existing context.
As a result of text merging <i><tt>elem</tt></i> may be freed.
If the new node is ATTRIBUTE, it is added into properties instead of children.
If there is an attribute with equal name, it is first destroyed.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the new node
</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.
</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>
Unlink a node from it's current context, the node is not freed</p><p>
</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
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second);</pre><p>
Merge two text nodes into one</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>second</tt></i> :</span></td><td> the second text node being merged
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the first text node augmented
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);</pre><p>
Concat the given string at the end of the existing node content</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the content
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> <i><tt>content</tt></i> length
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case of error, 0 otherwise
</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>
Free a node and all its siblings, this is a recursive behaviour, all
the children are freed too.</p><p>
</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
</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>
Free a node, this is a recursive behaviour, all the children are freed too.
This doesn't unlink the child from the list, use <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a>() first.</p><p>
</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
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
update all nodes under the tree to point to the right document</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
update all nodes in the list to point to the right document</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
Search a Ns registered under a given name space for a document.
recurse on the parents until it finds the defined namespace
or return NULL otherwise.
<i><tt>nameSpace</tt></i> can be NULL, this is a search for the default namespace.
We don't allow to cross entities boundaries. If you don't declare
the namespace within those you will be in troubles !!! A warning
is generated to cover this case.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> the current node
</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i> :</span></td><td> the namespace prefix
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace pointer or NULL.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href);</pre><p>
Search a Ns aliasing a given URI. Recurse on the parents until it finds
the defined namespace or return NULL otherwise.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> the current node
</td></tr><tr><td><span class="term"><i><tt>href</tt></i> :</span></td><td> the namespace value
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace pointer or NULL.
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
Search all the namespace applying to a given element.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> the current node
</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
that need to be freed by the caller or NULL if no
namespace if defined
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
Associate a namespace to a node, a posteriori.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> a namespace pointer
</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>
Do a copy of the namespace.</p><p>
</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
</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.
</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>
Do a copy of an namespace list.</p><p>
</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
</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.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Set (or reset) an attribute carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute pointer.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Search and get the value of an attribute associated to a node
This does the entity substitution.
This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
default declaration values unless DTD use has been turned off.
NOTE: this function acts independently of namespaces associated
to the attribute. Use <a href="libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a>() or <a href="libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a>()
for namespace aware processing.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</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.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Search and get the value of an attribute associated to a node
This does the entity substitution.
This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
default declaration values unless DTD use has been turned off.
This function is similar to xmlGetProp except it will accept only
an attribute in no namespace.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</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.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Search an attribute associated to a node
This function also looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
default declaration values unless DTD use has been turned off.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</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
neither was found.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
Search for an attribute associated to a node
This attribute has to be anchored in the namespace specified.
This does the entity substitution.
This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
default declaration values unless DTD use has been turned off.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i> :</span></td><td> the URI of the namespace
</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 neither was found.
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Set (or reset) an attribute carried by a node.
The ns structure must be in scope, this is not checked.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> the namespace definition
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the attribute value
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the attribute pointer.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
Search and get the value of an attribute associated to a node
This attribute has to be anchored in the namespace specified.
This does the entity substitution.
This function looks in DTD attribute declaration for <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
default declaration values unless DTD use has been turned off.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i> :</span></td><td> the URI of the namespace
</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.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
Parse the value string and build the node list associated. Should
produce a flat tree with only TEXTs and ENTITY_REFs.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the attribute
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the first child
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
int len);</pre><p>
Parse the value string and build the node list associated. Should
produce a flat tree with only TEXTs and ENTITY_REFs.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the value of the text
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of the string value
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a pointer to the first child
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
int inLine);</pre><p>
Build the string equivalent to the text contained in the Node list
made of TEXTs and ENTITY_REFs</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td> a Node list
</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
</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>().
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
int inLine);</pre><p>
Builds the string equivalent to the text contained in the Node list
made of TEXTs and ENTITY_REFs, contrary to <a href="libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a>()
this function doesn't do any character encoding handling.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>list</tt></i> :</span></td><td> a Node list
</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
</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>().
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Replace the content of a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the new value of the content
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);</pre><p>
Replace the content of a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the new value of the content
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the size of <i><tt>content</tt></i>
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
Append the extra substring to the node content.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> extra content
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
int len);</pre><p>
Append the extra substring to the node content.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> extra content
</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the size of <i><tt>content</tt></i>
</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>
Read the value of a node, this can be either the text carried
directly by this node if it's a TEXT node or the aggregate string
of the values carried by this node child's (TEXT and ENTITY_REF).
Entity references are substituted.</p><p>
</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
</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.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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>
Searches the language of a node, i.e. the values of the xml:lang
attribute or the one carried by the nearest ancestor.</p><p>
</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
</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
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);</pre><p>
Set the language of a node, i.e. the values of the xml:lang
attribute.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>lang</tt></i> :</span></td><td> the language description
</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>
Searches the space preserving behaviour of a node, i.e. the values
of the xml:space attribute or the one carried by the nearest
ancestor.</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"
</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,
int val);</pre><p>
Set (or reset) the space preserving behaviour of a node, i.e. the
value of the xml:space attribute.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xml:space value ("0": default, 1: "preserve")
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
Searches for the BASE URL. The code should work on both XML
and HTML document even if base mechanisms are completely different.
It returns the base as defined in RFC 2396 sections
5.1.1. Base URI within Document Content
and
5.1.2. Base URI from the Encapsulating Entity
However it does not return the document base (5.1.3), use
<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="xmlDocumentGetBase">xmlDocumentGetBase</GTKDOCLINK>() for this</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the node being checked
</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
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> *uri);</pre><p>
Set (or reset) the base URI of a node, i.e. the value of the
xml:base attribute.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>uri</tt></i> :</span></td><td> the new base URI
</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>
Unlink and free one attribute, all the content is freed too
Note this doesn't work for namespace definition attributes</p><p>
</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
</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.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Remove an attribute carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if successful, -1 if not found
</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,
<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
Remove an attribute carried by a node.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td> the namespace definition
</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the attribute name
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if successful, -1 if not found
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p>
routine which manages and grows an output buffer. This one adds
xmlChars at the end of the buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td> the string to add
</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,
const char *string);</pre><p>
routine which manage and grows an output buffer. This one add
C chars at the end of the array.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td> the string to add
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p>
routine which manage and grows an output buffer. This one writes
a quoted or double quoted <a href="libxml-tree.html#xmlChar">xmlChar</a> string, checking first if it holds
quote or double-quotes internally</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td> the string to add
</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,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);</pre><p>
This function checks that all the namespaces declared within the given
tree are properly declared. This is needed for example after Copy or Cut
and then paste operations. The subtree may still hold pointers to
namespace declarations outside the subtree or invalid/masked. As much
as possible the function try to reuse the existing namespaces found in
the new environment. If not possible the new namespaces are redeclared
on <i><tt>tree</tt></i> at the top of the given subtree.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td> a node defining the subtree to reconciliate
</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.
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
int *size,
int format);</pre><p>
Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>mem</tt></i> :</span></td><td> OUT: the memory pointer
</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> OUT: the memory length
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces been added
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
int *size);</pre><p>
Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size.
It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>mem</tt></i> :</span></td><td> OUT: the memory pointer
</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> OUT: the memory length
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
int *doc_txt_len,
const char *txt_encoding);</pre><p>
Dump the current DOM tree into memory using the character encoding specified
by the caller. Note it is up to the caller of this function to free the
allocated memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i> :</span></td><td> Memory pointer for allocated XML text
</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i> :</span></td><td> Length of the generated XML text
</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i> :</span></td><td> Character encoding to use when generating XML text
</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,
<a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
int *doc_txt_len,
const char *txt_encoding,
int format);</pre><p>
Dump the current DOM tree into memory using the character encoding specified
by the caller. Note it is up to the caller of this function to free the
allocated memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i> :</span></td><td> Memory pointer for allocated XML text
</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i> :</span></td><td> Length of the generated XML text
</td></tr><tr><td><span class="term"><i><tt>txt_encoding</tt></i> :</span></td><td> Character encoding to use when generating XML text
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces been added
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
int format);</pre><p>
Dump an XML document to an open FILE.</p><p>
</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*
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces been added
</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.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
Dump an XML document to an open FILE.</p><p>
</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*
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</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.
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
Dump an XML/HTML node, recursive behaviour, children are printed too.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the current node
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
Dump an XML document to a file. Will use compression if
compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is
used.</p><p>
</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)
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</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.
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
int format);</pre><p>
Dump an XML document to a file. Will use compression if
compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is
used. If <i><tt>format</tt></i> is set then the document will be indented on output.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called</p><p>
</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)
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces been added
</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.
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
int level,
int format);</pre><p>
Dump an XML node, recursive behaviour,children are printed too.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the current node
</td></tr><tr><td><span class="term"><i><tt>level</tt></i> :</span></td><td> the imbrication level for indenting
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> is formatting allowed
</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
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding);</pre><p>
Dump an XML document to an I/O buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</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
</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.
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding,
int format);</pre><p>
Dump an XML document to an I/O buffer.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</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
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces been added
</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.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
int level,
int format,
const char *encoding);</pre><p>
Dump an XML node, recursive behaviour, children are printed too.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the current node
</td></tr><tr><td><span class="term"><i><tt>level</tt></i> :</span></td><td> the imbrication level for indenting
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> is formatting allowed
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> an optional encoding string
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding,
int format);</pre><p>
Dump an XML document to a file or an URL.</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document being saved
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> the name of the encoding to use or NULL.
</td></tr><tr><td><span class="term"><i><tt>format</tt></i> :</span></td><td> should formatting spaces be added.
</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.
Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
or xmlKeepBlanksDefault(0) was called
</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,
<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
const char *encoding);</pre><p>
Dump an XML document, converting it to the given encoding</p><p>
</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)
</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> the document
</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i> :</span></td><td> the name of an encoding (or NULL)
</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.
</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,
const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID);</pre><p>
Try to find if the document correspond to an XHTML DTD</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>publicID</tt></i> :</span></td><td> the public identifier
</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
</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>
get the compression ratio for a document, ZLIB based</p><p>
</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
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 (uncompressed) to 9 (max compression)
</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,
int mode);</pre><p>
set the compression ratio for a document, ZLIB based
Correct values: 0 (uncompressed) to 9 (max compression)</p><p>
</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
</td></tr><tr><td><span class="term"><i><tt>mode</tt></i> :</span></td><td> the compression ratio
</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>
get the default compression mode used, ZLIB based.</p><p>
</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)
</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>
set the default compression mode used, ZLIB based
Correct values: 0 (uncompressed) to 9 (max compression)</p><p>
</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
</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>