<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.8" xml:lang="en-US">
  <compounddef id="tree_8h" kind="file" language="C++">
    <compoundname>tree.h</compoundname>
    <includes local="no">stdio.h</includes>
    <includes local="no">limits.h</includes>
    <includes refid="xmlversion_8h" local="no">libxml/xmlversion.h</includes>
    <includes refid="xmlstring_8h" local="no">libxml/xmlstring.h</includes>
    <includes refid="xmlmemory_8h" local="no">libxml/xmlmemory.h</includes>
    <includes refid="xmlregexp_8h" local="no">libxml/xmlregexp.h</includes>
    <includedby refid="HTMLparser_8c" local="no">/builds/GNOME/libxml2/HTMLparser.c</includedby>
    <includedby refid="SAX2_8c" local="no">/builds/GNOME/libxml2/SAX2.c</includedby>
    <includedby refid="buf_8c" local="no">/builds/GNOME/libxml2/buf.c</includedby>
    <includedby refid="c14n_8c" local="no">/builds/GNOME/libxml2/c14n.c</includedby>
    <includedby refid="debugXML_8c" local="no">/builds/GNOME/libxml2/debugXML.c</includedby>
    <includedby refid="globals_8c" local="no">/builds/GNOME/libxml2/globals.c</includedby>
    <includedby refid="parser_8c" local="no">/builds/GNOME/libxml2/parser.c</includedby>
    <includedby refid="parserInternals_8c" local="no">/builds/GNOME/libxml2/parserInternals.c</includedby>
    <includedby refid="pattern_8c" local="no">/builds/GNOME/libxml2/pattern.c</includedby>
    <includedby refid="schematron_8c" local="no">/builds/GNOME/libxml2/schematron.c</includedby>
    <includedby refid="tree_8c" local="no">/builds/GNOME/libxml2/tree.c</includedby>
    <includedby refid="xinclude_8c" local="no">/builds/GNOME/libxml2/xinclude.c</includedby>
    <includedby refid="xlink_8c" local="no">/builds/GNOME/libxml2/xlink.c</includedby>
    <includedby refid="xmlregexp_8c" local="no">/builds/GNOME/libxml2/xmlregexp.c</includedby>
    <includedby refid="xmlsave_8c" local="no">/builds/GNOME/libxml2/xmlsave.c</includedby>
    <includedby refid="xpath_8c" local="no">/builds/GNOME/libxml2/xpath.c</includedby>
    <includedby refid="HTMLtree_8h" local="no">HTMLtree.h</includedby>
    <includedby refid="c14n_8h" local="no">c14n.h</includedby>
    <includedby refid="catalog_8h" local="no">catalog.h</includedby>
    <includedby refid="debugXML_8h" local="no">debugXML.h</includedby>
    <includedby refid="entities_8h" local="no">entities.h</includedby>
    <includedby refid="parser_8h" local="no">parser.h</includedby>
    <includedby refid="pattern_8h" local="no">pattern.h</includedby>
    <includedby refid="relaxng_8h" local="no">relaxng.h</includedby>
    <includedby refid="schemasInternals_8h" local="no">schemasInternals.h</includedby>
    <includedby refid="schematron_8h" local="no">schematron.h</includedby>
    <includedby refid="valid_8h" local="no">valid.h</includedby>
    <includedby refid="xinclude_8h" local="no">xinclude.h</includedby>
    <includedby refid="xlink_8h" local="no">xlink.h</includedby>
    <includedby refid="xmlIO_8h" local="no">xmlIO.h</includedby>
    <includedby refid="xmlreader_8h" local="no">xmlreader.h</includedby>
    <includedby refid="xmlsave_8h" local="no">xmlsave.h</includedby>
    <includedby refid="xmlschemas_8h" local="no">xmlschemas.h</includedby>
    <includedby refid="xpath_8h" local="no">xpath.h</includedby>
    <includedby refid="xpointer_8h" local="no">xpointer.h</includedby>
    <incdepgraph>
      <node id="1">
        <label>tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>libxml/xmlmemory.h</label>
        <link refid="xmlmemory_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>libxml/xmlregexp.h</label>
        <link refid="xmlregexp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>libxml/xmlstring.h</label>
        <link refid="xmlstring_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>libxml/xmlversion.h</label>
        <link refid="xmlversion_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>libxml/xmlexports.h</label>
      </node>
      <node id="3">
        <label>limits.h</label>
      </node>
      <node id="7">
        <label>stdarg.h</label>
      </node>
      <node id="2">
        <label>stdio.h</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="8">
        <label>HTMLparser.h</label>
        <link refid="HTMLparser_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>HTMLtree.h</label>
        <link refid="HTMLtree_8h"/>
      </node>
      <node id="10">
        <label>SAX2.h</label>
        <link refid="SAX2_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>c14n.h</label>
        <link refid="c14n_8h"/>
      </node>
      <node id="4">
        <label>catalog.h</label>
        <link refid="catalog_8h"/>
      </node>
      <node id="5">
        <label>debugXML.h</label>
        <link refid="debugXML_8h"/>
      </node>
      <node id="6">
        <label>entities.h</label>
        <link refid="entities_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="7">
        <label>parser.h</label>
        <link refid="parser_8h"/>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>parserInternals.h</label>
        <link refid="parserInternals_8h"/>
      </node>
      <node id="16">
        <label>pattern.h</label>
        <link refid="pattern_8h"/>
      </node>
      <node id="11">
        <label>relaxng.h</label>
        <link refid="relaxng_8h"/>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="17">
        <label>schemasInternals.h</label>
        <link refid="schemasInternals_8h"/>
        <childnode refid="15" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>schematron.h</label>
        <link refid="schematron_8h"/>
      </node>
      <node id="1">
        <label>tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>valid.h</label>
        <link refid="valid_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>xinclude.h</label>
        <link refid="xinclude_8h"/>
      </node>
      <node id="20">
        <label>xlink.h</label>
        <link refid="xlink_8h"/>
      </node>
      <node id="21">
        <label>xmlIO.h</label>
        <link refid="xmlIO_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>xmlreader.h</label>
        <link refid="xmlreader_8h"/>
      </node>
      <node id="22">
        <label>xmlsave.h</label>
        <link refid="xmlsave_8h"/>
      </node>
      <node id="14">
        <label>xmlschemas.h</label>
        <link refid="xmlschemas_8h"/>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
      </node>
      <node id="15">
        <label>xmlschemastypes.h</label>
        <link refid="xmlschemastypes_8h"/>
      </node>
      <node id="23">
        <label>xmlwriter.h</label>
        <link refid="xmlwriter_8h"/>
      </node>
      <node id="24">
        <label>xpath.h</label>
        <link refid="xpath_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>xpathInternals.h</label>
        <link refid="xpathInternals_8h"/>
      </node>
      <node id="26">
        <label>xpointer.h</label>
        <link refid="xpointer_8h"/>
      </node>
    </invincdepgraph>
    <innerclass refid="struct__xmlBuffer" prot="public">_xmlBuffer</innerclass>
    <innerclass refid="struct__xmlNotation" prot="public">_xmlNotation</innerclass>
    <innerclass refid="struct__xmlEnumeration" prot="public">_xmlEnumeration</innerclass>
    <innerclass refid="struct__xmlAttribute" prot="public">_xmlAttribute</innerclass>
    <innerclass refid="struct__xmlElementContent" prot="public">_xmlElementContent</innerclass>
    <innerclass refid="struct__xmlElement" prot="public">_xmlElement</innerclass>
    <innerclass refid="struct__xmlNs" prot="public">_xmlNs</innerclass>
    <innerclass refid="struct__xmlDtd" prot="public">_xmlDtd</innerclass>
    <innerclass refid="struct__xmlAttr" prot="public">_xmlAttr</innerclass>
    <innerclass refid="struct__xmlID" prot="public">_xmlID</innerclass>
    <innerclass refid="struct__xmlNode" prot="public">_xmlNode</innerclass>
    <innerclass refid="struct__xmlDoc" prot="public">_xmlDoc</innerclass>
    <innerclass refid="struct__xmlDOMWrapCtxt" prot="public">_xmlDOMWrapCtxt</innerclass>
    <sectiondef kind="define">
      <memberdef kind="define" id="tree_8h_1a8d411316ba85ce284dba86f800650f64" prot="public" static="no">
        <name>LIBXML2_NEW_BUFFER</name>
        <briefdescription>
<para>Macro used to express that the API use the new buffers for xmlParserInputBuffer and xmlOutputBuffer. </para>
        </briefdescription>
        <detaileddescription>
<para>The change was introduced in 2.9.0. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="139" column="9" bodyfile="tree.h" bodystart="139" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="tree_8h_1a986ca8dcf89af280320107453808bf8e" prot="public" static="no">
        <name>XML_XML_NAMESPACE</name>
        <initializer>    (const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *) &quot;http://www.w3.org/XML/1998/namespace&quot;</initializer>
        <briefdescription>
<para>This is the namespace for the special xml: prefix predefined in the XML Namespace specification. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="145" column="9" bodyfile="tree.h" bodystart="145" bodyend="146"/>
      </memberdef>
      <memberdef kind="define" id="tree_8h_1a94da96911b9d802b94b33db2cbbe2213" prot="public" static="no">
        <name>XML_XML_ID</name>
        <initializer>(const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *) &quot;xml:id&quot;</initializer>
        <briefdescription>
<para>This is the name for the special xml:id attribute. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="151" column="9" bodyfile="tree.h" bodystart="151" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="tree_8h_1ae6f4491a6b2ed81024a7212bd46f10df" prot="public" static="no">
        <name>XML_LOCAL_NAMESPACE</name>
        <initializer><ref refid="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcac92e046e63098ecdb5b8797171c0cf04" kindref="member">XML_NAMESPACE_DECL</ref></initializer>
        <briefdescription>
<para>A namespace declaration node. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="500" column="9" bodyfile="tree.h" bodystart="500" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="tree_8h_1a2410491b24f65aaac96ae390f2490c01" prot="public" static="no">
        <name>xmlChildrenNode</name>
        <initializer>children</initializer>
        <briefdescription>
<para>Macro for compatibility naming layer with libxml1. </para>
        </briefdescription>
        <detaileddescription>
<para>Maps to &quot;children.&quot; </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="908" column="9" bodyfile="tree.h" bodystart="908" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="tree_8h_1ab6f7898c3eb5249fe25dc74e0ad5cfdc" prot="public" static="no">
        <name>xmlRootNode</name>
        <initializer>children</initializer>
        <briefdescription>
<para>Macro for compatibility naming layer with libxml1. </para>
        </briefdescription>
        <detaileddescription>
<para>Maps to &quot;children&quot;. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="916" column="9" bodyfile="tree.h" bodystart="916" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="enum">
      <memberdef kind="enum" id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlBufferAllocationScheme</name>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760a9b30b467b536404050b78fe0836ba8dc" prot="public">
          <name>XML_BUFFER_ALLOC_DOUBLEIT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760a20816a3bb3b5713e643a572344b376da" prot="public">
          <name>XML_BUFFER_ALLOC_EXACT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760a2a6ad1af97615061049407ad40b56ddd" prot="public">
          <name>XML_BUFFER_ALLOC_IMMUTABLE</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760a56f6e4219831482262706f3153a2a5ef" prot="public">
          <name>XML_BUFFER_ALLOC_IO</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760abab6084b795e1d16d7cbd2bee6951eb3" prot="public">
          <name>XML_BUFFER_ALLOC_HYBRID</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760a1c511b13d71454097a4d34d89c35013c" prot="public">
          <name>XML_BUFFER_ALLOC_BOUNDED</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Removed, buffers always use XML_BUFFER_ALLOC_IO now. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="93" column="1" bodyfile="tree.h" bodystart="93" bodyend="100"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fc" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlElementType</name>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcace504c13108197f63cda76cd2725f96e" prot="public">
          <name>XML_ELEMENT_NODE</name>
          <initializer>=		1</initializer>
          <briefdescription>
<para>An element. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca0551c1b327316ea00e4b630d6173d451" prot="public">
          <name>XML_ATTRIBUTE_NODE</name>
          <initializer>=		2</initializer>
          <briefdescription>
<para>An attribute. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlAttr. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca6ffefb9da004039a7cd287e981a36876" prot="public">
          <name>XML_TEXT_NODE</name>
          <initializer>=		3</initializer>
          <briefdescription>
<para>A text node. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca56b113421eccd162f5a77ce70ea432a2" prot="public">
          <name>XML_CDATA_SECTION_NODE</name>
          <initializer>=	4</initializer>
          <briefdescription>
<para>A CDATA section. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcae1197be1f47e98327219ef211ad92812" prot="public">
          <name>XML_ENTITY_REF_NODE</name>
          <initializer>=	5</initializer>
          <briefdescription>
<para>An entity reference. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. The <computeroutput>children</computeroutput> member points to the entity declaration if available. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca8a248baba8e41be742d0ebc4b272e839" prot="public">
          <name>XML_ENTITY_NODE</name>
          <initializer>=		6</initializer>
          <briefdescription>
<para>unused </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca90b41aacb75fc279abf67eeec508d373" prot="public">
          <name>XML_PI_NODE</name>
          <initializer>=		7</initializer>
          <briefdescription>
<para>A processing instruction. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcabdb9665a3af92d0fb347b2fd22f7eef2" prot="public">
          <name>XML_COMMENT_NODE</name>
          <initializer>=		8</initializer>
          <briefdescription>
<para>A comment. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca501d781c0300df634fb09004233c9b19" prot="public">
          <name>XML_DOCUMENT_NODE</name>
          <initializer>=		9</initializer>
          <briefdescription>
<para>A document. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlDoc. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca028db5b071914cf4fce7b2e43c668f12" prot="public">
          <name>XML_DOCUMENT_TYPE_NODE</name>
          <initializer>=	10</initializer>
          <briefdescription>
<para>unused </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcaa9be5fa16b825c106de2f17d331eb712" prot="public">
          <name>XML_DOCUMENT_FRAG_NODE</name>
          <initializer>=	11</initializer>
          <briefdescription>
<para>A document fragment. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcae65c3ee31e7512c4b2fd992098326971" prot="public">
          <name>XML_NOTATION_NODE</name>
          <initializer>=		12</initializer>
          <briefdescription>
<para>A notation, unused. </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcaca0ede635fc5c7251c5b4cd5054aacb1" prot="public">
          <name>XML_HTML_DOCUMENT_NODE</name>
          <initializer>=	13</initializer>
          <briefdescription>
<para>An HTML document. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlDoc. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcac15db8e9543400ab2edf1b21b3b7ca1f" prot="public">
          <name>XML_DTD_NODE</name>
          <initializer>=		14</initializer>
          <briefdescription>
<para>A document type definition. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlDtd. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcadec43366324e863beb72ff4b35187798" prot="public">
          <name>XML_ELEMENT_DECL</name>
          <initializer>=		15</initializer>
          <briefdescription>
<para>An element declaration. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlElement. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcaeb9eea2d64ff8ef0f90b2cd8f0a8b1dc" prot="public">
          <name>XML_ATTRIBUTE_DECL</name>
          <initializer>=		16</initializer>
          <briefdescription>
<para>An attribute declaration. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlAttribute. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca0956c291375432e641b006ba38091b5f" prot="public">
          <name>XML_ENTITY_DECL</name>
          <initializer>=		17</initializer>
          <briefdescription>
<para>An entity declaration. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlEntity. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcac92e046e63098ecdb5b8797171c0cf04" prot="public">
          <name>XML_NAMESPACE_DECL</name>
          <initializer>=		18</initializer>
          <briefdescription>
<para>An XPath namespace node. </para>
          </briefdescription>
          <detaileddescription>
<para>Can only be returned by the XPath engine. Objects of this type are an xmlNs which has a completely different layout than xmlNode. The <computeroutput>next</computeroutput> member contains a pointer to the xmlNode element to which the namespace applies.</para>
<para>Nodes of this type must be handled with extreme care to avoid type confusion bugs. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fca841fdaccb45477d0829658cfc5673c8d" prot="public">
          <name>XML_XINCLUDE_START</name>
          <initializer>=		19</initializer>
          <briefdescription>
<para>An XInclude start marker. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. Inserted as preceding sibling of XIncluded content. </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fcaa5bc026cbf66b480f65862e86826d311" prot="public">
          <name>XML_XINCLUDE_END</name>
          <initializer>=		20</initializer>
          <briefdescription>
<para>An XInclude end marker. </para>
          </briefdescription>
          <detaileddescription>
<para>Objects of this type are an xmlNode. Inserted as following sibling of XIncluded content. </para>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>The different element types carried by an XML tree. </para>
        </briefdescription>
        <detaileddescription>
<para>NOTE: This is synchronized with DOM Level 1 values. See <ulink url="http://www.w3.org/TR/REC-DOM-Level-1/">http://www.w3.org/TR/REC-DOM-Level-1/</ulink></para>
<para>Actually this had diverged a bit, and XML_DTD_NODE is used instead of XML_DOCUMENT_TYPE_NODE. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="162" column="1" bodyfile="tree.h" bodystart="162" bodyend="281"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30f" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlAttributeType</name>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fad8ec154b030dabc0fa2a13aee215acc3" prot="public">
          <name>XML_ATTRIBUTE_CDATA</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa440180cd284eeaed205699e9b14d8a6d" prot="public">
          <name>XML_ATTRIBUTE_ID</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa2ceab81108ecbad9f584b5bf2d8e2b04" prot="public">
          <name>XML_ATTRIBUTE_IDREF</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa313947e206cdbf053fbca67211aa888b" prot="public">
          <name>XML_ATTRIBUTE_IDREFS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30faff6a3807a22fcbd5652eb01edd9312f4" prot="public">
          <name>XML_ATTRIBUTE_ENTITY</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa304ab864b173f6e2d6b51078f53874bc" prot="public">
          <name>XML_ATTRIBUTE_ENTITIES</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fadecf146805b8969d381f8b91936237f6" prot="public">
          <name>XML_ATTRIBUTE_NMTOKEN</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa0161d1cdc2820f78e45299235ee950d7" prot="public">
          <name>XML_ATTRIBUTE_NMTOKENS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fac2bc4d6a28bb300287ec18266b9f4c21" prot="public">
          <name>XML_ATTRIBUTE_ENUMERATION</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a15d41fdf14ad151384161e32b0e4d30fa50d1bd58e850a97788c26aaf235b3c65" prot="public">
          <name>XML_ATTRIBUTE_NOTATION</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>A DTD Attribute type definition. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="309" column="1" bodyfile="tree.h" bodystart="309" bodyend="320"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1a302ddaedbc42bf0d4aa6de89ad8118c2" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlAttributeDefault</name>
        <enumvalue id="tree_8h_1a302ddaedbc42bf0d4aa6de89ad8118c2ad582b18f617c9ad0548c0eb9cd3892f7" prot="public">
          <name>XML_ATTRIBUTE_NONE</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a302ddaedbc42bf0d4aa6de89ad8118c2a253c47e4759c52782cd85a762b9791d1" prot="public">
          <name>XML_ATTRIBUTE_REQUIRED</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a302ddaedbc42bf0d4aa6de89ad8118c2a2bacc8119723ea1153f4b9e048ad3985" prot="public">
          <name>XML_ATTRIBUTE_IMPLIED</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a302ddaedbc42bf0d4aa6de89ad8118c2ae3ce6e23f389bb5a6eb9d42a406710f1" prot="public">
          <name>XML_ATTRIBUTE_FIXED</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>A DTD Attribute default definition. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="325" column="1" bodyfile="tree.h" bodystart="325" bodyend="330"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1adeb8f7de0529e7177a243c86434b081b" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlElementContentType</name>
        <enumvalue id="tree_8h_1adeb8f7de0529e7177a243c86434b081ba5e0064ef1eee870854be2fc928e407a8" prot="public">
          <name>XML_ELEMENT_CONTENT_PCDATA</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1adeb8f7de0529e7177a243c86434b081baac6d59204244c09ff8992168e7b4d8a0" prot="public">
          <name>XML_ELEMENT_CONTENT_ELEMENT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1adeb8f7de0529e7177a243c86434b081baee6c382540036f3e03d2b1d45f904912" prot="public">
          <name>XML_ELEMENT_CONTENT_SEQ</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1adeb8f7de0529e7177a243c86434b081badf198f9dc79732d3dae9ecaccb4306b2" prot="public">
          <name>XML_ELEMENT_CONTENT_OR</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Possible definitions of element content types. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="396" column="1" bodyfile="tree.h" bodystart="396" bodyend="401"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1a657b3f48031548535c3d6c88dc0f3a59" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlElementContentOccur</name>
        <enumvalue id="tree_8h_1a657b3f48031548535c3d6c88dc0f3a59a4ac77d5441e9177db339a4e97e0e1f49" prot="public">
          <name>XML_ELEMENT_CONTENT_ONCE</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a657b3f48031548535c3d6c88dc0f3a59a032d41354db457b2a752d67bb1894b45" prot="public">
          <name>XML_ELEMENT_CONTENT_OPT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a657b3f48031548535c3d6c88dc0f3a59ab4b22153df7ab24b0c2664a78ba1a500" prot="public">
          <name>XML_ELEMENT_CONTENT_MULT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a657b3f48031548535c3d6c88dc0f3a59aad22926bbcf747a67ede4f9d32aaa7b8" prot="public">
          <name>XML_ELEMENT_CONTENT_PLUS</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Possible definitions of element content occurrences. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="406" column="1" bodyfile="tree.h" bodystart="406" bodyend="411"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1ac65cd24be7a1b5a07da3747794118837" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlElementTypeVal</name>
        <enumvalue id="tree_8h_1ac65cd24be7a1b5a07da3747794118837ab9953caa19675186f244f12897f0afee" prot="public">
          <name>XML_ELEMENT_TYPE_UNDEFINED</name>
          <initializer>= 0</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1ac65cd24be7a1b5a07da3747794118837a903c7583c851d7acfc170163f51af116" prot="public">
          <name>XML_ELEMENT_TYPE_EMPTY</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1ac65cd24be7a1b5a07da3747794118837aea0a2f20556dd6c1eea6602809618ef9" prot="public">
          <name>XML_ELEMENT_TYPE_ANY</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1ac65cd24be7a1b5a07da3747794118837a3b469f85ae4cd8b949b019d9904f0818" prot="public">
          <name>XML_ELEMENT_TYPE_MIXED</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1ac65cd24be7a1b5a07da3747794118837abebd3cecee4d8bd74c8f15c08fe64bf7" prot="public">
          <name>XML_ELEMENT_TYPE_ELEMENT</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>The different possibilities for an element content type. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="443" column="1" bodyfile="tree.h" bodystart="443" bodyend="449"/>
      </memberdef>
      <memberdef kind="enum" id="tree_8h_1a9ed6ce70618f74331a16293a8e309306" prot="public" static="no" strong="no">
        <type></type>
        <name>xmlDocProperties</name>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306a02b769bcc041e79660b1493c45e21c13" prot="public">
          <name>XML_DOC_WELLFORMED</name>
          <initializer>= 1&lt;&lt;0</initializer>
          <briefdescription>
<para>document is XML well formed </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306a23ca5913bca09ca044fce6d109aa643b" prot="public">
          <name>XML_DOC_NSVALID</name>
          <initializer>= 1&lt;&lt;1</initializer>
          <briefdescription>
<para>document is Namespace valid </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306abb351443de27c977592c086e811b4db5" prot="public">
          <name>XML_DOC_OLD10</name>
          <initializer>= 1&lt;&lt;2</initializer>
          <briefdescription>
<para>parsed with old XML-1.0 parser </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306ad1e48e790b54053deadd4b59850562d6" prot="public">
          <name>XML_DOC_DTDVALID</name>
          <initializer>= 1&lt;&lt;3</initializer>
          <briefdescription>
<para>DTD validation was successful. </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306aad0ff75110e9d7ba6b9d6d1489ede70f" prot="public">
          <name>XML_DOC_XINCLUDE</name>
          <initializer>= 1&lt;&lt;4</initializer>
          <briefdescription>
<para>XInclude substitution was done. </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306a25c86ccd0561277fe3e1e32669f607d7" prot="public">
          <name>XML_DOC_USERBUILT</name>
          <initializer>= 1&lt;&lt;5</initializer>
          <briefdescription>
<para>Document was built using the API and not by parsing an instance. </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306a59d6a4e59ceaafb19d0e2cbc3118422f" prot="public">
          <name>XML_DOC_INTERNAL</name>
          <initializer>= 1&lt;&lt;6</initializer>
          <briefdescription>
<para>built for internal processing </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="tree_8h_1a9ed6ce70618f74331a16293a8e309306aaf06b51f66e24374e30dc380dd671ca8" prot="public">
          <name>XML_DOC_HTML</name>
          <initializer>= 1&lt;&lt;7</initializer>
          <briefdescription>
<para>parsed or built HTML document </para>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
<para>Set of properties of the document as found by the parser. </para>
        </briefdescription>
        <detaileddescription>
<para>Some of them are linked to similarly named xmlParserOption. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="762" column="1" bodyfile="tree.h" bodystart="762" bodyend="779"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="typedef">
      <memberdef kind="typedef" id="tree_8h_1a7a0ca7c6b30d7a9103b28626f820cab9" prot="public" static="no">
        <type>struct <ref refid="struct__xmlParserInputBuffer" kindref="compound">_xmlParserInputBuffer</ref></type>
        <definition>typedef struct _xmlParserInputBuffer xmlParserInputBuffer</definition>
        <argsstring></argsstring>
        <name>xmlParserInputBuffer</name>
        <briefdescription>
<para>Parser input buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>This struct and all related functions should ultimately be removed from the public interface. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="61" column="36" bodyfile="tree.h" bodystart="61" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1ad6b1717b26212173df1f72f5240001ad" prot="public" static="no">
        <type><ref refid="tree_8h_1a7a0ca7c6b30d7a9103b28626f820cab9" kindref="member">xmlParserInputBuffer</ref> *</type>
        <definition>typedef xmlParserInputBuffer* xmlParserInputBufferPtr</definition>
        <argsstring></argsstring>
        <name>xmlParserInputBufferPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="62" column="30" bodyfile="tree.h" bodystart="62" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a5a833f0c7502e1b15b6571271fa4c541" prot="public" static="no">
        <type>struct <ref refid="struct__xmlOutputBuffer" kindref="compound">_xmlOutputBuffer</ref></type>
        <definition>typedef struct _xmlOutputBuffer xmlOutputBuffer</definition>
        <argsstring></argsstring>
        <name>xmlOutputBuffer</name>
        <briefdescription>
<para>Output buffer. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="65" column="31" bodyfile="tree.h" bodystart="65" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a395bf421190af6d78313dccbd48b10b8" prot="public" static="no">
        <type><ref refid="tree_8h_1a5a833f0c7502e1b15b6571271fa4c541" kindref="member">xmlOutputBuffer</ref> *</type>
        <definition>typedef xmlOutputBuffer* xmlOutputBufferPtr</definition>
        <argsstring></argsstring>
        <name>xmlOutputBufferPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="66" column="25" bodyfile="tree.h" bodystart="66" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1aa05e6cbf6c68ec5a2e33ddabddf58b7d" prot="public" static="no">
        <type>struct <ref refid="struct__xmlParserInput" kindref="compound">_xmlParserInput</ref></type>
        <definition>typedef struct _xmlParserInput xmlParserInput</definition>
        <argsstring></argsstring>
        <name>xmlParserInput</name>
        <briefdescription>
<para>Parser input. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="70" column="30" bodyfile="tree.h" bodystart="70" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a71544c39829acc07c06ed6ff554506a7" prot="public" static="no">
        <type><ref refid="tree_8h_1aa05e6cbf6c68ec5a2e33ddabddf58b7d" kindref="member">xmlParserInput</ref> *</type>
        <definition>typedef xmlParserInput* xmlParserInputPtr</definition>
        <argsstring></argsstring>
        <name>xmlParserInputPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="71" column="24" bodyfile="tree.h" bodystart="71" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1afe4cc6b7bf2e4d3858f4aee47370d3d8" prot="public" static="no">
        <type>struct <ref refid="struct__xmlParserCtxt" kindref="compound">_xmlParserCtxt</ref></type>
        <definition>typedef struct _xmlParserCtxt xmlParserCtxt</definition>
        <argsstring></argsstring>
        <name>xmlParserCtxt</name>
        <briefdescription>
<para>Parser context. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="74" column="29" bodyfile="tree.h" bodystart="74" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a984a6694dc67f1217a78d23ff78cc219" prot="public" static="no">
        <type><ref refid="tree_8h_1afe4cc6b7bf2e4d3858f4aee47370d3d8" kindref="member">xmlParserCtxt</ref> *</type>
        <definition>typedef xmlParserCtxt* xmlParserCtxtPtr</definition>
        <argsstring></argsstring>
        <name>xmlParserCtxtPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="75" column="23" bodyfile="tree.h" bodystart="75" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a7ccc6335b7872be745350a8386cbd63c" prot="public" static="no">
        <type>struct <ref refid="struct__xmlSAXLocator" kindref="compound">_xmlSAXLocator</ref></type>
        <definition>typedef struct _xmlSAXLocator xmlSAXLocator</definition>
        <argsstring></argsstring>
        <name>xmlSAXLocator</name>
        <briefdescription>
<para>SAX locator. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="78" column="29" bodyfile="tree.h" bodystart="78" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a999a7b05911135d9a76060edca7bea8d" prot="public" static="no">
        <type><ref refid="tree_8h_1a7ccc6335b7872be745350a8386cbd63c" kindref="member">xmlSAXLocator</ref> *</type>
        <definition>typedef xmlSAXLocator* xmlSAXLocatorPtr</definition>
        <argsstring></argsstring>
        <name>xmlSAXLocatorPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="79" column="23" bodyfile="tree.h" bodystart="79" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a45238c4ba896d6577bb4986e98122e03" prot="public" static="no">
        <type>struct <ref refid="struct__xmlSAXHandler" kindref="compound">_xmlSAXHandler</ref></type>
        <definition>typedef struct _xmlSAXHandler xmlSAXHandler</definition>
        <argsstring></argsstring>
        <name>xmlSAXHandler</name>
        <briefdescription>
<para>SAX handler. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="82" column="29" bodyfile="tree.h" bodystart="82" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a5bc7c051bebcda418a3dbb95c3f69c93" prot="public" static="no">
        <type><ref refid="tree_8h_1a45238c4ba896d6577bb4986e98122e03" kindref="member">xmlSAXHandler</ref> *</type>
        <definition>typedef xmlSAXHandler* xmlSAXHandlerPtr</definition>
        <argsstring></argsstring>
        <name>xmlSAXHandlerPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="83" column="23" bodyfile="tree.h" bodystart="83" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a084cd84a8cefc3c95c7eaf95b2e652ce" prot="public" static="no">
        <type>struct <ref refid="struct__xmlEntity" kindref="compound">_xmlEntity</ref></type>
        <definition>typedef struct _xmlEntity xmlEntity</definition>
        <argsstring></argsstring>
        <name>xmlEntity</name>
        <briefdescription>
<para>Entity declaration. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="87" column="25" bodyfile="tree.h" bodystart="87" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1aabf8d1c7e192cd05065df82fa10964cd" prot="public" static="no">
        <type><ref refid="tree_8h_1a084cd84a8cefc3c95c7eaf95b2e652ce" kindref="member">xmlEntity</ref> *</type>
        <definition>typedef xmlEntity* xmlEntityPtr</definition>
        <argsstring></argsstring>
        <name>xmlEntityPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="88" column="19" bodyfile="tree.h" bodystart="88" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a2ee128432290a53a930b36702abd1ef4" prot="public" static="no">
        <type>struct <ref refid="struct__xmlBuffer" kindref="compound">_xmlBuffer</ref></type>
        <definition>typedef struct _xmlBuffer xmlBuffer</definition>
        <argsstring></argsstring>
        <name>xmlBuffer</name>
        <briefdescription>
<para>Buffer type. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="103" column="25" bodyfile="tree.h" bodystart="103" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1adf406f50d1a70dd73cce835626d813b4" prot="public" static="no">
        <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
        <definition>typedef xmlBuffer* xmlBufferPtr</definition>
        <argsstring></argsstring>
        <name>xmlBufferPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="104" column="19" bodyfile="tree.h" bodystart="104" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" prot="public" static="no">
        <type>struct _xmlBuf</type>
        <definition>typedef struct _xmlBuf xmlBuf</definition>
        <argsstring></argsstring>
        <name>xmlBuf</name>
        <briefdescription>
<para>Buffer with 64-bit support. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="131" column="22" bodyfile="tree.h" bodystart="131" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1af2c93f01669246eebe4219b5e4892f25" prot="public" static="no">
        <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
        <definition>typedef xmlBuf* xmlBufPtr</definition>
        <argsstring></argsstring>
        <name>xmlBufPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="132" column="16" bodyfile="tree.h" bodystart="132" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1ab5edcaca20bf051640b2dfb0149653ab" prot="public" static="no">
        <type>struct <ref refid="struct__xmlNotation" kindref="compound">_xmlNotation</ref></type>
        <definition>typedef struct _xmlNotation xmlNotation</definition>
        <argsstring></argsstring>
        <name>xmlNotation</name>
        <briefdescription>
<para>Notation declaration. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="289" column="27" bodyfile="tree.h" bodystart="289" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a80a81283dfcf556e49e52a7fa314018a" prot="public" static="no">
        <type><ref refid="tree_8h_1ab5edcaca20bf051640b2dfb0149653ab" kindref="member">xmlNotation</ref> *</type>
        <definition>typedef xmlNotation* xmlNotationPtr</definition>
        <argsstring></argsstring>
        <name>xmlNotationPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="290" column="21" bodyfile="tree.h" bodystart="290" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1acfc4ea75665f49d9af693257ea1178e8" prot="public" static="no">
        <type>struct <ref refid="struct__xmlEnumeration" kindref="compound">_xmlEnumeration</ref></type>
        <definition>typedef struct _xmlEnumeration xmlEnumeration</definition>
        <argsstring></argsstring>
        <name>xmlEnumeration</name>
        <briefdescription>
<para>Enumeration in a DTD. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="333" column="30" bodyfile="tree.h" bodystart="333" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a97507d6e4a48a08398e4866fc05f9e66" prot="public" static="no">
        <type><ref refid="tree_8h_1acfc4ea75665f49d9af693257ea1178e8" kindref="member">xmlEnumeration</ref> *</type>
        <definition>typedef xmlEnumeration* xmlEnumerationPtr</definition>
        <argsstring></argsstring>
        <name>xmlEnumerationPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="334" column="24" bodyfile="tree.h" bodystart="334" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a5c4851befecec9ecc3a394282d6d2e37" prot="public" static="no">
        <type>struct <ref refid="struct__xmlAttribute" kindref="compound">_xmlAttribute</ref></type>
        <definition>typedef struct _xmlAttribute xmlAttribute</definition>
        <argsstring></argsstring>
        <name>xmlAttribute</name>
        <briefdescription>
<para>Attribute declaration. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="349" column="28" bodyfile="tree.h" bodystart="349" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1adb46214a4c91235292b78d699c63fcc6" prot="public" static="no">
        <type><ref refid="tree_8h_1a5c4851befecec9ecc3a394282d6d2e37" kindref="member">xmlAttribute</ref> *</type>
        <definition>typedef xmlAttribute* xmlAttributePtr</definition>
        <argsstring></argsstring>
        <name>xmlAttributePtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="350" column="22" bodyfile="tree.h" bodystart="350" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a43d7c30835afce6963189de976e668e4" prot="public" static="no">
        <type>struct <ref refid="struct__xmlElementContent" kindref="compound">_xmlElementContent</ref></type>
        <definition>typedef struct _xmlElementContent xmlElementContent</definition>
        <argsstring></argsstring>
        <name>xmlElementContent</name>
        <briefdescription>
<para>Element content in element declarations. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="414" column="33" bodyfile="tree.h" bodystart="414" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a31bd6f3667de0677f5a0601df6d8cbcc" prot="public" static="no">
        <type><ref refid="tree_8h_1a43d7c30835afce6963189de976e668e4" kindref="member">xmlElementContent</ref> *</type>
        <definition>typedef xmlElementContent* xmlElementContentPtr</definition>
        <argsstring></argsstring>
        <name>xmlElementContentPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="415" column="27" bodyfile="tree.h" bodystart="415" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1aadd1c7b634b876bfd26a20183fa88032" prot="public" static="no">
        <type>struct <ref refid="struct__xmlElement" kindref="compound">_xmlElement</ref></type>
        <definition>typedef struct _xmlElement xmlElement</definition>
        <argsstring></argsstring>
        <name>xmlElement</name>
        <briefdescription>
<para>Element declaration. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="452" column="26" bodyfile="tree.h" bodystart="452" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a46a18cd73ce1f16d4474734b8445d351" prot="public" static="no">
        <type><ref refid="tree_8h_1aadd1c7b634b876bfd26a20183fa88032" kindref="member">xmlElement</ref> *</type>
        <definition>typedef xmlElement* xmlElementPtr</definition>
        <argsstring></argsstring>
        <name>xmlElementPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="453" column="20" bodyfile="tree.h" bodystart="453" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a886ac2785160bf49f8be4bb07ad3de54" prot="public" static="no">
        <type><ref refid="tree_8h_1a6d83aa11b89106b2ec14162b1474c8fc" kindref="member">xmlElementType</ref></type>
        <definition>typedef xmlElementType xmlNsType</definition>
        <argsstring></argsstring>
        <name>xmlNsType</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="501" column="24" bodyfile="tree.h" bodystart="501" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a79683a004465ef75a960604fada53ab3" prot="public" static="no">
        <type>struct <ref refid="struct__xmlNs" kindref="compound">_xmlNs</ref></type>
        <definition>typedef struct _xmlNs xmlNs</definition>
        <argsstring></argsstring>
        <name>xmlNs</name>
        <briefdescription>
<para>Namespace declaration. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="504" column="21" bodyfile="tree.h" bodystart="504" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1ac0504d0a7b15e0f08278dfa13bc91894" prot="public" static="no">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>typedef xmlNs* xmlNsPtr</definition>
        <argsstring></argsstring>
        <name>xmlNsPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="505" column="15" bodyfile="tree.h" bodystart="505" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" prot="public" static="no">
        <type>struct <ref refid="struct__xmlDtd" kindref="compound">_xmlDtd</ref></type>
        <definition>typedef struct _xmlDtd xmlDtd</definition>
        <argsstring></argsstring>
        <name>xmlDtd</name>
        <briefdescription>
<para>Document type definition (DTD) </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="535" column="22" bodyfile="tree.h" bodystart="535" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1acf27903d420a0c6494f76253001bc4c7" prot="public" static="no">
        <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
        <definition>typedef xmlDtd* xmlDtdPtr</definition>
        <argsstring></argsstring>
        <name>xmlDtdPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="536" column="16" bodyfile="tree.h" bodystart="536" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" prot="public" static="no">
        <type>struct <ref refid="struct__xmlAttr" kindref="compound">_xmlAttr</ref></type>
        <definition>typedef struct _xmlAttr xmlAttr</definition>
        <argsstring></argsstring>
        <name>xmlAttr</name>
        <briefdescription>
<para>Attribute of an element. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="583" column="23" bodyfile="tree.h" bodystart="583" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a7cda1eea2f6a298597e3a0a4c797caaa" prot="public" static="no">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>typedef xmlAttr* xmlAttrPtr</definition>
        <argsstring></argsstring>
        <name>xmlAttrPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="584" column="17" bodyfile="tree.h" bodystart="584" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a82cc16c849bbe05cd9130abfaef28c0d" prot="public" static="no">
        <type>struct <ref refid="struct__xmlID" kindref="compound">_xmlID</ref></type>
        <definition>typedef struct _xmlID xmlID</definition>
        <argsstring></argsstring>
        <name>xmlID</name>
        <briefdescription>
<para>Extra data for ID attributes. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="618" column="21" bodyfile="tree.h" bodystart="618" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1aa51c3381b794ccf2edc5f69e81787a71" prot="public" static="no">
        <type><ref refid="tree_8h_1a82cc16c849bbe05cd9130abfaef28c0d" kindref="member">xmlID</ref> *</type>
        <definition>typedef xmlID* xmlIDPtr</definition>
        <argsstring></argsstring>
        <name>xmlIDPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="619" column="15" bodyfile="tree.h" bodystart="619" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" prot="public" static="no">
        <type>struct <ref refid="struct__xmlNode" kindref="compound">_xmlNode</ref></type>
        <definition>typedef struct _xmlNode xmlNode</definition>
        <argsstring></argsstring>
        <name>xmlNode</name>
        <briefdescription>
<para>Generic node type in an XML or HTML tree. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="662" column="23" bodyfile="tree.h" bodystart="662" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a4ad4a6885d35984ee31738a688402096" prot="public" static="no">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>typedef xmlNode* xmlNodePtr</definition>
        <argsstring></argsstring>
        <name>xmlNodePtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="663" column="17" bodyfile="tree.h" bodystart="663" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1ae94acff8b6413934705e29389bcddc17" prot="public" static="no">
        <type>struct <ref refid="struct__xmlDoc" kindref="compound">_xmlDoc</ref></type>
        <definition>typedef struct _xmlDoc xmlDoc</definition>
        <argsstring></argsstring>
        <name>xmlDoc</name>
        <briefdescription>
<para>XML or HTML document. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="782" column="22" bodyfile="tree.h" bodystart="782" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a5956a7913c28011b6a948fbe62075f56" prot="public" static="no">
        <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
        <definition>typedef xmlDoc* xmlDocPtr</definition>
        <argsstring></argsstring>
        <name>xmlDocPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="783" column="16" bodyfile="tree.h" bodystart="783" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" prot="public" static="no">
        <type>struct <ref refid="struct__xmlDOMWrapCtxt" kindref="compound">_xmlDOMWrapCtxt</ref></type>
        <definition>typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt</definition>
        <argsstring></argsstring>
        <name>xmlDOMWrapCtxt</name>
        <briefdescription>
<para>Context for DOM wrapper operations. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="851" column="30" bodyfile="tree.h" bodystart="851" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a10c4fdd01b0abd68b637a59136541018" prot="public" static="no">
        <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
        <definition>typedef xmlDOMWrapCtxt* xmlDOMWrapCtxtPtr</definition>
        <argsstring></argsstring>
        <name>xmlDOMWrapCtxtPtr</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="852" column="24" bodyfile="tree.h" bodystart="852" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a95afd253c037c426089cb0e2a1eecd1d" prot="public" static="no">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *(*</type>
        <definition>typedef xmlNs *(* xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxt *ctxt, xmlNode *node, const xmlChar *nsName, const xmlChar *nsPrefix)</definition>
        <argsstring>)(xmlDOMWrapCtxt *ctxt, xmlNode *node, const xmlChar *nsName, const xmlChar *nsPrefix)</argsstring>
        <name>xmlDOMWrapAcquireNsFunction</name>
        <briefdescription>
<para>A function called to acquire namespaces (xmlNs) from the wrapper. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>a DOM wrapper context </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the context node (element or attribute) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nsName</parametername>
</parameternamelist>
<parameterdescription>
<para>the requested namespace name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nsPrefix</parametername>
</parameternamelist>
<parameterdescription>
<para>the requested namespace prefix </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an xmlNs or NULL in case of an error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="863" column="9" bodyfile="tree.h" bodystart="863" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1a6fc959a53aad61a058f9039b313d8622" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* xmlRegisterNodeFunc) (xmlNode *node)</definition>
        <argsstring>)(xmlNode *node)</argsstring>
        <name>xmlRegisterNodeFunc</name>
        <briefdescription>
<para>Signature for the registration callback of a created node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="894" column="9" bodyfile="tree.h" bodystart="894" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="tree_8h_1aa242184c4aae31aa9c34f690f2e8b00f" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* xmlDeregisterNodeFunc) (xmlNode *node)</definition>
        <argsstring>)(xmlNode *node)</argsstring>
        <name>xmlDeregisterNodeFunc</name>
        <briefdescription>
<para>Signature for the deregistration callback of a discarded node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="901" column="9" bodyfile="tree.h" bodystart="901" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="func">
      <memberdef kind="function" id="tree_8h_1ab7172dbf96bcae1c14c0a9915979c422" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlValidateNCName</definition>
        <argsstring>(const xmlChar *value, int space)</argsstring>
        <name>xmlValidateNCName</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <param>
          <type>int</type>
          <declname>space</declname>
        </param>
        <briefdescription>
<para>Check that a value conforms to the lexical space of NCName. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value to check </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>space</parametername>
</parameternamelist>
<parameterdescription>
<para>allow spaces in front and end of the string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="943" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="355" bodyend="379" declfile="tree.h" declline="943" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1af631a5dc4e6f2e7635705ca0e5afc40b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlValidateQName</definition>
        <argsstring>(const xmlChar *value, int space)</argsstring>
        <name>xmlValidateQName</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <param>
          <type>int</type>
          <declname>space</declname>
        </param>
        <briefdescription>
<para>Check that a value conforms to the lexical space of QName. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value to check </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>space</parametername>
</parameternamelist>
<parameterdescription>
<para>allow spaces in front and end of the string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="947" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="390" bodyend="422" declfile="tree.h" declline="947" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1abd1da2ab9b14d2cda213b3fa2c0825c4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlValidateName</definition>
        <argsstring>(const xmlChar *value, int space)</argsstring>
        <name>xmlValidateName</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <param>
          <type>int</type>
          <declname>space</declname>
        </param>
        <briefdescription>
<para>Check that a value conforms to the lexical space of Name. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value to check </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>space</parametername>
</parameternamelist>
<parameterdescription>
<para>allow spaces in front and end of the string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="950" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="433" bodyend="457" declfile="tree.h" declline="950" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae457718ea1f98b10e3be9b26d17f80fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlValidateNMToken</definition>
        <argsstring>(const xmlChar *value, int space)</argsstring>
        <name>xmlValidateNMToken</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <param>
          <type>int</type>
          <declname>space</declname>
        </param>
        <briefdescription>
<para>Check that a value conforms to the lexical space of NMToken. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value to check </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>space</parametername>
</parameternamelist>
<parameterdescription>
<para>allow spaces in front and end of the string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="953" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="468" bodyend="492" declfile="tree.h" declline="953" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a5cde5e9e5cb8a5910bbf31498c7b291b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlBuildQName</definition>
        <argsstring>(const xmlChar *ncname, const xmlChar *prefix, xmlChar *memory, int len)</argsstring>
        <name>xmlBuildQName</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>ncname</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>prefix</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>memory</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Build a QName from prefix and local name. </para>
        </briefdescription>
        <detaileddescription>
<para>Builds the QName <computeroutput>prefix:ncname</computeroutput> in <computeroutput>memory</computeroutput> 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.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ncname</parametername>
</parameternamelist>
<parameterdescription>
<para>the Name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>prefix</parametername>
</parameternamelist>
<parameterdescription>
<para>the prefix </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>memory</parametername>
</parameternamelist>
<parameterdescription>
<para>preallocated memory </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>preallocated memory length </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the new string which must be freed by the caller if different from <computeroutput>memory</computeroutput> and <computeroutput>ncname</computeroutput> or NULL in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="957" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="169" bodyend="200" declfile="tree.h" declline="957" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a26c5b1886fcf167303fd348bd60ad244" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlSplitQName2</definition>
        <argsstring>(const xmlChar *name, xmlChar **prefix)</argsstring>
        <name>xmlSplitQName2</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>prefix</declname>
        </param>
        <briefdescription>
<para>Parse an XML qualified name. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000300"><xreftitle>Deprecated</xreftitle><xrefdescription><para>This function doesn&apos;t report malloc failures. </para>
</xrefdescription></xrefsect><verbatim>[NS 5] QName ::= (Prefix &apos;:&apos;)? LocalPart

[NS 6] Prefix ::= NCName

[NS 7] LocalPart ::= NCName
</verbatim> <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the full QName </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>prefix</parametername>
</parameternamelist>
<parameterdescription>
<para>a xmlChar ** </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>NULL if the name doesn&apos;t have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="962" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="220" bodyend="255" declfile="tree.h" declline="962" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a45796e525a9bbc48cbf5bffaf97282fb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>const xmlChar * xmlSplitQName3</definition>
        <argsstring>(const xmlChar *name, int *len)</argsstring>
        <name>xmlSplitQName3</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Parse an XML qualified name. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the full QName </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>an int * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="965" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="268" bodyend="291" declfile="tree.h" declline="965" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac07ae31536b4ee2783a0d5a9f1776bcc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
        <definition>xmlDtd * xmlCreateIntSubset</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId)</argsstring>
        <name>xmlCreateIntSubset</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>publicId</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>systemId</declname>
        </param>
        <briefdescription>
<para>Create a DTD node. </para>
        </briefdescription>
        <detaileddescription>
<para>If a document is provided and it already has an internal subset, the existing DTD object is returned without creating a new object. If the document has no internal subset, it will be set to the created DTD.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document pointer (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the DTD name (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>publicId</parametername>
</parameternamelist>
<parameterdescription>
<para>public identifier of the DTD (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>systemId</parametername>
</parameternamelist>
<parameterdescription>
<para>system identifier (URL) of the DTD (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new or existing DTD object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="972" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="721" bodyend="801" declfile="tree.h" declline="972" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a2a7c75c7aa7dfa724b14f959c79873e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
        <definition>xmlDtd * xmlNewDtd</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *name, const xmlChar *publicId, const xmlChar *systemId)</argsstring>
        <name>xmlNewDtd</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>publicId</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>systemId</declname>
        </param>
        <briefdescription>
<para>Create a DTD node. </para>
        </briefdescription>
        <detaileddescription>
<para>If a document is provided, it is an error if it already has an external subset. If the document has no external subset, it will be set to the created DTD.</para>
<para>To create an internal subset, use xmlCreateIntSubset.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document pointer (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the DTD name (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>publicId</parametername>
</parameternamelist>
<parameterdescription>
<para>public identifier of the DTD (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>systemId</parametername>
</parameternamelist>
<parameterdescription>
<para>system identifier (URL) of the DTD (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new DTD object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="977" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="639" bodyend="682" declfile="tree.h" declline="977" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a590f29ed5f87d27c605d0ab9d01186d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
        <definition>xmlDtd * xmlGetIntSubset</definition>
        <argsstring>(const xmlDoc *doc)</argsstring>
        <name>xmlGetIntSubset</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Get the internal subset of a document. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document pointer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the DTD object or NULL if not found. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="982" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="691" bodyend="703" declfile="tree.h" declline="982" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a434e4556c1bebcdb6d59a250eb1b8e97" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeDtd</definition>
        <argsstring>(xmlDtd *cur)</argsstring>
        <name>xmlFreeDtd</name>
        <param>
          <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free a DTD structure. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the DTD structure to free up </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="984" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="820" bodyend="871" declfile="tree.h" declline="984" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae6fd80404d940f9881d805a3d22f7b03" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>xmlNs * xmlNewNs</definition>
        <argsstring>(xmlNode *node, const xmlChar *href, const xmlChar *prefix)</argsstring>
        <name>xmlNewNs</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>href</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>prefix</declname>
        </param>
        <briefdescription>
<para>Create a new namespace. </para>
        </briefdescription>
        <detaileddescription>
<para>For a default namespace, <computeroutput>prefix</computeroutput> should be NULL. The namespace URI in <computeroutput>href</computeroutput> is not checked. You should make sure to pass a valid URI.</para>
<para>If <computeroutput>node</computeroutput> is provided, it must be an element node. The namespace will be appended to the node&apos;s namespace declarations. It is an error if the node already has a definition for the prefix or default namespace.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element carrying the namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>href</parametername>
</parameternamelist>
<parameterdescription>
<para>the URI associated </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>prefix</parametername>
</parameternamelist>
<parameterdescription>
<para>the prefix for the namespace (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new namespace pointer or NULL if arguments are invalid, the prefix is already in use or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="986" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="517" bodyend="570" declfile="tree.h" declline="986" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ab570e15176bd43238c5bb5cf34e22f4b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeNs</definition>
        <argsstring>(xmlNs *cur)</argsstring>
        <name>xmlFreeNs</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free an xmlNs object. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace pointer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="990" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="595" bodyend="602" declfile="tree.h" declline="990" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ad1a3598a43480162fd0f30930152de48" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeNsList</definition>
        <argsstring>(xmlNs *cur)</argsstring>
        <name>xmlFreeNsList</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free a list of xmlNs objects. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first namespace pointer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="992" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="610" bodyend="620" declfile="tree.h" declline="992" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6776d819d79ae983e1bd4babfc5de309" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
        <definition>xmlDoc * xmlNewDoc</definition>
        <argsstring>(const xmlChar *version)</argsstring>
        <name>xmlNewDoc</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>version</declname>
        </param>
        <briefdescription>
<para>Creates a new XML document. </para>
        </briefdescription>
        <detaileddescription>
<para>If version is NULL, <computeroutput>&quot;1.0&quot;</computeroutput> is used.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>version</parametername>
</parameternamelist>
<parameterdescription>
<para>XML version string like <computeroutput>&quot;1.0&quot;</computeroutput> (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new document or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="994" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="880" bodyend="915" declfile="tree.h" declline="994" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a703e34a8547e2823fa8cf7059c0bbc9d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeDoc</definition>
        <argsstring>(xmlDoc *cur)</argsstring>
        <name>xmlFreeDoc</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free a document including all children and associated DTDs. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="996" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="923" bodyend="972" declfile="tree.h" declline="996" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7c53af60cec0bc106e594a3ac0ea8d82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlNewDocProp</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlNewDocProp</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Create an attribute node. </para>
        </briefdescription>
        <detaileddescription>
<para>If provided, <computeroutput>value</computeroutput> is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. If you want to pass a raw string, see xmlNewProp.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the attribute </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>attribute value with XML references (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="998" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1621" bodyend="1660" declfile="tree.h" declline="998" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a525da0e5ccadd8d7781c65187d95c5bd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlNewProp</definition>
        <argsstring>(xmlNode *node, const xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlNewProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Create an attribute node. </para>
        </briefdescription>
        <detaileddescription>
<para>If provided, <computeroutput>value</computeroutput> should be a raw, unescaped string.</para>
<para>If <computeroutput>node</computeroutput> is provided, the created attribute will be appended without checking for duplicate names. It is an error if <computeroutput>node</computeroutput> is not an element.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the attribute </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value of the attribute (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1002" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1545" bodyend="1552" declfile="tree.h" declline="1002" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a2c8678fd25ccff9cffefc95106b7d30a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlNewNsProp</definition>
        <argsstring>(xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlNewNsProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Create an attribute node. </para>
        </briefdescription>
        <detaileddescription>
<para>If provided, <computeroutput>value</computeroutput> should be a raw, unescaped string.</para>
<para>If <computeroutput>node</computeroutput> is provided, the created attribute will be appended without checking for duplicate names. It is an error if <computeroutput>node</computeroutput> is not an element.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the local name of the attribute </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value of the attribute (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1006" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1571" bodyend="1579" declfile="tree.h" declline="1006" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac47e2fa7d0003b4e6ac2dd0e37789526" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlNewNsPropEatName</definition>
        <argsstring>(xmlNode *node, xmlNs *ns, xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlNewNsPropEatName</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Create an attribute node. </para>
        </briefdescription>
        <detaileddescription>
<para>Like xmlNewNsProp, but the <computeroutput>name</computeroutput> string will be used directly without making a copy. Takes ownership of <computeroutput>name</computeroutput> which will also be freed on error.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the local name of the attribute </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the value of the attribute (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1011" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1596" bodyend="1604" declfile="tree.h" declline="1011" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9410669969047e9e4ac08dcbe6e97521" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreePropList</definition>
        <argsstring>(xmlAttr *cur)</argsstring>
        <name>xmlFreePropList</name>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free an attribute list including all children. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first attribute in the list </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1016" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1668" bodyend="1676" declfile="tree.h" declline="1016" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a95a4e9ddacfce828d3629aab6354694c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeProp</definition>
        <argsstring>(xmlAttr *cur)</argsstring>
        <name>xmlFreeProp</name>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free an attribute including all children. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>an attribute </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1018" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1684" bodyend="1700" declfile="tree.h" declline="1018" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ad7a3ff15bb5286a056ea69844fb154bb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlCopyProp</definition>
        <argsstring>(xmlNode *target, xmlAttr *cur)</argsstring>
        <name>xmlCopyProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>target</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Create a copy of the attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>This function sets the parent pointer of the copy to <computeroutput>target</computeroutput> but doesn&apos;t set the attribute on the target element. Users should consider to set the attribute by calling xmlAddChild afterwards or reset the parent pointer to NULL.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>target</parametername>
</parameternamelist>
<parameterdescription>
<para>the element where the attribute will be grafted </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied attribute or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1020" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3791" bodyend="3793" declfile="tree.h" declline="1020" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae7fe38fd4afac78d51e339ef2911fa22" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlCopyPropList</definition>
        <argsstring>(xmlNode *target, xmlAttr *cur)</argsstring>
        <name>xmlCopyPropList</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>target</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Create a copy of an attribute list. </para>
        </briefdescription>
        <detaileddescription>
<para>This function sets the parent pointers of the copied attributes to <computeroutput>target</computeroutput> but doesn&apos;t set the attributes on the target element.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>target</parametername>
</parameternamelist>
<parameterdescription>
<para>the element where the attributes will be grafted </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first attribute </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the head of the copied list or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1023" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3806" bodyend="3828" declfile="tree.h" declline="1023" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a2d008d2a936a5344cfc69e9b16a0f863" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
        <definition>xmlDtd * xmlCopyDtd</definition>
        <argsstring>(xmlDtd *dtd)</argsstring>
        <name>xmlCopyDtd</name>
        <param>
          <type><ref refid="tree_8h_1af3e371049fefe3bc6aa9d3caaa651a0d" kindref="member">xmlDtd</ref> *</type>
          <declname>dtd</declname>
        </param>
        <briefdescription>
<para>Copy a DTD. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>dtd</parametername>
</parameternamelist>
<parameterdescription>
<para>the DTD </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied DTD or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1026" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4209" bodyend="4304" declfile="tree.h" declline="1026" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a57e08cc6331b2820398565da7372b121" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
        <definition>xmlDoc * xmlCopyDoc</definition>
        <argsstring>(xmlDoc *doc, int recursive)</argsstring>
        <name>xmlCopyDoc</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>recursive</declname>
        </param>
        <briefdescription>
<para>Copy a document. </para>
        </briefdescription>
        <detaileddescription>
<para>If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>recursive</parametername>
</parameternamelist>
<parameterdescription>
<para>if not zero do a recursive copy. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied document or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1028" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4316" bodyend="4377" declfile="tree.h" declline="1028" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9ffef9f6e92b2e53420841f2b77cd7d5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocNode</definition>
        <argsstring>(xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewDocNode</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create an element node. </para>
        </briefdescription>
        <detaileddescription>
<para>If provided, <computeroutput>content</computeroutput> is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Only references are handled, nested elements, comments or PIs are not. See xmlNewDocRawNode for an alternative.</para>
<para>General notes on object creation:</para>
<para>Each node and all its children are associated with the same document. The document should be provided when creating nodes to avoid a performance penalty when adding the node to a document tree. Note that a document only owns nodes reachable from the root node. Unlinked subtrees must be freed manually.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the node name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>text content with XML references (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1034" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1899" bodyend="1926" declfile="tree.h" declline="1034" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a73fded620c44c6a96ff7ae07145ca29d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocNodeEatName</definition>
        <argsstring>(xmlDoc *doc, xmlNs *ns, xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewDocNodeEatName</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create an element node. </para>
        </briefdescription>
        <detaileddescription>
<para>Like xmlNewDocNode, but the <computeroutput>name</computeroutput> string will be used directly without making a copy. Takes ownership of <computeroutput>name</computeroutput> which will also be freed on error.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the node name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>text content with XML references (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1039" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1943" bodyend="1961" declfile="tree.h" declline="1039" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aa39c05fb472571ed00e38c065e67d2ec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewNode</definition>
        <argsstring>(xmlNs *ns, const xmlChar *name)</argsstring>
        <name>xmlNewNode</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Create an element node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocNode.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the node name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1044" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1817" bodyend="1819" declfile="tree.h" declline="1044" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aeaf2969de3a9a51918dc68b974591ac8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewNodeEatName</definition>
        <argsstring>(xmlNs *ns, xmlChar *name)</argsstring>
        <name>xmlNewNodeEatName</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Create an element node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocNodeEatName.</para>
<para>Like xmlNewNode, but the <computeroutput>name</computeroutput> string will be used directly without making a copy. Takes ownership of <computeroutput>name</computeroutput> which will also be freed on error.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the node name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1047" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1836" bodyend="1838" declfile="tree.h" declline="1047" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1af0127ea96aa3e4843e91cc2a64772b3a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewChild</definition>
        <argsstring>(xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewChild</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a new child element and append it to a parent element. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>ns</computeroutput> is NULL, the newly created element inherits the namespace of the parent.</para>
<para>If provided, <computeroutput>content</computeroutput> is expected to be a valid XML attribute value possibly containing character and entity references. Text and entity reference node will be added to the child element, see xmlNewDocNode.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>a namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the child </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>text content with XML references (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1050" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2673" bodyend="2714" declfile="tree.h" declline="1050" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a5376de4543332506b8e4637a4948b167" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocText</definition>
        <argsstring>(const xmlDoc *doc, const xmlChar *content)</argsstring>
        <name>xmlNewDocText</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a new text node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1055" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2269" bodyend="2275" declfile="tree.h" declline="1055" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1adbac2e3e4dbc77acb95c00004c26004b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewText</definition>
        <argsstring>(const xmlChar *content)</argsstring>
        <name>xmlNewText</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a text node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocText.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1058" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2037" bodyend="2063" declfile="tree.h" declline="1058" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aeaf667259d5e1ec0a5261da1948ce8a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocPI</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewDocPI</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a processing instruction object. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the processing instruction target </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the PI content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1060" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1753" bodyend="1789" declfile="tree.h" declline="1060" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3d486205d5c003c00e5a09f42c478c9a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewPI</definition>
        <argsstring>(const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewPI</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a processing instruction node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocPI.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the processing instruction target </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the PI content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1064" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1802" bodyend="1804" declfile="tree.h" declline="1064" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4a5a34145e80874a8c29126c680d9756" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocTextLen</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *content, int len)</argsstring>
        <name>xmlNewDocTextLen</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Create a new text node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>size of text content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1067" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2324" bodyend="2330" declfile="tree.h" declline="1067" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a96726e14fe8986c12fb08c72d6e9b745" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewTextLen</definition>
        <argsstring>(const xmlChar *content, int len)</argsstring>
        <name>xmlNewTextLen</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Create a new text node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>size of text content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1071" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2288" bodyend="2312" declfile="tree.h" declline="1071" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1adc3e17268ecbcc717bae0b5dceab437c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocComment</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *content)</argsstring>
        <name>xmlNewDocComment</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a comment node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the comment content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1074" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2415" bodyend="2421" declfile="tree.h" declline="1074" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4d83a4e5843932861340ec3337303da1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewComment</definition>
        <argsstring>(const xmlChar *content)</argsstring>
        <name>xmlNewComment</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Use of this function is DISCOURAGED in favor of xmlNewDocComment. </para>
        </briefdescription>
        <detaileddescription>
<para>Create a comment node.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the comment content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1077" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2342" bodyend="2368" declfile="tree.h" declline="1077" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a17456163c45c7b6d2183188d2d1648ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewCDataBlock</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *content, int len)</argsstring>
        <name>xmlNewCDataBlock</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Create a CDATA section node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>size of text content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1079" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2380" bodyend="2404" declfile="tree.h" declline="1079" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a0f2555f7011a9814d0ca53090c494f70" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewCharRef</definition>
        <argsstring>(xmlDoc *doc, const xmlChar *name)</argsstring>
        <name>xmlNewCharRef</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Create an empty entity reference node. </para>
        </briefdescription>
        <detaileddescription>
<para>This function is MISNAMED. It doesn&apos;t create a character reference but an entity reference.</para>
<para>This function doesn&apos;t attempt to look up the entity in <computeroutput>doc</computeroutput>.</para>
<para>Entity names like <computeroutput>&amp;entity;</computeroutput> are handled as well.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the entity name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1083" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2175" bodyend="2195" declfile="tree.h" declline="1083" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac405acf2e86454ca21c983e85f7a89b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewReference</definition>
        <argsstring>(const xmlDoc *doc, const xmlChar *name)</argsstring>
        <name>xmlNewReference</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Create a new entity reference node, linking the result with the entity in <computeroutput>doc</computeroutput> if found. </para>
        </briefdescription>
        <detaileddescription>
<para>Entity names like <computeroutput>&amp;entity;</computeroutput> are handled as well.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the entity name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1086" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2209" bodyend="2258" declfile="tree.h" declline="1086" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7fc8bbe2d89d2f3491f1d981b407cdec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlCopyNode</definition>
        <argsstring>(xmlNode *node, int recursive)</argsstring>
        <name>xmlCopyNode</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>int</type>
          <declname>recursive</declname>
          <defname>extended</defname>
        </param>
        <briefdescription>
<para>Copy a node. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>extended</computeroutput> is 0, make a shallow copy.</para>
<para>If <computeroutput>extended</computeroutput> is 1, make a deep copy (properties, namespaces and children when applicable).</para>
<para>If <computeroutput>extended</computeroutput> is 2, make a shallow copy including properties and namespaces of elements.</para>
<para>Use of this function is DISCOURAGED in favor of xmlDocCopyNode.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>extended</parametername>
</parameternamelist>
<parameterdescription>
<para>mode of operation </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied node or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1089" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4144" bodyend="4149" declfile="tree.h" declline="1089" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac228506101e8877681d7b39d7a976190" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlDocCopyNode</definition>
        <argsstring>(xmlNode *node, xmlDoc *doc, int recursive)</argsstring>
        <name>xmlDocCopyNode</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>recursive</declname>
          <defname>extended</defname>
        </param>
        <briefdescription>
<para>Copy a node into another document. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>extended</computeroutput> is 0, make a shallow copy.</para>
<para>If <computeroutput>extended</computeroutput> is 1, make a deep copy (properties, namespaces and children when applicable).</para>
<para>If <computeroutput>extended</computeroutput> is 2, make a shallow copy including properties and namespaces of elements.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>extended</parametername>
</parameternamelist>
<parameterdescription>
<para>mode of operation </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied node or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1092" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4168" bodyend="4173" declfile="tree.h" declline="1092" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9e2626ec354d26190fb49842079a6039" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlDocCopyNodeList</definition>
        <argsstring>(xmlDoc *doc, xmlNode *node)</argsstring>
        <name>xmlDocCopyNodeList</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Copy a node list and all children into a new document. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the first node in the list. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the head of the copied list or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1096" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4183" bodyend="4186" declfile="tree.h" declline="1096" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ab28c221e4dc2659f438f06ec743567a9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlCopyNodeList</definition>
        <argsstring>(xmlNode *node)</argsstring>
        <name>xmlCopyNodeList</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Copy a node list and all children. </para>
        </briefdescription>
        <detaileddescription>
<para>Use of this function is DISCOURAGED in favor of xmlDocCopyNodeList.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the first node in the list. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the head of the copied list or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1099" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4197" bodyend="4200" declfile="tree.h" declline="1099" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a083081aa8abea05a93548d3277ca939f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewTextChild</definition>
        <argsstring>(xmlNode *parent, xmlNs *ns, const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewTextChild</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create a new child element and append it to a parent element. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>ns</computeroutput> is NULL, the newly created element inherits the namespace of the parent.</para>
<para>If <computeroutput>content</computeroutput> is provided, a text node will be added to the child element, see xmlNewDocRawNode.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>a namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the child </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content of the child (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1101" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2082" bodyend="2123" declfile="tree.h" declline="1101" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a808c04e0a59641425a147d4d5525e22e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocRawNode</definition>
        <argsstring>(xmlDoc *doc, xmlNs *ns, const xmlChar *name, const xmlChar *content)</argsstring>
        <name>xmlNewDocRawNode</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Create an element node. </para>
        </briefdescription>
        <detaileddescription>
<para>If provided, <computeroutput>value</computeroutput> should be a raw, unescaped string.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>namespace (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the node name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>raw text content (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1106" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1976" bodyend="1998" declfile="tree.h" declline="1106" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1adf753f4fb0b1ce34aa8891b5b9441dd2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNewDocFragment</definition>
        <argsstring>(xmlDoc *doc)</argsstring>
        <name>xmlNewDocFragment</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Create a document fragment node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the target document (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the new node object or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1111" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2008" bodyend="2025" declfile="tree.h" declline="1111" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a44b0a9b87c1ac0ee5f9393e18faded91" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>long</type>
        <definition>long xmlGetLineNo</definition>
        <argsstring>(const xmlNode *node)</argsstring>
        <name>xmlGetLineNo</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Get line number of <computeroutput>node</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Try to work around the limitation of line numbers being stored as 16 bits ints. Requires xmlParserOption XML_PARSE_BIG_LINES to be set when parsing.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>valid node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the line number if successful, -1 otherwise </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1117" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4443" bodyend="4446" declfile="tree.h" declline="1117" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a969324ea76e72126205f5f0fb55741e2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlGetNodePath</definition>
        <argsstring>(const xmlNode *node)</argsstring>
        <name>xmlGetNodePath</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Build a structure based Path for the given node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>a node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the new path or NULL in case of error. The caller must free the returned string </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1119" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4456" bodyend="4659" declfile="tree.h" declline="1119" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a0a4d3514c60f54a51738af7c38368b82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlDocGetRootElement</definition>
        <argsstring>(const xmlDoc *doc)</argsstring>
        <name>xmlDocGetRootElement</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Get the root element of the document. </para>
        </briefdescription>
        <detaileddescription>
<para>Searches the document&apos;s children for the root element. The first child is not necessarily the root element, but could also be a DTD, comment or PI.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the root element or NULL if no element was found. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1121" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4672" bodyend="4683" declfile="tree.h" declline="1121" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a67b8a59550eb4de08e61f1c40b64d0bd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlGetLastChild</definition>
        <argsstring>(const xmlNode *parent)</argsstring>
        <name>xmlGetLastChild</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <briefdescription>
<para>Find the last child of a node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the last child or NULL if parent has no children. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1123" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3140" bodyend="3145" declfile="tree.h" declline="1123" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1af599245215b2c5f59fc33b1f769fb1b7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeIsText</definition>
        <argsstring>(const xmlNode *node)</argsstring>
        <name>xmlNodeIsText</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Check whether the node is a text node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 if yes, 0 if no </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1125" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6613" bodyend="6618" declfile="tree.h" declline="1125" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac847bbc7153f8cf46d29b297b930cf0a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlIsBlankNode</definition>
        <argsstring>(const xmlNode *node)</argsstring>
        <name>xmlIsBlankNode</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Checks whether this node is an empty or whitespace-only text node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 if yes, 0 if no </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1127" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6628" bodyend="6643" declfile="tree.h" declline="1127" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a82c209ccb822f33590cf557971f2e98a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlDocSetRootElement</definition>
        <argsstring>(xmlDoc *doc, xmlNode *root)</argsstring>
        <name>xmlDocSetRootElement</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>root</declname>
        </param>
        <briefdescription>
<para>If <computeroutput>root</computeroutput> is NULL no action is taken. </para>
        </briefdescription>
        <detaileddescription>
<para>To remove a node from a document, use xmlUnlinkNode instead.</para>
<para>Set the root element of the document (<computeroutput>doc-&gt;children</computeroutput> is a list containing possibly comments, PIs, etc ...).</para>
<para><computeroutput>root</computeroutput> must be an element node. It is unlinked before insertion.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>root</parametername>
</parameternamelist>
<parameterdescription>
<para>the new document root element </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the unlinked old root element or NULL if the document didn&apos;t have a root element or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1133" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4700" bodyend="4729" declfile="tree.h" declline="1133" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8f4d06fd5c4ff5579febaa3dc9ed67df" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlNodeSetName</definition>
        <argsstring>(xmlNode *cur, const xmlChar *name)</argsstring>
        <name>xmlNodeSetName</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Set (or reset) the name of a node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being changed </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the new tag name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1136" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4872" bodyend="4908" declfile="tree.h" declline="1136" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a920e1354539cbcda18602501c96199c9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlAddChild</definition>
        <argsstring>(xmlNode *parent, xmlNode *cur)</argsstring>
        <name>xmlAddChild</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Unlink <computeroutput>cur</computeroutput> and append it to the children of <computeroutput>parent</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>cur</computeroutput> is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned.</para>
<para>If <computeroutput>cur</computeroutput> is an attribute node, it is appended to the attributes of <computeroutput>parent</computeroutput>. If the attribute list contains an attribute with a name matching <computeroutput>cur</computeroutput>, the old attribute is destroyed.</para>
<para>Before version 2.13, this function didn&apos;t unlink <computeroutput>cur</computeroutput> before moving it. Callers must unlink the node manually if it has siblings.</para>
<para>General notes:</para>
<para>Move operations like xmlAddChild can cause element or attribute nodes to reference namespaces that aren&apos;t declared in one of their ancestors. This can lead to use-after-free errors if the elements containing the declarations are freed later, especially when moving nodes from one document to another. You should consider calling xmlReconciliateNs after a move operation to normalize namespaces. Another option is to call xmlDOMWrapAdoptNode with the target parent before moving a node.</para>
<para>For the most part, move operations don&apos;t check whether the resulting tree structure is valid. Users must make sure that parent nodes only receive children of valid types. Inserted child nodes must never be an ancestor of the parent node to avoid cycles in the tree structure. In general, only document, document fragments, elements and attributes should be used as parent nodes.</para>
<para>When moving a node between documents and a memory allocation fails, the node&apos;s content will be corrupted and it will be unlinked. In this case, the node must be freed manually.</para>
<para>Moving DTDs between documents isn&apos;t supported.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the child node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>cur</computeroutput> or a sibling if <computeroutput>cur</computeroutput> was merged. Returns NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1139" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3098" bodyend="3131" declfile="tree.h" declline="1139" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a54953eb87421cf8bbc6fe65e8c148f4e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlAddChildList</definition>
        <argsstring>(xmlNode *parent, xmlNode *cur)</argsstring>
        <name>xmlAddChildList</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Append a node list to another node. </para>
        </briefdescription>
        <detaileddescription>
<para>See xmlAddChild.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first node in the list </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the last child or NULL in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1142" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2987" bodyend="3050" declfile="tree.h" declline="1142" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ada6141ff47bc58aeb36fe0631066ebe3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlReplaceNode</definition>
        <argsstring>(xmlNode *old, xmlNode *cur)</argsstring>
        <name>xmlReplaceNode</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>old</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Unlink the old node. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>cur</computeroutput> is provided, it is unlinked and inserted in place of <computeroutput>old</computeroutput>.</para>
<para>It is an error if <computeroutput>old</computeroutput> has no parent.</para>
<para>Unlike xmlAddChild, this function doesn&apos;t merge text nodes or delete duplicate attributes.</para>
<para>See the notes in xmlAddChild.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>old</parametername>
</parameternamelist>
<parameterdescription>
<para>the old node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>old</computeroutput> or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1145" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3558" bodyend="3599" declfile="tree.h" declline="1145" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7f5328c8c26422a40e0e199f93704e86" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlAddPrevSibling</definition>
        <argsstring>(xmlNode *cur, xmlNode *elem)</argsstring>
        <name>xmlAddPrevSibling</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
          <defname>next</defname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>elem</declname>
          <defname>cur</defname>
        </param>
        <briefdescription>
<para>Unlinks <computeroutput>cur</computeroutput> and inserts it as previous sibling before <computeroutput>next</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Unlike xmlAddChild this function does not merge text nodes.</para>
<para>If <computeroutput>cur</computeroutput> is an attribute node, it is inserted before attribute <computeroutput>next</computeroutput>. If the attribute list contains an attribute with a name matching <computeroutput>cur</computeroutput>, the old attribute is destroyed.</para>
<para>See the notes in xmlAddChild.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>next</parametername>
</parameternamelist>
<parameterdescription>
<para>the target node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the new node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>cur</computeroutput> or a sibling if <computeroutput>cur</computeroutput> was merged. Returns NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1148" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2922" bodyend="2932" declfile="tree.h" declline="1148" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6dbbadff0a26000e89de58a0472fe1b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlAddSibling</definition>
        <argsstring>(xmlNode *cur, xmlNode *elem)</argsstring>
        <name>xmlAddSibling</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
          <defname>node</defname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>elem</declname>
          <defname>cur</defname>
        </param>
        <briefdescription>
<para>Unlinks <computeroutput>cur</computeroutput> and inserts it as last sibling of <computeroutput>node</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>cur</computeroutput> is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned.</para>
<para>If <computeroutput>cur</computeroutput> is an attribute node, it is appended to the attribute list containing <computeroutput>node</computeroutput>. If the attribute list contains an attribute with a name matching <computeroutput>cur</computeroutput>, the old attribute is destroyed.</para>
<para>See the notes in xmlAddChild.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the target node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the new node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>cur</computeroutput> or a sibling if <computeroutput>cur</computeroutput> was merged. Returns NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1151" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2953" bodyend="2975" declfile="tree.h" declline="1151" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a108a13be719fb6a6d6134ba646f023d5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlAddNextSibling</definition>
        <argsstring>(xmlNode *cur, xmlNode *elem)</argsstring>
        <name>xmlAddNextSibling</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
          <defname>prev</defname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>elem</declname>
          <defname>cur</defname>
        </param>
        <briefdescription>
<para>Unlinks <computeroutput>cur</computeroutput> and inserts it as next sibling after <computeroutput>prev</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Unlike xmlAddChild this function does not merge text nodes.</para>
<para>If <computeroutput>cur</computeroutput> is an attribute node, it is inserted after attribute <computeroutput>prev</computeroutput>. If the attribute list contains an attribute with a name matching <computeroutput>cur</computeroutput>, the old attribute is destroyed.</para>
<para>See the notes in xmlAddChild.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>prev</parametername>
</parameternamelist>
<parameterdescription>
<para>the target node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the new node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><computeroutput>cur</computeroutput> or a sibling if <computeroutput>cur</computeroutput> was merged. Returns NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1154" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2893" bodyend="2903" declfile="tree.h" declline="1154" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4b20640af42b05c57978ef578a74719a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlUnlinkNode</definition>
        <argsstring>(xmlNode *cur)</argsstring>
        <name>xmlUnlinkNode</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Unlink a node from its tree. </para>
        </briefdescription>
        <detaileddescription>
<para>The node is not freed. Unless it is reinserted, it must be managed manually and freed eventually by calling xmlFreeNode.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1157" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3517" bodyend="3539" declfile="tree.h" declline="1157" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6cf3836c8ceacb7fb3ecfbbb724838f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlTextMerge</definition>
        <argsstring>(xmlNode *first, xmlNode *second)</argsstring>
        <name>xmlTextMerge</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>first</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>second</declname>
        </param>
        <briefdescription>
<para>Merge the second text node into the first. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>first</computeroutput> is NULL, <computeroutput>second</computeroutput> is returned. Otherwise, the second node is unlinked and freed.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>first</parametername>
</parameternamelist>
<parameterdescription>
<para>the first text node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>second</parametername>
</parameternamelist>
<parameterdescription>
<para>the second text node being merged </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the first text node augmented or NULL in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1159" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5475" bodyend="5493" declfile="tree.h" declline="1159" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aceac1296d6f4f7c4acf0fded11f832f4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlTextConcat</definition>
        <argsstring>(xmlNode *node, const xmlChar *content, int len)</argsstring>
        <name>xmlTextConcat</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Concat the given string at the end of the existing node content. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>len</computeroutput> is -1, the string length will be calculated.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the content </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para><computeroutput>content</computeroutput> length </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>-1 in case of error, 0 otherwise </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1162" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6657" bodyend="6668" declfile="tree.h" declline="1162" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ad482ff0cb911a6c4456e30123587b0da" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeNodeList</definition>
        <argsstring>(xmlNode *cur)</argsstring>
        <name>xmlFreeNodeList</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free a node list including all children. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first node in the list </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1166" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3327" bodyend="3406" declfile="tree.h" declline="1166" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ad330960328f909614fd956bd491d5d9c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlFreeNode</definition>
        <argsstring>(xmlNode *cur)</argsstring>
        <name>xmlFreeNode</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Free a node including all the children. </para>
        </briefdescription>
        <detaileddescription>
<para>This doesn&apos;t unlink the node from the tree. Call xmlUnlinkNode first unless <computeroutput>cur</computeroutput> is a root node.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1168" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3417" bodyend="3473" declfile="tree.h" declline="1168" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a60add80f0746c370edce6358810024c5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSetTreeDoc</definition>
        <argsstring>(xmlNode *tree, xmlDoc *doc)</argsstring>
        <name>xmlSetTreeDoc</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>tree</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Associate all nodes in a tree with a new document. </para>
        </briefdescription>
        <detaileddescription>
<para>This is an internal function which shouldn&apos;t be used. It is invoked by functions like xmlAddChild, xmlAddSibling or xmlReplaceNode. <computeroutput>tree</computeroutput> must be the root node of an unlinked subtree.</para>
<para>Also copy strings from the old document&apos;s dictionary and remove ID attributes from the old ID table.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>tree</parametername>
</parameternamelist>
<parameterdescription>
<para>root of a subtree </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>new document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success. If a memory allocation fails, returns -1. The whole tree will be updated on failure but some strings may be lost. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1170" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2587" bodyend="2621" declfile="tree.h" declline="1170" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4474f5d951650c64f51c9d1e90cf297c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSetListDoc</definition>
        <argsstring>(xmlNode *list, xmlDoc *doc)</argsstring>
        <name>xmlSetListDoc</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>list</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Associate all subtrees in <computeroutput>list</computeroutput> with a new document. </para>
        </briefdescription>
        <detaileddescription>
<para>Internal function, see xmlSetTreeDoc.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>list</parametername>
</parameternamelist>
<parameterdescription>
<para>a node list </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>new document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success. If a memory allocation fails, returns -1. All subtrees will be updated on failure but some strings may be lost. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1173" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="2635" bodyend="2652" declfile="tree.h" declline="1173" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac0a5cf2ff283a0e7852efc1bedb14826" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>xmlNs * xmlSearchNs</definition>
        <argsstring>(xmlDoc *doc, xmlNode *node, const xmlChar *nameSpace)</argsstring>
        <name>xmlSearchNs</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>nameSpace</declname>
        </param>
        <briefdescription>
<para>Search for a namespace with <computeroutput>prefix</computeroutput> in scope of <computeroutput>node</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Recurse on the parents until it finds the defined namespace or return NULL otherwise.</para>
<para>If <computeroutput>nameSpace</computeroutput> is NULL, the default namespace is looked up.</para>
<para>Namespace search doesn&apos;t cross entity boundaries.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nameSpace</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace prefix </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the namespace pointer or NULL if no namespace was found or a memory allocation failed. Allocations can only fail if the <computeroutput>xml</computeroutput> namespace is queried. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1179" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5736" bodyend="5742" declfile="tree.h" declline="1179" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae427708425a177257e1c218a1ebb62d2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>xmlNs * xmlSearchNsByHref</definition>
        <argsstring>(xmlDoc *doc, xmlNode *node, const xmlChar *href)</argsstring>
        <name>xmlSearchNsByHref</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>href</declname>
        </param>
        <briefdescription>
<para>Search for a namespace matching <computeroutput>URI</computeroutput> in scope of <computeroutput>node</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>href</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the namespace pointer or NULL if no namespace was found or a memory allocation failed. Allocations can only fail if the <computeroutput>xml</computeroutput> namespace is queried. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1183" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5885" bodyend="5891" declfile="tree.h" declline="1183" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a0803a5bb145029baf52a3e1e30a39aff" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlGetNsListSafe</definition>
        <argsstring>(const xmlDoc *doc, const xmlNode *node, xmlNs ***out)</argsstring>
        <name>xmlGetNsListSafe</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> ***</type>
          <declname>out</declname>
        </param>
        <briefdescription>
<para>Find all in-scope namespaces of a node. </para>
        </briefdescription>
        <detaileddescription>
<para><computeroutput>out</computeroutput> returns a NULL terminated array of namespace pointers that must be freed by the caller.</para>
<para><simplesect kind="since"><para>2.13.0</para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>out</parametername>
</parameternamelist>
<parameterdescription>
<para>the returned namespace array </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 if no namespaces were found, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1187" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5509" bodyend="5569" declfile="tree.h" declline="1187" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a29cd758d447e58aa38a4909e919c9be4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> **</type>
        <definition>xmlNs ** xmlGetNsList</definition>
        <argsstring>(const xmlDoc *doc, const xmlNode *node)</argsstring>
        <name>xmlGetNsList</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Find all in-scope namespaces of a node. </para>
        </briefdescription>
        <detaileddescription>
<para>Use xmlGetNsListSafe for better error reporting.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a NULL terminated array of namespace pointers that must be freed by the caller or NULL if no namespaces were found or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1191" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5583" bodyend="5589" declfile="tree.h" declline="1191" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9541dd5a21c21628fd9a1967a7b588d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlSetNs</definition>
        <argsstring>(xmlNode *node, xmlNs *ns)</argsstring>
        <name>xmlSetNs</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <briefdescription>
<para>Set the namespace of an element or attribute node. </para>
        </briefdescription>
        <detaileddescription>
<para>Passing a NULL namespace unsets the namespace.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>a node in the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>a namespace pointer (optional) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1195" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="580" bodyend="587" declfile="tree.h" declline="1195" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1abf50249aec9679d0102ad4df3c222776" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>xmlNs * xmlCopyNamespace</definition>
        <argsstring>(xmlNs *cur)</argsstring>
        <name>xmlCopyNamespace</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Copy a namespace. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the copied namespace or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1198" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3615" bodyend="3627" declfile="tree.h" declline="1198" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7e67b95c3a7b05079d868bebab1ada39" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
        <definition>xmlNs * xmlCopyNamespaceList</definition>
        <argsstring>(xmlNs *cur)</argsstring>
        <name>xmlCopyNamespaceList</name>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Copy a namespace list. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the first namespace </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the head of the copied list or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1200" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3637" bodyend="3656" declfile="tree.h" declline="1200" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3b65c6f86a3eeb7f39d068ee72e26f43" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlSetProp</definition>
        <argsstring>(xmlNode *node, const xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlSetProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Set (or reset) an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>name</computeroutput> has a prefix, the corresponding namespace will be used. It is an error if there&apos;s no such binding for the prefix in scope.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name (a QName) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute pointer. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1206" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6509" bodyend="6535" declfile="tree.h" declline="1206" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8ed95f2f9d6b4c801e0af7e122160c04" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlSetNsProp</definition>
        <argsstring>(xmlNode *node, xmlNs *ns, const xmlChar *name, const xmlChar *value)</argsstring>
        <name>xmlSetNsProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Set (or reset) an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>The namespace must be in scope.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace definition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute pointer. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1210" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6549" bodyend="6604" declfile="tree.h" declline="1210" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1acdf499365a63403ecf987e8752642eea" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeGetAttrValue</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name, const xmlChar *nsUri, xmlChar **out)</argsstring>
        <name>xmlNodeGetAttrValue</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>nsUri</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>out</declname>
        </param>
        <briefdescription>
<para>Look up the value of an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>The attribute has to match the specified namespace. A namespace of NULL means that the attribute must have no namespace.</para>
<para>Entities are substituted. The returned value must be freed by the caller.</para>
<para><simplesect kind="since"><para>2.13.0</para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nsUri</parametername>
</parameternamelist>
<parameterdescription>
<para>the URI of the namespace </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>out</parametername>
</parameternamelist>
<parameterdescription>
<para>the returned string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 if no attribute was found, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1215" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6348" bodyend="6364" declfile="tree.h" declline="1215" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a88687202e54e6fea421642d8d3f856fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlGetNoNsProp</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name)</argsstring>
        <name>xmlGetNoNsProp</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Look up the value of an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>Entities are substituted. The returned value must be freed by the caller.</para>
<para>This function looks in DTD attribute declarations for #FIXED or default declaration values.</para>
<para>This function is similar to xmlGetProp except it will accept only an attribute in no namespace.</para>
<para>NOTE: This function doesn&apos;t allow to distinguish malloc failures from missing attributes. It&apos;s more robust to use xmlNodeGetAttrValue.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute value or NULL if not found or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1220" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6417" bodyend="6424" declfile="tree.h" declline="1220" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a06a3348a5cb68ce583217432af2cda40" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlGetProp</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name)</argsstring>
        <name>xmlGetProp</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Look up the value of an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>Entities are substituted. The returned value must be freed by the caller.</para>
<para>This function looks in DTD attribute declarations for #FIXED or default declaration values.</para>
<para>NOTE: This function is ignores namespaces. Use xmlGetNsProp or xmlGetNoNsProp for namespace aware processing.</para>
<para>NOTE: This function doesn&apos;t allow to distinguish malloc failures from missing attributes.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute value or NULL if not found or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1223" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6387" bodyend="6394" declfile="tree.h" declline="1223" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4b24597d58e4a367a4312c3e6e3db70c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlHasProp</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name)</argsstring>
        <name>xmlHasProp</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Search for an attribute of an element. </para>
        </briefdescription>
        <detaileddescription>
<para>This function also looks in DTD attribute declaration for #FIXED or default declaration values.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute or the attribute declaration or NULL if neither was found. Also returns NULL if a memory allocation failed, making this function unreliable. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1226" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6270" bodyend="6305" declfile="tree.h" declline="1226" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a96d5a72c470e5548c4fa58a092d04a7c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
        <definition>xmlAttr * xmlHasNsProp</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace)</argsstring>
        <name>xmlHasNsProp</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>nameSpace</declname>
        </param>
        <briefdescription>
<para>Search for an attribute of an element. </para>
        </briefdescription>
        <detaileddescription>
<para>The attribute has to match the specified namespace. A namespace of NULL means that the attribute must have no namespace.</para>
<para>This function also looks in DTD attribute declaration for #FIXED or default declaration values.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nameSpace</parametername>
</parameternamelist>
<parameterdescription>
<para>the URI of the namespace </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute or the attribute declaration or NULL if neither was found. Also returns NULL if a memory allocation failed making this function unreliable. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1229" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6324" bodyend="6327" declfile="tree.h" declline="1229" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a662aaf1a98c3dece26f0715f8707d3e2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlGetNsProp</definition>
        <argsstring>(const xmlNode *node, const xmlChar *name, const xmlChar *nameSpace)</argsstring>
        <name>xmlGetNsProp</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>nameSpace</declname>
        </param>
        <briefdescription>
<para>Look up the value of an element&apos;s attribute. </para>
        </briefdescription>
        <detaileddescription>
<para>The attribute has to match the specified namespace. A namespace of NULL means that the attribute must have no namespace.</para>
<para>Entities are substituted. The returned value must be freed by the caller.</para>
<para>This function looks in DTD attribute declaration for #FIXED or default declaration values.</para>
<para>NOTE: This function doesn&apos;t allow to distinguish malloc failures from missing attributes. It&apos;s more robust to use xmlNodeGetAttrValue.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>nameSpace</parametername>
</parameternamelist>
<parameterdescription>
<para>the URI of the namespace </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the attribute value or NULL if not found or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1233" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6448" bodyend="6455" declfile="tree.h" declline="1233" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1abc3b05312fae4bcbe225542367cd2533" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlStringGetNodeList</definition>
        <argsstring>(const xmlDoc *doc, const xmlChar *value)</argsstring>
        <name>xmlStringGetNodeList</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <briefdescription>
<para>Parse an attribute value and build a node list with text and entity reference nodes. </para>
        </briefdescription>
        <detaileddescription>
<para>The resulting nodes will be associated with the document if provided. The document is also used to look up entities.</para>
<para><xrefsect id="deprecated_1_deprecated000302"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para>The input is not validated. Syntax errors or references to undeclared entities will be ignored silently with unspecified results.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>a document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>an attribute value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the first child or NULL if the value if empty or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1237" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1283" bodyend="1288" declfile="tree.h" declline="1237" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aceaf71d08df6e673e1b5580830d36f74" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlStringLenGetNodeList</definition>
        <argsstring>(const xmlDoc *doc, const xmlChar *value, int len)</argsstring>
        <name>xmlStringLenGetNodeList</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>value</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>See xmlStringGetNodeList. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000301"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>a document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>value</parametername>
</parameternamelist>
<parameterdescription>
<para>an attribute value </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>maximum length of the attribute value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the first child or NULL if the value if empty or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1240" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1257" bodyend="1263" declfile="tree.h" declline="1240" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a98a1fa0c23bde675c65837d27aa4f5d5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlNodeListGetString</definition>
        <argsstring>(xmlDoc *doc, const xmlNode *list, int inLine)</argsstring>
        <name>xmlNodeListGetString</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>list</declname>
        </param>
        <param>
          <type>int</type>
          <declname>inLine</declname>
        </param>
        <briefdescription>
<para>Serializes attribute children (text and entity reference nodes) into a string. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>inLine</computeroutput> is true, entity references will be substituted. Otherwise, entity references will be kept and special characters like <computeroutput>&amp;</computeroutput> as well as non-ASCII chars will be escaped. See <ref refid="entities_8h_1a29754c1db1ddbea5677a28f66822ab8c" kindref="member">xmlEncodeEntitiesReentrant</ref> for details. If <computeroutput>list</computeroutput> is the child of an attribute, escaping rules apply are adjusted.</para>
<para>See xmlNodeListGetRawString for an alternative option.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>a document (optional) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>list</parametername>
</parameternamelist>
<parameterdescription>
<para>a node list of attribute children </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>inLine</parametername>
</parameternamelist>
<parameterdescription>
<para>whether entity references are substituted </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a string or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1244" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1373" bodyend="1396" declfile="tree.h" declline="1244" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae30c12d36d6d2d094d8da0b6008cff91" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlNodeListGetRawString</definition>
        <argsstring>(const xmlDoc *doc, const xmlNode *list, int inLine)</argsstring>
        <name>xmlNodeListGetRawString</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>list</declname>
        </param>
        <param>
          <type>int</type>
          <declname>inLine</declname>
        </param>
        <briefdescription>
<para>Serializes attribute children (text and entity reference nodes) into a string. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>inLine</computeroutput> is true, entity references will be substituted. Otherwise, entity references will be kept and special characters like <computeroutput>&amp;</computeroutput> will be escaped. See <ref refid="entities_8h_1ac1c6e5ab272e7a6043c786a6e4ba3536" kindref="member">xmlEncodeSpecialChars</ref> for details.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>a document (unused) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>list</parametername>
</parameternamelist>
<parameterdescription>
<para>a node list of attribute children </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>inLine</parametername>
</parameternamelist>
<parameterdescription>
<para>whether entity references are substituted </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a string or NULL if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1248" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1413" bodyend="1429" declfile="tree.h" declline="1248" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1adb743abd3a548d61e4a40df29c441e30" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeSetContent</definition>
        <argsstring>(xmlNode *cur, const xmlChar *content)</argsstring>
        <name>xmlNodeSetContent</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Replace the text content of a node. </para>
        </briefdescription>
        <detaileddescription>
<para>Sets the raw text content of text, CDATA, comment or PI nodes.</para>
<para>For element and attribute nodes, removes all children and replaces them by parsing <computeroutput>content</computeroutput> which is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Unfortunately, there isn&apos;t an API to pass raw content directly. An inefficient work-around is to escape the content with <ref refid="entities_8h_1ac1c6e5ab272e7a6043c786a6e4ba3536" kindref="member">xmlEncodeSpecialChars</ref> before passing it. A better trick is clearing the old content with <computeroutput>xmlNodeSetContent(node, NULL)</computeroutput> first and then calling <computeroutput>xmlNodeAddContent(node, content)</computeroutput>. Unlike this function, xmlNodeAddContent accepts raw text.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being modified </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the new value of the content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 on error, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1252" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5380" bodyend="5382" declfile="tree.h" declline="1252" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1af4e2b587c1d73d89f7cdd987607178e1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeSetContentLen</definition>
        <argsstring>(xmlNode *cur, const xmlChar *content, int len)</argsstring>
        <name>xmlNodeSetContentLen</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>See xmlNodeSetContent. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being modified </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>the new value of the content </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the size of <computeroutput>content</computeroutput> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 on error, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1255" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5393" bodyend="5395" declfile="tree.h" declline="1255" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ab4f631829c63107a611bde7ae07efd18" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeAddContent</definition>
        <argsstring>(xmlNode *cur, const xmlChar *content)</argsstring>
        <name>xmlNodeAddContent</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <briefdescription>
<para>Append the extra substring to the node content. </para>
        </briefdescription>
        <detaileddescription>
<para>NOTE: In contrast to xmlNodeSetContent, <computeroutput>content</computeroutput> is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</para>
<para>This doesn&apos;t work on attributes before version 2.15.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being modified </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>extra content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 on error, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1259" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5461" bodyend="5463" declfile="tree.h" declline="1259" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac45b61cd6a34b38d5f84b752971dedd7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeAddContentLen</definition>
        <argsstring>(xmlNode *cur, const xmlChar *content, int len)</argsstring>
        <name>xmlNodeAddContentLen</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>content</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Append the extra substring to the node content. </para>
        </briefdescription>
        <detaileddescription>
<para>NOTE: In contrast to xmlNodeSetContentLen, <computeroutput>content</computeroutput> is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</para>
<para>This doesn&apos;t work on attributes before version 2.15.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being modified </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>content</parametername>
</parameternamelist>
<parameterdescription>
<para>extra content </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the size of <computeroutput>content</computeroutput> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 on error, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1262" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5412" bodyend="5445" declfile="tree.h" declline="1262" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a64a87933e820a3250b386777bda13400" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlNodeGetContent</definition>
        <argsstring>(const xmlNode *cur)</argsstring>
        <name>xmlNodeGetContent</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Returns the string value of a node. </para>
        </briefdescription>
        <detaileddescription>
<para>For text nodes, the string value is the text content. Otherwise, the string value is the concatenation of the string values of the node&apos;s descendants.</para>
<para>Entity references are substituted.</para>
<para>It&apos;s up to the caller to free the result with <ref refid="xmlmemory_8h_1a30231cbab46e8d659a5262c3b781164b" kindref="member">xmlFree</ref>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being read </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new string or NULL if arguments are invalid or a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1266" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5250" bodyend="5309" declfile="tree.h" declline="1266" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3449a796095bb2a630f2d0471106baca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeBufGetContent</definition>
        <argsstring>(xmlBuffer *buffer, const xmlNode *cur)</argsstring>
        <name>xmlNodeBufGetContent</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buffer</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Append the string value of a node to <computeroutput>buffer</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>For text nodes, the string value is the text content. Otherwise, the string value is the concatenation of the string values of the node&apos;s descendants.</para>
<para>Entity references are substituted.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buffer</parametername>
</parameternamelist>
<parameterdescription>
<para>a buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being read </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success and -1 in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1269" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5109" bodyend="5121" declfile="tree.h" declline="1269" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a1e80cee4855045733ca75f417dc2715e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufGetNodeContent</definition>
        <argsstring>(xmlBuf *buf, const xmlNode *cur)</argsstring>
        <name>xmlBufGetNodeContent</name>
        <param>
          <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Append the string value of a node to <computeroutput>buf</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>For text nodes, the string value is the text content. Otherwise, the string value is the concatenation of the string values of the node&apos;s descendants.</para>
<para>Entity references are substituted.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>a buffer xmlBuf </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being read </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success and -1 in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1272" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5199" bodyend="5234" declfile="tree.h" declline="1272" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1abab4ef96c8b01f6785b312271b17830f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlNodeGetLang</definition>
        <argsstring>(const xmlNode *cur)</argsstring>
        <name>xmlNodeGetLang</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Find the <computeroutput>xml:lang</computeroutput> of a node. </para>
        </briefdescription>
        <detaileddescription>
<para>Look up the value of the <computeroutput>xml:lang</computeroutput> attribute or the one carried by the nearest ancestor.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being checked </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the lang value, or NULL if not found It&apos;s up to the caller to free the memory with <ref refid="xmlmemory_8h_1a30231cbab46e8d659a5262c3b781164b" kindref="member">xmlFree</ref>. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1276" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4769" bodyend="4788" declfile="tree.h" declline="1276" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4c460c3602b312f31770aa080716675a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeGetSpacePreserve</definition>
        <argsstring>(const xmlNode *cur)</argsstring>
        <name>xmlNodeGetSpacePreserve</name>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Find the <computeroutput>xml:space</computeroutput> of a node. </para>
        </briefdescription>
        <detaileddescription>
<para>Look up the value of the <computeroutput>xml:space</computeroutput> attribute or the one carried by the nearest ancestor.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being checked </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>-1 if xml:space is not inherited, 0 if &quot;default&quot;, 1 if &quot;preserve&quot; </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1278" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4835" bodyend="4863" declfile="tree.h" declline="1278" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a069ffbf61977264545891e54cdb59833" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeSetLang</definition>
        <argsstring>(xmlNode *cur, const xmlChar *lang)</argsstring>
        <name>xmlNodeSetLang</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>lang</declname>
        </param>
        <briefdescription>
<para>Set the <computeroutput>xml:lang</computeroutput> attribute of a node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being changed </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>lang</parametername>
</parameternamelist>
<parameterdescription>
<para>the language description </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 if arguments are invalid, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1280" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4740" bodyend="4756" declfile="tree.h" declline="1280" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a627d7bd00f85d16f928a39756d651325" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeSetSpacePreserve</definition>
        <argsstring>(xmlNode *cur, int val)</argsstring>
        <name>xmlNodeSetSpacePreserve</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>val</declname>
        </param>
        <briefdescription>
<para>Set the <computeroutput>xml:space</computeroutput> attribute of a node. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being changed </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>val</parametername>
</parameternamelist>
<parameterdescription>
<para>the xml:space value (&quot;0&quot;: default, 1: &quot;preserve&quot;) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 if arguments are invalid, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1283" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4800" bodyend="4823" declfile="tree.h" declline="1283" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a44b7232cf4e4262f68923a200f2b2014" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeGetBaseSafe</definition>
        <argsstring>(const xmlDoc *doc, const xmlNode *cur, xmlChar **baseOut)</argsstring>
        <name>xmlNodeGetBaseSafe</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>baseOut</declname>
        </param>
        <briefdescription>
<para>Searches for the base URI. </para>
        </briefdescription>
        <detaileddescription>
<para>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 &quot;5.1.1. Base
URI within Document Content&quot; and &quot;5.1.2. Base URI from the
Encapsulating Entity&quot;. However it does not return the document base (5.1.3), use <computeroutput>doc-&gt;URL</computeroutput> in this case.</para>
<para><simplesect kind="since"><para>2.13.0</para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document the node pertains to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being checked </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>baseOut</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to base </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success, 1 if a URI or argument is invalid, -1 if a memory allocation failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1286" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4980" bodyend="5077" declfile="tree.h" declline="1286" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a727c73de075f16410236686e1a6e1d01" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlNodeGetBase</definition>
        <argsstring>(const xmlDoc *doc, const xmlNode *cur)</argsstring>
        <name>xmlNodeGetBase</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>const <ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>See xmlNodeGetBaseSafe. </para>
        </briefdescription>
        <detaileddescription>
<para>This function doesn&apos;t allow to distinguish memory allocation failures from a non-existing base.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document the node pertains to </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being checked </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the base URL, or NULL if not found It&apos;s up to the caller to free the memory with <ref refid="xmlmemory_8h_1a30231cbab46e8d659a5262c3b781164b" kindref="member">xmlFree</ref>. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1290" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5089" bodyend="5094" declfile="tree.h" declline="1290" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9d9e082857cbdb7142785c5ed196d363" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeSetBase</definition>
        <argsstring>(xmlNode *cur, const xmlChar *uri)</argsstring>
        <name>xmlNodeSetBase</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>uri</declname>
        </param>
        <briefdescription>
<para>Set (or reset) the base URI of a node, i.e. </para>
        </briefdescription>
        <detaileddescription>
<para>the value of the <computeroutput>xml:base</computeroutput> attribute.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the node being changed </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>uri</parametername>
</parameternamelist>
<parameterdescription>
<para>the new base URI </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, -1 on error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1293" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="4919" bodyend="4961" declfile="tree.h" declline="1293" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1af580829880437e8f9e9e7d87007384b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlRemoveProp</definition>
        <argsstring>(xmlAttr *cur)</argsstring>
        <name>xmlRemoveProp</name>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Unlink and free an attribute including all children. </para>
        </briefdescription>
        <detaileddescription>
<para>Note this doesn&apos;t work for namespace declarations.</para>
<para>The attribute must have a non-NULL parent pointer.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>an attribute </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success or -1 if the attribute was not found or arguments are invalid. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1300" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="1714" bodyend="1741" declfile="tree.h" declline="1300" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a2d2db6e8d2ddf4bcfeedb390230476fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUnsetNsProp</definition>
        <argsstring>(xmlNode *node, xmlNs *ns, const xmlChar *name)</argsstring>
        <name>xmlUnsetNsProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a79683a004465ef75a960604fada53ab3" kindref="member">xmlNs</ref> *</type>
          <declname>ns</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Remove an attribute of an element. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ns</parametername>
</parameternamelist>
<parameterdescription>
<para>the namespace definition </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 if not found </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1302" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6486" bodyend="6496" declfile="tree.h" declline="1302" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7f7a13e4a426703953ab21b2d0a23100" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUnsetProp</definition>
        <argsstring>(xmlNode *node, const xmlChar *name)</argsstring>
        <name>xmlUnsetProp</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
<para>Remove an attribute of an element. </para>
        </briefdescription>
        <detaileddescription>
<para>This handles only attributes in no namespace.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the element </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 if not found </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1306" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6466" bodyend="6475" declfile="tree.h" declline="1306" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a528889b085bd3d5149e710fda9833e7d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlAttrSerializeTxtContent</definition>
        <argsstring>(xmlBuffer *buf, xmlDoc *doc, xmlAttr *attr, const xmlChar *string)</argsstring>
        <name>xmlAttrSerializeTxtContent</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a94c0908950e8e798cf7eb5ed524da0af" kindref="member">xmlAttr</ref> *</type>
          <declname>attr</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>string</declname>
        </param>
        <briefdescription>
<para>Serialize attribute text to an xmlBuffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the XML buffer output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>attr</parametername>
</parameternamelist>
<parameterdescription>
<para>the attribute node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>string</parametername>
</parameternamelist>
<parameterdescription>
<para>the text content </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1310" column="9" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2159" bodyend="2173" declfile="tree.h" declline="1310" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a1cfc574b236d8a9346a38574214689e9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlReconciliateNs</definition>
        <argsstring>(xmlDoc *doc, xmlNode *tree)</argsstring>
        <name>xmlReconciliateNs</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>tree</declname>
        </param>
        <briefdescription>
<para>This function checks that all the namespaces declared within the given tree are properly declared. </para>
        </briefdescription>
        <detaileddescription>
<para>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 tries to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on <computeroutput>tree</computeroutput> at the top of the given subtree.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tree</parametername>
</parameternamelist>
<parameterdescription>
<para>a node defining the subtree to reconciliate </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success or -1 in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1320" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="5996" bodyend="6112" declfile="tree.h" declline="1320" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3fe5e32e4a4bc711b7bc15e2870a88d8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlDocDumpFormatMemory</definition>
        <argsstring>(xmlDoc *cur, xmlChar **mem, int *size, int format)</argsstring>
        <name>xmlDocDumpFormatMemory</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>mem</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>size</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Same as xmlDocDumpFormatMemoryEnc with <computeroutput>encoding</computeroutput> set to NULL. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mem</parametername>
</parameternamelist>
<parameterdescription>
<para>OUT: the memory pointer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>size</parametername>
</parameternamelist>
<parameterdescription>
<para>OUT: the memory length </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces been added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1328" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2484" bodyend="2486" declfile="tree.h" declline="1328" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a755fe89e7592192b8565bd6cb48f7df6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlDocDumpMemory</definition>
        <argsstring>(xmlDoc *cur, xmlChar **mem, int *size)</argsstring>
        <name>xmlDocDumpMemory</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>mem</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>size</declname>
        </param>
        <briefdescription>
<para>Same as xmlDocDumpFormatMemoryEnc with <computeroutput>encoding</computeroutput> set to NULL and <computeroutput>format</computeroutput> set to 0. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mem</parametername>
</parameternamelist>
<parameterdescription>
<para>OUT: the memory pointer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>size</parametername>
</parameternamelist>
<parameterdescription>
<para>OUT: the memory length </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1333" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2470" bodyend="2472" declfile="tree.h" declline="1333" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ab7aaf578bc605ec6af453ec323651f6b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlDocDumpMemoryEnc</definition>
        <argsstring>(xmlDoc *out_doc, xmlChar **doc_txt_ptr, int *doc_txt_len, const char *txt_encoding)</argsstring>
        <name>xmlDocDumpMemoryEnc</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>out_doc</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>doc_txt_ptr</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>doc_txt_len</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>txt_encoding</declname>
        </param>
        <briefdescription>
<para>Same as xmlDocDumpFormatMemoryEnc with <computeroutput>format</computeroutput> set to 0. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>out_doc</parametername>
</parameternamelist>
<parameterdescription>
<para>Document to generate XML text from </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc_txt_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>Memory pointer for allocated XML text </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc_txt_len</parametername>
</parameternamelist>
<parameterdescription>
<para>Length of the generated XML text </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>txt_encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>Character encoding to use when generating XML text </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1337" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2498" bodyend="2502" declfile="tree.h" declline="1337" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac309b449ccf0e615c6f1bbb9da16aa52" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlDocDumpFormatMemoryEnc</definition>
        <argsstring>(xmlDoc *out_doc, xmlChar **doc_txt_ptr, int *doc_txt_len, const char *txt_encoding, int format)</argsstring>
        <name>xmlDocDumpFormatMemoryEnc</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>out_doc</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> **</type>
          <declname>doc_txt_ptr</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>doc_txt_len</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>txt_encoding</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML document to memory. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>encoding</computeroutput> is NULL, uses the document&apos;s encoding. If the document has no encoding, serializes as ASCII without an encoding declaration.</para>
<para>It is up to the caller of this function to free the returned memory with <ref refid="xmlmemory_8h_1a30231cbab46e8d659a5262c3b781164b" kindref="member">xmlFree</ref>.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>out_doc</parametername>
</parameternamelist>
<parameterdescription>
<para>Document to generate XML text from </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc_txt_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>Memory pointer for allocated XML text </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc_txt_len</parametername>
</parameternamelist>
<parameterdescription>
<para>Length of the generated XML text </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>txt_encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>Character encoding to use when generating XML text </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces been added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1342" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2427" bodyend="2459" declfile="tree.h" declline="1342" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6c5f12e589fe2fc6aea5281d91aa65b9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDocFormatDump</definition>
        <argsstring>(FILE *f, xmlDoc *cur, int format)</argsstring>
        <name>xmlDocFormatDump</name>
        <param>
          <type>FILE *</type>
          <declname>f</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML document to a <computeroutput>FILE</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Uses the document&apos;s encoding. If the document has no encoding, uses ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>the FILE* </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces been added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1348" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2519" bodyend="2532" declfile="tree.h" declline="1348" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae3cfe2424946a32daf04198c80dc4d08" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDocDump</definition>
        <argsstring>(FILE *f, xmlDoc *cur)</argsstring>
        <name>xmlDocDump</name>
        <param>
          <type>FILE *</type>
          <declname>f</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Serialize an XML document to a <computeroutput>FILE</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Uses the document&apos;s encoding. If the document has no encoding, uses ASCII without an encoding declaration.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>the FILE* </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1352" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2545" bodyend="2547" declfile="tree.h" declline="1352" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9fbeb188c7f0ef942d607cc93190ff80" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlElemDump</definition>
        <argsstring>(FILE *f, xmlDoc *doc, xmlNode *cur)</argsstring>
        <name>xmlElemDump</name>
        <param>
          <type>FILE *</type>
          <declname>f</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Serialize an XML node to a <computeroutput>FILE</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Uses the document&apos;s encoding. If the document has no encoding, uses ASCII without an encoding declaration.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>f</parametername>
</parameternamelist>
<parameterdescription>
<para>the FILE * for the output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1355" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2286" bodyend="2306" declfile="tree.h" declline="1355" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a425bc5df50cd5e658e159a8f6ea78cb7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFile</definition>
        <argsstring>(const char *filename, xmlDoc *cur)</argsstring>
        <name>xmlSaveFile</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>Same as xmlSaveFormatFileEnc with <computeroutput>encoding</computeroutput> set to NULL and <computeroutput>format</computeroutput> set to 0. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>filename</parametername>
</parameternamelist>
<parameterdescription>
<para>the filename (or URL) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1359" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2676" bodyend="2678" declfile="tree.h" declline="1359" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a65385474cbfeef4ff90464203ac65f44" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFormatFile</definition>
        <argsstring>(const char *filename, xmlDoc *cur, int format)</argsstring>
        <name>xmlSaveFormatFile</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Same as xmlSaveFormatFileEnc with <computeroutput>encoding</computeroutput> set to NULL. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>filename</parametername>
</parameternamelist>
<parameterdescription>
<para>the filename (or URL) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces been added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1362" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2663" bodyend="2665" declfile="tree.h" declline="1362" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a904ea3a2e8a686ea17d041dbb124f4dd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t xmlBufNodeDump</definition>
        <argsstring>(xmlBuf *buf, xmlDoc *doc, xmlNode *cur, int level, int format)</argsstring>
        <name>xmlBufNodeDump</name>
        <param>
          <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML node to an xmlBuf. </para>
        </briefdescription>
        <detaileddescription>
<para>Uses the document&apos;s encoding. If the document has no encoding, uses ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the XML buffer output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>level</parametername>
</parameternamelist>
<parameterdescription>
<para>the imbrication level for indenting </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>is formatting allowed </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written to the buffer, in case of error 0 is returned or <computeroutput>buf</computeroutput> stores the error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1366" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2237" bodyend="2273" declfile="tree.h" declline="1366" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4341a04dd833398b5a40f2cbd15eadef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlNodeDump</definition>
        <argsstring>(xmlBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format)</argsstring>
        <name>xmlNodeDump</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML node to an xmlBuffer. </para>
        </briefdescription>
        <detaileddescription>
<para>Uses the document&apos;s encoding. If the document has no encoding, uses ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para>Since this is using xmlBuffer structures it is limited to 2GB and somewhat deprecated, use xmlNodeDumpOutput instead.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the XML buffer output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>level</parametername>
</parameternamelist>
<parameterdescription>
<para>the initial indenting level </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>is formatting allowed </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written to the buffer or -1 in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1372" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2195" bodyend="2216" declfile="tree.h" declline="1372" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aff62a4c92443ad79476725a65a648e5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFileTo</definition>
        <argsstring>(xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding)</argsstring>
        <name>xmlSaveFileTo</name>
        <param>
          <type><ref refid="tree_8h_1a5a833f0c7502e1b15b6571271fa4c541" kindref="member">xmlOutputBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>encoding</declname>
        </param>
        <briefdescription>
<para>Same as xmlSaveFormatFileTo with <computeroutput>format</computeroutput> set to 0. </para>
        </briefdescription>
        <detaileddescription>
<para>WARNING: This calls <ref refid="xmlIO_8h_1a36fe9cce2bb1dff29f251a993ccb745c" kindref="member">xmlOutputBufferClose</ref> and frees <computeroutput>buf</computeroutput>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>an output I/O buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>the encoding if any assuming the I/O layer handles the transcoding </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1379" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2560" bodyend="2562" declfile="tree.h" declline="1379" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a26a3f60010e119bb566e3c94ef80f820" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFormatFileTo</definition>
        <argsstring>(xmlOutputBuffer *buf, xmlDoc *cur, const char *encoding, int format)</argsstring>
        <name>xmlSaveFormatFileTo</name>
        <param>
          <type><ref refid="tree_8h_1a5a833f0c7502e1b15b6571271fa4c541" kindref="member">xmlOutputBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>encoding</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML document to an output buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>If the output buffer already uses a (non-default) encoding, <computeroutput>encoding</computeroutput> is ignored. If the output buffer has no encoding and <computeroutput>encoding</computeroutput> is NULL, uses the document&apos;s encoding or ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para>WARNING: This calls <ref refid="xmlIO_8h_1a36fe9cce2bb1dff29f251a993ccb745c" kindref="member">xmlOutputBufferClose</ref> and frees <computeroutput>buf</computeroutput>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>an output I/O buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>the encoding if any assuming the I/O layer handles the transcoding </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces been added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1383" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2584" bodyend="2598" declfile="tree.h" declline="1383" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aaa733674a2c2ea881f63144e033691fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlNodeDumpOutput</definition>
        <argsstring>(xmlOutputBuffer *buf, xmlDoc *doc, xmlNode *cur, int level, int format, const char *encoding)</argsstring>
        <name>xmlNodeDumpOutput</name>
        <param>
          <type><ref refid="tree_8h_1a5a833f0c7502e1b15b6571271fa4c541" kindref="member">xmlOutputBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>encoding</declname>
        </param>
        <briefdescription>
<para>Serialize an XML node to an output buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>encoding</computeroutput> is NULL, uses the document&apos;s encoding. If the document has no encoding, serializes as ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the XML buffer output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>level</parametername>
</parameternamelist>
<parameterdescription>
<para>the imbrication level for indenting </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>is formatting allowed </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>an optional encoding string </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1388" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2332" bodyend="2379" declfile="tree.h" declline="1388" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac5c9bf5e6faa3fca384f340bf9f5faba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFormatFileEnc</definition>
        <argsstring>(const char *filename, xmlDoc *cur, const char *encoding, int format)</argsstring>
        <name>xmlSaveFormatFileEnc</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>encoding</declname>
        </param>
        <param>
          <type>int</type>
          <declname>format</declname>
        </param>
        <briefdescription>
<para>Serialize an XML document to a file using the given encoding. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>filename</computeroutput> is <computeroutput>&quot;-&quot;</computeroutput>, stdout is used. This is potentially insecure and might be changed in a future version.</para>
<para>If <computeroutput>encoding</computeroutput> is NULL, uses the document&apos;s encoding. If the document has no encoding, serializes as ASCII without an encoding declaration.</para>
<para>Note that <computeroutput>format</computeroutput> only works if the document was parsed with XML_PARSE_NOBLANKS.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>filename</parametername>
</parameternamelist>
<parameterdescription>
<para>the filename or URL to output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document being saved </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the encoding to use or NULL. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>format</parametername>
</parameternamelist>
<parameterdescription>
<para>should formatting spaces be added. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1396" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2619" bodyend="2638" declfile="tree.h" declline="1396" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a7ee84def7525c67c17f309d8dbba691c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlSaveFileEnc</definition>
        <argsstring>(const char *filename, xmlDoc *cur, const char *encoding)</argsstring>
        <name>xmlSaveFileEnc</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>encoding</declname>
        </param>
        <briefdescription>
<para>Same as xmlSaveFormatFileEnc with <computeroutput>format</computeroutput> set to 0. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>filename</parametername>
</parameternamelist>
<parameterdescription>
<para>the filename (or URL) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>encoding</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of an encoding (or NULL) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1402" column="1" bodyfile="/builds/GNOME/libxml2/xmlsave.c" bodystart="2650" bodyend="2652" declfile="tree.h" declline="1402" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1abe5e5586678f8f6478c72bf869be4a5f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlIsXHTML</definition>
        <argsstring>(const xmlChar *systemID, const xmlChar *publicID)</argsstring>
        <name>xmlIsXHTML</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>systemID</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>publicID</declname>
        </param>
        <briefdescription>
<para>Try to find if the document correspond to an XHTML DTD. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>systemID</parametername>
</parameternamelist>
<parameterdescription>
<para>the system identifier </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>publicID</parametername>
</parameternamelist>
<parameterdescription>
<para>the public identifier </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 if true, 0 if not and -1 in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1411" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="8844" bodyend="8858" declfile="tree.h" declline="1411" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aaa2e4539f87f524d8d7b12f435dd84ad" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlGetDocCompressMode</definition>
        <argsstring>(const xmlDoc *doc)</argsstring>
        <name>xmlGetDocCompressMode</name>
        <param>
          <type>const <ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <briefdescription>
<para>Get the compression level of a document, ZLIB based. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 (uncompressed) to 9 (max compression) </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1418" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6677" bodyend="6680" declfile="tree.h" declline="1418" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8869a892d2d9672bcd1d4ed7516acb8e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlSetDocCompressMode</definition>
        <argsstring>(xmlDoc *doc, int mode)</argsstring>
        <name>xmlSetDocCompressMode</name>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>mode</declname>
        </param>
        <briefdescription>
<para>Set the compression level of a document, ZLIB based. </para>
        </briefdescription>
        <detaileddescription>
<para>Correct values: 0 (uncompressed) to 9 (max compression)</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the document </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mode</parametername>
</parameternamelist>
<parameterdescription>
<para>the compression ratio </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1420" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6691" bodyend="6696" declfile="tree.h" declline="1420" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac138fe5e98047100a7766c756c60ee8c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlGetCompressMode</definition>
        <argsstring>(void)</argsstring>
        <name>xmlGetCompressMode</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
<para>Get the global compression level, ZLIB based. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000303"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use xmlGetDocCompressMode</para>
</xrefdescription></xrefsect></para>
<para><simplesect kind="return"><para>0 (uncompressed) to 9 (max compression) </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1424" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6706" bodyend="6709" declfile="tree.h" declline="1424" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8e1c2de917f01f58f32ac9bfb88ba5f0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlSetCompressMode</definition>
        <argsstring>(int mode)</argsstring>
        <name>xmlSetCompressMode</name>
        <param>
          <type>int</type>
          <declname>mode</declname>
        </param>
        <briefdescription>
<para>Set the global compression level, ZLIB based. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000304"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use xmlSetDocCompressMode</para>
</xrefdescription></xrefsect></para>
<para>Correct values: 0 (uncompressed) to 9 (max compression)</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>mode</parametername>
</parameternamelist>
<parameterdescription>
<para>the compression ratio </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1427" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6721" bodyend="6725" declfile="tree.h" declline="1427" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac4dd57be68af02ce74230f9300e7a4b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
        <definition>xmlDOMWrapCtxt * xmlDOMWrapNewCtxt</definition>
        <argsstring>(void)</argsstring>
        <name>xmlDOMWrapNewCtxt</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
<para>Allocates and initializes a new DOM-wrapper context. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>the xmlDOMWrapCtxt or NULL in case of an internal error. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1433" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6926" bodyend="6935" declfile="tree.h" declline="1433" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ab3afaace00223e2500d15a97bb779c19" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlDOMWrapFreeCtxt</definition>
        <argsstring>(xmlDOMWrapCtxt *ctxt)</argsstring>
        <name>xmlDOMWrapFreeCtxt</name>
        <param>
          <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
          <declname>ctxt</declname>
        </param>
        <briefdescription>
<para>Frees the DOM-wrapper context. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>the DOM-wrapper context </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1435" column="1" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="6943" bodyend="6953" declfile="tree.h" declline="1435" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a4e1846b236deabae89924109f4c5c9e1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDOMWrapReconcileNamespaces</definition>
        <argsstring>(xmlDOMWrapCtxt *ctxt, xmlNode *elem, int options)</argsstring>
        <name>xmlDOMWrapReconcileNamespaces</name>
        <param>
          <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
          <declname>ctxt</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>elem</declname>
        </param>
        <param>
          <type>int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
<para>Fix up namespaces. </para>
        </briefdescription>
        <detaileddescription>
<para>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content.</para>
<para>NOTE: This function was not intensively tested.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>DOM wrapper context, unused at the moment </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>elem</parametername>
</parameternamelist>
<parameterdescription>
<para>the element-node </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>options</parametername>
</parameternamelist>
<parameterdescription>
<para>option flags </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if succeeded, -1 otherwise and on API/internal errors. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1437" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="7602" bodyend="7837" declfile="tree.h" declline="1437" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a74a44e522b9b18bbab16479f190a8b82" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDOMWrapAdoptNode</definition>
        <argsstring>(xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlDoc *destDoc, xmlNode *destParent, int options)</argsstring>
        <name>xmlDOMWrapAdoptNode</name>
        <param>
          <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
          <declname>ctxt</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>sourceDoc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>destDoc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>destParent</declname>
        </param>
        <param>
          <type>int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
<para>Fix up namespaces before moving a node. </para>
        </briefdescription>
        <detaileddescription>
<para>References of out-of scope ns-decls are remapped to point to <computeroutput>destDoc</computeroutput>: If <computeroutput>destParent</computeroutput> is given, then nsDef entries on element-nodes are used. If <emphasis>no</emphasis> <computeroutput>destParent</computeroutput> is given, then <computeroutput>destDoc-&gt;oldNs</computeroutput> entries are used This is the case when you have an unlinked node and just want to move it to the context of.</para>
<para>If <computeroutput>destParent</computeroutput> is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content.</para>
<para>NOTE: This function was not intensively tested.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional context for custom processing </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sourceDoc</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional sourceDoc </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node to start with </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>destDoc</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination doc </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>destParent</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional new parent of <computeroutput>node</computeroutput> in <computeroutput>destDoc</computeroutput> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>options</parametername>
</parameternamelist>
<parameterdescription>
<para>option flags </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1441" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="8753" bodyend="8815" declfile="tree.h" declline="1441" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ada812e18a3ae6633cc9984b56b7c054b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDOMWrapRemoveNode</definition>
        <argsstring>(xmlDOMWrapCtxt *ctxt, xmlDoc *doc, xmlNode *node, int options)</argsstring>
        <name>xmlDOMWrapRemoveNode</name>
        <param>
          <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
          <declname>ctxt</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>doc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type>int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
<para>Unlinks the given node from its owner. </para>
        </briefdescription>
        <detaileddescription>
<para>This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references.</para>
<para>NOTE: This function was not intensively tested.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>a DOM wrapper context </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>doc</parametername>
</parameternamelist>
<parameterdescription>
<para>the doc </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node to be removed. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>options</parametername>
</parameternamelist>
<parameterdescription>
<para>set of options, unused at the moment </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 on success, 1 if the node is not supported, -1 on API and internal errors. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1448" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="7088" bodyend="7207" declfile="tree.h" declline="1448" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a530aca9c875785198a008a8df1965f30" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlDOMWrapCloneNode</definition>
        <argsstring>(xmlDOMWrapCtxt *ctxt, xmlDoc *sourceDoc, xmlNode *node, xmlNode **clonedNode, xmlDoc *destDoc, xmlNode *destParent, int deep, int options)</argsstring>
        <name>xmlDOMWrapCloneNode</name>
        <param>
          <type><ref refid="tree_8h_1af8f4d5181a0e6a3098bc71d0deeb3af7" kindref="member">xmlDOMWrapCtxt</ref> *</type>
          <declname>ctxt</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>sourceDoc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> **</type>
          <declname>clonedNode</declname>
          <defname>resNode</defname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ae94acff8b6413934705e29389bcddc17" kindref="member">xmlDoc</ref> *</type>
          <declname>destDoc</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>destParent</declname>
        </param>
        <param>
          <type>int</type>
          <declname>deep</declname>
        </param>
        <param>
          <type>int</type>
          <declname>options</declname>
        </param>
        <briefdescription>
<para>Clone a node and fix namespaces. </para>
        </briefdescription>
        <detaileddescription>
<para>References of out-of scope ns-decls are remapped to point to <computeroutput>destDoc</computeroutput>. If <computeroutput>destParent</computeroutput> is given, then nsDef entries on element-nodes are used. If <emphasis>no</emphasis> <computeroutput>destParent</computeroutput> is given, then <computeroutput>destDoc-&gt;oldNs</computeroutput> entries are used. This is the case when you don&apos;t know already where the cloned branch will be added to.</para>
<para>If <computeroutput>destParent</computeroutput> is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>ctxt</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional context for custom processing </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sourceDoc</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional sourceDoc </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the node to start with </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>resNode</parametername>
</parameternamelist>
<parameterdescription>
<para>the clone of the given <computeroutput>node</computeroutput> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>destDoc</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination doc </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>destParent</parametername>
</parameternamelist>
<parameterdescription>
<para>the optional new parent of <computeroutput>node</computeroutput> in <computeroutput>destDoc</computeroutput> </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>deep</parametername>
</parameternamelist>
<parameterdescription>
<para>descend into child if set </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>options</parametername>
</parameternamelist>
<parameterdescription>
<para>option flags </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1453" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="8147" bodyend="8656" declfile="tree.h" declline="1453" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aadbf0de8809a479555a70636a8a580c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>unsigned long</type>
        <definition>unsigned long xmlChildElementCount</definition>
        <argsstring>(xmlNode *parent)</argsstring>
        <name>xmlChildElementCount</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <briefdescription>
<para>Count the number of child nodes which are elements. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that entity references are not expanded.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of element children or 0 if arguments are invalid. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1467" column="13" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3161" bodyend="3184" declfile="tree.h" declline="1467" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aa66b0281814fb5cf301e65db0507f69f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlNextElementSibling</definition>
        <argsstring>(xmlNode *node)</argsstring>
        <name>xmlNextElementSibling</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Find the closest following sibling which is a element. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that entity references are not expanded.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the sibling or NULL if no sibling was found. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1469" column="13" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3295" bodyend="3319" declfile="tree.h" declline="1469" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a939a8828ea59bc444f45da4c98a15960" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlFirstElementChild</definition>
        <argsstring>(xmlNode *parent)</argsstring>
        <name>xmlFirstElementChild</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <briefdescription>
<para>Find the first child node which is an element. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that entity references are not expanded.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the first element or NULL if parent has no children. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1471" column="13" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3195" bodyend="3217" declfile="tree.h" declline="1471" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8484e84b13dc0d232bfb6e29cd809bd8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlLastElementChild</definition>
        <argsstring>(xmlNode *parent)</argsstring>
        <name>xmlLastElementChild</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>parent</declname>
        </param>
        <briefdescription>
<para>Find the last child node which is an element. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that entity references are not expanded.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>parent</parametername>
</parameternamelist>
<parameterdescription>
<para>the parent node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the last element or NULL if parent has no children. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1473" column="13" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3228" bodyend="3250" declfile="tree.h" declline="1473" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6afa77edc95e55427f8b8eb58327e64f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
        <definition>xmlNode * xmlPreviousElementSibling</definition>
        <argsstring>(xmlNode *node)</argsstring>
        <name>xmlPreviousElementSibling</name>
        <param>
          <type><ref refid="tree_8h_1ac8c054adbdabc014ab4584dfb1ce841e" kindref="member">xmlNode</ref> *</type>
          <declname>node</declname>
        </param>
        <briefdescription>
<para>Find the closest preceding sibling which is a element. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that entity references are not expanded.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node</parametername>
</parameternamelist>
<parameterdescription>
<para>the current node </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the sibling or NULL if no sibling was found. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1475" column="13" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="3261" bodyend="3284" declfile="tree.h" declline="1475" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a01070188bceb05066c6c77f8d4f4f988" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a6fc959a53aad61a058f9039b313d8622" kindref="member">xmlRegisterNodeFunc</ref></type>
        <definition>xmlRegisterNodeFunc xmlRegisterNodeDefault</definition>
        <argsstring>(xmlRegisterNodeFunc func)</argsstring>
        <name>xmlRegisterNodeDefault</name>
        <param>
          <type><ref refid="tree_8h_1a6fc959a53aad61a058f9039b313d8622" kindref="member">xmlRegisterNodeFunc</ref></type>
          <declname>func</declname>
        </param>
        <briefdescription>
<para>Registers a callback for node creation. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000305"><xreftitle>Deprecated</xreftitle><xrefdescription><para>don&apos;t use</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>func</parametername>
</parameternamelist>
<parameterdescription>
<para>function pointer to the new RegisterNodeFunc </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the old value of the registration function </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1479" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="8875" bodyend="8882" declfile="tree.h" declline="1479" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ac337445071b41061a558b5f7bceed3fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1aa242184c4aae31aa9c34f690f2e8b00f" kindref="member">xmlDeregisterNodeFunc</ref></type>
        <definition>xmlDeregisterNodeFunc xmlDeregisterNodeDefault</definition>
        <argsstring>(xmlDeregisterNodeFunc func)</argsstring>
        <name>xmlDeregisterNodeDefault</name>
        <param>
          <type><ref refid="tree_8h_1aa242184c4aae31aa9c34f690f2e8b00f" kindref="member">xmlDeregisterNodeFunc</ref></type>
          <declname>func</declname>
        </param>
        <briefdescription>
<para>Registers a callback for node destruction. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000306"><xreftitle>Deprecated</xreftitle><xrefdescription><para>don&apos;t use</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>func</parametername>
</parameternamelist>
<parameterdescription>
<para>function pointer to the new DeregisterNodeFunc </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the previous value of the deregistration function </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1482" column="5" bodyfile="/builds/GNOME/libxml2/tree.c" bodystart="8893" bodyend="8900" declfile="tree.h" declline="1482" declcolumn="5"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8d6667a403165df0275b7a27e7b1a060" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a6fc959a53aad61a058f9039b313d8622" kindref="member">xmlRegisterNodeFunc</ref></type>
        <definition>xmlRegisterNodeFunc xmlThrDefRegisterNodeDefault</definition>
        <argsstring>(xmlRegisterNodeFunc func)</argsstring>
        <name>xmlThrDefRegisterNodeDefault</name>
        <param>
          <type><ref refid="tree_8h_1a6fc959a53aad61a058f9039b313d8622" kindref="member">xmlRegisterNodeFunc</ref></type>
          <declname>func</declname>
        </param>
        <briefdescription>
<para>Set per-thread default value. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000154"><xreftitle>Deprecated</xreftitle><xrefdescription><para>This feature will be removed.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>func</parametername>
</parameternamelist>
<parameterdescription>
<para>new value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the old value </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1485" column="13" bodyfile="/builds/GNOME/libxml2/globals.c" bodystart="1048" bodyend="1060" declfile="tree.h" declline="1485" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a98a27bbe75784e827cf49105d044d290" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1aa242184c4aae31aa9c34f690f2e8b00f" kindref="member">xmlDeregisterNodeFunc</ref></type>
        <definition>xmlDeregisterNodeFunc xmlThrDefDeregisterNodeDefault</definition>
        <argsstring>(xmlDeregisterNodeFunc func)</argsstring>
        <name>xmlThrDefDeregisterNodeDefault</name>
        <param>
          <type><ref refid="tree_8h_1aa242184c4aae31aa9c34f690f2e8b00f" kindref="member">xmlDeregisterNodeFunc</ref></type>
          <declname>func</declname>
        </param>
        <briefdescription>
<para>Set per-thread default value. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000155"><xreftitle>Deprecated</xreftitle><xrefdescription><para>This feature will be removed.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>func</parametername>
</parameternamelist>
<parameterdescription>
<para>new value </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the old value </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1488" column="13" bodyfile="/builds/GNOME/libxml2/globals.c" bodystart="1071" bodyend="1083" declfile="tree.h" declline="1488" declcolumn="13"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a0fc2fca0daacef8ca684cf1e81185ab8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlSetBufferAllocationScheme</definition>
        <argsstring>(xmlBufferAllocationScheme scheme)</argsstring>
        <name>xmlSetBufferAllocationScheme</name>
        <param>
          <type><ref refid="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760" kindref="member">xmlBufferAllocationScheme</ref></type>
          <declname>scheme</declname>
        </param>
        <briefdescription>
<para>Set the buffer allocation scheme. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000079"><xreftitle>Deprecated</xreftitle><xrefdescription><para>No-op, allocation schemes were removed.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>scheme</parametername>
</parameternamelist>
<parameterdescription>
<para>allocation method to use </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1496" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="628" bodyend="629" declfile="tree.h" declline="1496" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a16f6a54279156a98888e6f0ddc332971" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760" kindref="member">xmlBufferAllocationScheme</ref></type>
        <definition>xmlBufferAllocationScheme xmlGetBufferAllocationScheme</definition>
        <argsstring>(void)</argsstring>
        <name>xmlGetBufferAllocationScheme</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
<para>Get the buffer allocation scheme. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000080"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Allocation schemes were removed.</para>
</xrefdescription></xrefsect></para>
<para><simplesect kind="return"><para>the current allocation scheme </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1499" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="639" bodyend="641" declfile="tree.h" declline="1499" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a357077c4616a7b791e5e2d6fc6d47781" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
        <definition>xmlBuffer * xmlBufferCreate</definition>
        <argsstring>(void)</argsstring>
        <name>xmlBufferCreate</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
<para>Create a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>The default initial size is 256.</para>
<para><simplesect kind="return"><para>the new structure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1502" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="651" bodyend="670" declfile="tree.h" declline="1502" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3e43731f833511c06ebc167144993ca1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
        <definition>xmlBuffer * xmlBufferCreateSize</definition>
        <argsstring>(size_t size)</argsstring>
        <name>xmlBufferCreateSize</name>
        <param>
          <type>size_t</type>
          <declname>size</declname>
        </param>
        <briefdescription>
<para>Create a buffer with an initial size. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>size</parametername>
</parameternamelist>
<parameterdescription>
<para>initial size of buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the new structure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1504" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="679" bodyend="707" declfile="tree.h" declline="1504" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a50934926155faab965760d3f9261a45a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
        <definition>xmlBuffer * xmlBufferCreateStatic</definition>
        <argsstring>(void *mem, size_t size)</argsstring>
        <name>xmlBufferCreateStatic</name>
        <param>
          <type>void *</type>
          <declname>mem</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>size</declname>
        </param>
        <briefdescription>
<para>Create a static buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>The memory must be zero-terminated and not be modified for the lifetime of the buffer. A static buffer can&apos;t be grown, modified or detached, but it can be shrunk.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>mem</parametername>
</parameternamelist>
<parameterdescription>
<para>the memory area </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>size</parametername>
</parameternamelist>
<parameterdescription>
<para>the size in bytes </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new buffer </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1506" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="755" bodyend="760" declfile="tree.h" declline="1506" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a13383ad97a45f4f635f9ffd43817746a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferResize</definition>
        <argsstring>(xmlBuffer *buf, unsigned int size)</argsstring>
        <name>xmlBufferResize</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>size</declname>
        </param>
        <briefdescription>
<para>Resize a buffer to a minimum size. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000083"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer to resize </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>size</parametername>
</parameternamelist>
<parameterdescription>
<para>the desired size </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 on succes, 0 in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1510" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="963" bodyend="974" declfile="tree.h" declline="1510" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ad47816217b8233b5f51c0728b5f82875" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferFree</definition>
        <argsstring>(xmlBuffer *buf)</argsstring>
        <name>xmlBufferFree</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Free a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer to free </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1513" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="782" bodyend="792" declfile="tree.h" declline="1513" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae87d6f9be80675043e19724c50df48da" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferDump</definition>
        <argsstring>(FILE *file, xmlBuffer *buf)</argsstring>
        <name>xmlBufferDump</name>
        <param>
          <type>FILE *</type>
          <declname>file</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Dump a buffer to a <computeroutput>FILE</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>file</parametername>
</parameternamelist>
<parameterdescription>
<para>the output file </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes written </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1515" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="910" bodyend="921" declfile="tree.h" declline="1515" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a1162938ba52d92b95fccdc0846b7214b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferAdd</definition>
        <argsstring>(xmlBuffer *buf, const xmlChar *str, int len)</argsstring>
        <name>xmlBufferAdd</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Append bytes to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>len</computeroutput> is -1, <computeroutput>str</computeroutput> is assumed to be zero-terminated.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>bytes to add </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>number of bytes </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an xmlParserErrors code. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1518" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="987" bodyend="1005" declfile="tree.h" declline="1518" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a17f00f3a7fcd1e6db699ed7b982789eb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferAddHead</definition>
        <argsstring>(xmlBuffer *buf, const xmlChar *str, int len)</argsstring>
        <name>xmlBufferAddHead</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Prepend bytes to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>If <computeroutput>len</computeroutput> is -1, <computeroutput>str</computeroutput> is assumed to be zero-terminated.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>bytes to prepend </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>number of bytes </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an xmlParserErrors code. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1522" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1018" bodyend="1060" declfile="tree.h" declline="1522" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1afde70bec94ba76d16135cb6282878c7c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferCat</definition>
        <argsstring>(xmlBuffer *buf, const xmlChar *str)</argsstring>
        <name>xmlBufferCat</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <briefdescription>
<para>Append a zero-terminated string to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>string to add </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an xmlParserErrors code. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1526" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1070" bodyend="1072" declfile="tree.h" declline="1526" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a53f7a4cc289a81088f4b06c7561b8114" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferCCat</definition>
        <argsstring>(xmlBuffer *buf, const char *str)</argsstring>
        <name>xmlBufferCCat</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>str</declname>
        </param>
        <briefdescription>
<para>Append a zero-terminated C string to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>string to add </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an xmlParserErrors code. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1529" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1082" bodyend="1084" declfile="tree.h" declline="1529" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a3eb65e1a38df1d53b75383efcaa415d2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferShrink</definition>
        <argsstring>(xmlBuffer *buf, unsigned int len)</argsstring>
        <name>xmlBufferShrink</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Discard bytes at the start of a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000081"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the number of bytes to remove </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes removed, or -1 in case of failure. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1533" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="827" bodyend="845" declfile="tree.h" declline="1533" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a964be2938a2472b2fa24b97a016a5daf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferGrow</definition>
        <argsstring>(xmlBuffer *buf, unsigned int len)</argsstring>
        <name>xmlBufferGrow</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Grow a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000082"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>number of extra bytes to allocate </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the new available space or -1 in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1537" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="857" bodyend="900" declfile="tree.h" declline="1537" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a963f4e1ed94d4741408b2024ed7b0fe1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferEmpty</definition>
        <argsstring>(xmlBuffer *buf)</argsstring>
        <name>xmlBufferEmpty</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Empty a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1540" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="800" bodyend="815" declfile="tree.h" declline="1540" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a0f19f56a45ed97079b579cdf1171abca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>const xmlChar * xmlBufferContent</definition>
        <argsstring>(const xmlBuffer *buf)</argsstring>
        <name>xmlBufferContent</name>
        <param>
          <type>const <ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Get pointer into buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the internal content </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1542" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="930" bodyend="936" declfile="tree.h" declline="1542" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1aa912f824aed6a1ac0017f360e6a6a748" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlBufferDetach</definition>
        <argsstring>(xmlBuffer *buf)</argsstring>
        <name>xmlBufferDetach</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Extract buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para>Return the contents of the buffer as an <computeroutput>xmlChar</computeroutput> string, clearing the buffer.</para>
<para>This doesn&apos;t work with static buffers as they can&apos;t be reset.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the buffer content </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1544" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="721" bodyend="741" declfile="tree.h" declline="1544" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a851a463854ee62c7c03e301625504faa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferSetAllocationScheme</definition>
        <argsstring>(xmlBuffer *buf, xmlBufferAllocationScheme scheme)</argsstring>
        <name>xmlBufferSetAllocationScheme</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type><ref refid="tree_8h_1a97b35ae4cd8dc514398f48f6785ec760" kindref="member">xmlBufferAllocationScheme</ref></type>
          <declname>scheme</declname>
        </param>
        <briefdescription>
<para>Set the allocation scheme of a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>For libxml2 before 2.14, it is recommended to set this to XML_BUFFER_ALLOC_DOUBLE_IT. Has no effect on 2.14 or later.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer to tune </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>scheme</parametername>
</parameternamelist>
<parameterdescription>
<para>allocation scheme to use </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1546" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="772" bodyend="774" declfile="tree.h" declline="1546" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1afdaf9cd81ba6bbfd4ff47370e5d71817" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlBufferLength</definition>
        <argsstring>(const xmlBuffer *buf)</argsstring>
        <name>xmlBufferLength</name>
        <param>
          <type>const <ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Get the size of the buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the size of the buffer content in bytes </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1549" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="945" bodyend="951" declfile="tree.h" declline="1549" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8327a40751c88fd8867ddd6bcbc62b67" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferWriteCHAR</definition>
        <argsstring>(xmlBuffer *buf, const xmlChar *string)</argsstring>
        <name>xmlBufferWriteCHAR</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>string</declname>
        </param>
        <briefdescription>
<para>Append a zero-terminated <computeroutput>xmlChar</computeroutput> string to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the XML buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>string</parametername>
</parameternamelist>
<parameterdescription>
<para>the string to add </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1551" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1093" bodyend="1095" declfile="tree.h" declline="1551" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a8ebd3aaee61b4f0904de35a9b1cf01e8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferWriteChar</definition>
        <argsstring>(xmlBuffer *buf, const char *string)</argsstring>
        <name>xmlBufferWriteChar</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>string</declname>
        </param>
        <briefdescription>
<para>Append a zero-terminated C string to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>Same as xmlBufferCCat.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>string</parametername>
</parameternamelist>
<parameterdescription>
<para>the string to add </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1554" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1106" bodyend="1108" declfile="tree.h" declline="1554" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1acada98328fa7db6b043142bcb9d2de24" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void xmlBufferWriteQuotedString</definition>
        <argsstring>(xmlBuffer *buf, const xmlChar *string)</argsstring>
        <name>xmlBufferWriteQuotedString</name>
        <param>
          <type><ref refid="tree_8h_1a2ee128432290a53a930b36702abd1ef4" kindref="member">xmlBuffer</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>string</declname>
        </param>
        <briefdescription>
<para>Append a quoted string to a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>Append a string quoted with single or double quotes. If the string contains both single and double quotes, double quotes are escaped with <computeroutput>&amp;quot;</computeroutput>.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>string</parametername>
</parameternamelist>
<parameterdescription>
<para>the string to add </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1557" column="1" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="1121" bodyend="1155" declfile="tree.h" declline="1557" declcolumn="1"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a9043390cfac5851a0ad2d1f702ee61b7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlBufContent</definition>
        <argsstring>(const xmlBuf *buf)</argsstring>
        <name>xmlBufContent</name>
        <param>
          <type>const <ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Get pointer into buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the internal content or NULL in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1564" column="18" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="359" bodyend="365" declfile="tree.h" declline="1564" declcolumn="18"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a83418a1fd702bf4d4ccec6890b14a923" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
        <definition>xmlChar * xmlBufEnd</definition>
        <argsstring>(xmlBuf *buf)</argsstring>
        <name>xmlBufEnd</name>
        <param>
          <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Return a pointer to the end of the buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the end of the internal content or NULL in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1565" column="18" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="374" bodyend="380" declfile="tree.h" declline="1565" declcolumn="18"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1ae0a3d8632d864126eff9f8d288a8d168" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t xmlBufUse</definition>
        <argsstring>(xmlBuf *buf)</argsstring>
        <name>xmlBufUse</name>
        <param>
          <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <briefdescription>
<para>Return the size of the buffer content. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>size of buffer content in bytes </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1566" column="19" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="410" bodyend="416" declfile="tree.h" declline="1566" declcolumn="19"/>
      </memberdef>
      <memberdef kind="function" id="tree_8h_1a6ee0e2287610933479e8027c6ab77a7f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>size_t xmlBufShrink</definition>
        <argsstring>(xmlBuf *buf, size_t len)</argsstring>
        <name>xmlBufShrink</name>
        <param>
          <type><ref refid="tree_8h_1a8a549ab0cfa53cd9e4c47eeb7ceb7094" kindref="member">xmlBuf</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Discard bytes at the start of a buffer. </para>
        </briefdescription>
        <detaileddescription>
<para>NOTE that the return value differs from xmlBufferShrink as it will return 0 on error instead of -1 due to size_t being used as the return type.</para>
<para><xrefsect id="deprecated_1_deprecated000078"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Internal function, don&apos;t use.</para>
</xrefdescription></xrefsect></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the buffer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the number of bytes to remove </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of bytes removed or 0 in case of failure </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="tree.h" line="1567" column="19" bodyfile="/builds/GNOME/libxml2/buf.c" bodystart="242" bodyend="256" declfile="tree.h" declline="1567" declcolumn="19"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>Document tree API. </para>
    </briefdescription>
    <detaileddescription>
<para>Data structures and functions to build, modify, query and serialize XML and HTML document trees. Also contains the buffer API.</para>
<para><simplesect kind="copyright"><para>See Copyright for the status of this software.</para>
</simplesect>
<simplesect kind="author"><para>Daniel Veillard </para>
</simplesect>
</para>
    </detaileddescription>
    <location file="tree.h"/>
  </compounddef>
</doxygen>
