<?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.15.0" xml:lang="en-US">
  <compounddef id="xmlstring_8h" kind="file" language="C++">
    <compoundname>xmlstring.h</compoundname>
    <includes local="no">stdarg.h</includes>
    <includes refid="xmlversion_8h" local="no">libxml/xmlversion.h</includes>
    <includedby refid="dict_8c" local="no">/builds/GNOME/libxml2/dict.c</includedby>
    <includedby refid="hash_8c" local="no">/builds/GNOME/libxml2/hash.c</includedby>
    <includedby refid="xmlmodule_8c" local="no">/builds/GNOME/libxml2/xmlmodule.c</includedby>
    <includedby refid="xmlstring_8c" local="no">/builds/GNOME/libxml2/xmlstring.c</includedby>
    <includedby refid="catalog_8h" local="no">catalog.h</includedby>
    <includedby refid="chvalid_8h" local="no">chvalid.h</includedby>
    <includedby refid="dict_8h" local="no">dict.h</includedby>
    <includedby refid="hash_8h" local="no">hash.h</includedby>
    <includedby refid="parser_8h" local="no">parser.h</includedby>
    <includedby refid="relaxng_8h" local="no">relaxng.h</includedby>
    <includedby refid="tree_8h" local="no">tree.h</includedby>
    <includedby refid="uri_8h" local="no">uri.h</includedby>
    <includedby refid="xmlautomata_8h" local="no">xmlautomata.h</includedby>
    <includedby refid="xmlregexp_8h" local="no">xmlregexp.h</includedby>
    <includedby refid="xmlwriter_8h" local="no">xmlwriter.h</includedby>
    <incdepgraph>
      <node id="1">
        <label>xmlstring.h</label>
        <link refid="xmlstring_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>libxml/xmlversion.h</label>
        <link refid="xmlversion_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>libxml/xmlexports.h</label>
      </node>
      <node id="2">
        <label>stdarg.h</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="8">
        <label>HTMLparser.h</label>
        <link refid="HTMLparser_8h"/>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="9">
        <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="4" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>c14n.h</label>
        <link refid="c14n_8h"/>
      </node>
      <node id="2">
        <label>catalog.h</label>
        <link refid="catalog_8h"/>
      </node>
      <node id="3">
        <label>chvalid.h</label>
        <link refid="chvalid_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="19">
        <label>debugXML.h</label>
        <link refid="debugXML_8h"/>
      </node>
      <node id="5">
        <label>dict.h</label>
        <link refid="dict_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
      </node>
      <node id="24">
        <label>entities.h</label>
        <link refid="entities_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>hash.h</label>
        <link refid="hash_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" 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="4" 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="4">
        <label>parserInternals.h</label>
        <link refid="parserInternals_8h"/>
      </node>
      <node id="22">
        <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="16">
        <label>schemasInternals.h</label>
        <link refid="schemasInternals_8h"/>
        <childnode refid="15" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>schematron.h</label>
        <link refid="schematron_8h"/>
      </node>
      <node id="23">
        <label>tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
      </node>
      <node id="31">
        <label>uri.h</label>
        <link refid="uri_8h"/>
      </node>
      <node id="26">
        <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="27">
        <label>xlink.h</label>
        <link refid="xlink_8h"/>
      </node>
      <node id="28">
        <label>xmlIO.h</label>
        <link refid="xmlIO_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
      </node>
      <node id="32">
        <label>xmlautomata.h</label>
        <link refid="xmlautomata_8h"/>
        <childnode refid="26" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>xmlreader.h</label>
        <link refid="xmlreader_8h"/>
      </node>
      <node id="33">
        <label>xmlregexp.h</label>
        <link refid="xmlregexp_8h"/>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
      </node>
      <node id="29">
        <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="1">
        <label>xmlstring.h</label>
        <link refid="xmlstring_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
        <childnode refid="32" relation="include">
        </childnode>
        <childnode refid="33" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>xmlwriter.h</label>
        <link refid="xmlwriter_8h"/>
      </node>
      <node id="17">
        <label>xpath.h</label>
        <link refid="xpath_8h"/>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>xpathInternals.h</label>
        <link refid="xpathInternals_8h"/>
      </node>
      <node id="21">
        <label>xpointer.h</label>
        <link refid="xpointer_8h"/>
      </node>
    </invincdepgraph>
    <sectiondef kind="define">
      <memberdef kind="define" id="xmlstring_8h_1ad0a78338bf196a676079310a7b9c7599" prot="public" static="no">
        <name>BAD_CAST</name>
        <initializer>(<ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *)</initializer>
        <briefdescription>
<para>Macro to cast a string to an <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * when one know its safe. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="34" column="9" bodyfile="xmlstring.h" bodystart="34" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="typedef">
      <memberdef kind="typedef" id="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" prot="public" static="no">
        <type>unsigned char</type>
        <definition>typedef unsigned char xmlChar</definition>
        <argsstring></argsstring>
        <name>xmlChar</name>
        <briefdescription>
<para>This is a basic byte in an UTF-8 encoded string. </para>
        </briefdescription>
        <detaileddescription>
<para>It&apos;s unsigned allowing to pinpoint case where char * are assigned to <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * (possibly making serialization back impossible). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="29" column="23" bodyfile="xmlstring.h" bodystart="29" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="func">
      <memberdef kind="function" id="xmlstring_8h_1ae4beae949ad19f3ba61b010ba5bcf5c6" 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 * xmlStrdup</definition>
        <argsstring>(const xmlChar *cur)</argsstring>
        <name>xmlStrdup</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>a strdup for array of <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s. </para>
        </briefdescription>
        <detaileddescription>
<para>Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of &apos;0&apos;.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the input <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="40" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="72" bodyend="78" declfile="xmlstring.h" declline="40" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a51d8478afd1eda7e1c9e65c67074aa82" 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 * xmlStrndup</definition>
        <argsstring>(const xmlChar *cur, int len)</argsstring>
        <name>xmlStrndup</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strndup for array of <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the input <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the len of <computeroutput>cur</computeroutput> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="42" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="50" bodyend="61" declfile="xmlstring.h" declline="42" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a992afe974df6eacd651002c790a7ff3c" 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 * xmlCharStrndup</definition>
        <argsstring>(const char *cur, int len)</argsstring>
        <name>xmlCharStrndup</name>
        <param>
          <type>const char *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strndup for char&apos;s to <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the input char * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the len of <computeroutput>cur</computeroutput> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="45" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="89" bodyend="105" declfile="xmlstring.h" declline="45" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a36c0e9f9a10ce864efff0e6873629ceb" 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 * xmlCharStrdup</definition>
        <argsstring>(const char *cur)</argsstring>
        <name>xmlCharStrdup</name>
        <param>
          <type>const char *</type>
          <declname>cur</declname>
        </param>
        <briefdescription>
<para>a strdup for char&apos;s to <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the input char * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="48" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="115" bodyend="121" declfile="xmlstring.h" declline="48" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a78aa44363b20e54148e5bb361dca00e5" 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 * xmlStrsub</definition>
        <argsstring>(const xmlChar *str, int start, int len)</argsstring>
        <name>xmlStrsub</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type>int</type>
          <declname>start</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Extract a substring of a given string. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array (haystack) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>start</parametername>
</parameternamelist>
<parameterdescription>
<para>the index of the first char (zero based) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the length of the substring </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * for the first occurrence or NULL. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="50" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="382" bodyend="395" declfile="xmlstring.h" declline="50" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a254a18e40a79d2b09246a68b7588e623" 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 * xmlStrchr</definition>
        <argsstring>(const xmlChar *str, xmlChar val)</argsstring>
        <name>xmlStrchr</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref></type>
          <declname>val</declname>
        </param>
        <briefdescription>
<para>a strchr for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>val</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> to search </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * for the first occurrence or NULL. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="54" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="312" bodyend="319" declfile="xmlstring.h" declline="54" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a8fcadcad68b164d554a901c4235ba2fe" 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 * xmlStrstr</definition>
        <argsstring>(const xmlChar *str, const xmlChar *val)</argsstring>
        <name>xmlStrstr</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>val</declname>
        </param>
        <briefdescription>
<para>a strstr for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array (haystack) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>val</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> to search (needle) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * for the first occurrence or NULL. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="57" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="330" bodyend="345" declfile="xmlstring.h" declline="57" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a8099612d14a025b9284e5883440d746a" 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 * xmlStrcasestr</definition>
        <argsstring>(const xmlChar *str, const xmlChar *val)</argsstring>
        <name>xmlStrcasestr</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>val</declname>
        </param>
        <briefdescription>
<para>a case-ignoring strstr for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array (haystack) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>val</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> to search (needle) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * for the first occurrence or NULL. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="60" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="356" bodyend="370" declfile="xmlstring.h" declline="60" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a98e502dfa43396d52c184b75d6234b34" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrcmp</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2)</argsstring>
        <name>xmlStrcmp</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <briefdescription>
<para>a strcmp for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>the first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the integer result of the comparison </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="63" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="132" bodyend="145" declfile="xmlstring.h" declline="63" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a7732b72ab4c03163e773fc1e4bf6653b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrncmp</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2, int len)</argsstring>
        <name>xmlStrncmp</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strncmp for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>the first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the max comparison length </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the integer result of the comparison </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="66" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="206" bodyend="220" declfile="xmlstring.h" declline="66" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a747d591ac097718121c46dc4b32f76f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrcasecmp</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2)</argsstring>
        <name>xmlStrcasecmp</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <briefdescription>
<para>a strcasecmp for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>the first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the integer result of the comparison </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="70" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="266" bodyend="277" declfile="xmlstring.h" declline="70" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a98b201a69fa7c7d155b114f3cf0ae976" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrncasecmp</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2, int len)</argsstring>
        <name>xmlStrncasecmp</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strncasecmp for <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>the first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the max comparison length </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the integer result of the comparison </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="73" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="289" bodyend="301" declfile="xmlstring.h" declline="73" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a2299004933166f79d1b841c73669a5d6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrEqual</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2)</argsstring>
        <name>xmlStrEqual</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <briefdescription>
<para>Check if both strings are equal of have same content. </para>
        </briefdescription>
        <detaileddescription>
<para>Should be a bit more readable and faster than <ref refid="xmlstring_8h_1a98e502dfa43396d52c184b75d6234b34" kindref="member">xmlStrcmp</ref></para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>the first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 if they are equal, 0 if they are different </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="77" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="157" bodyend="169" declfile="xmlstring.h" declline="77" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1aafd6a88f183711f15ba2a8e06742aaa9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrQEqual</definition>
        <argsstring>(const xmlChar *pref, const xmlChar *name, const xmlChar *str)</argsstring>
        <name>xmlStrQEqual</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>pref</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>str</declname>
        </param>
        <briefdescription>
<para>Check if a QName is Equal to a given string. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>pref</parametername>
</parameternamelist>
<parameterdescription>
<para>the prefix of the QName </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the localname of the QName </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>1 if they are equal, 0 if they are different </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="80" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="181" bodyend="194" declfile="xmlstring.h" declline="80" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a6f2649694110399c989939c25ab58e4b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrlen</definition>
        <argsstring>(const xmlChar *str)</argsstring>
        <name>xmlStrlen</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str</declname>
        </param>
        <briefdescription>
<para>length of a <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s string </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> contained in the ARRAY. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="84" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="405" bodyend="408" declfile="xmlstring.h" declline="84" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a216a8e06d36ff9bd25ab5269e8d3bbd8" 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 * xmlStrcat</definition>
        <argsstring>(xmlChar *cur, const xmlChar *add)</argsstring>
        <name>xmlStrcat</name>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>add</declname>
        </param>
        <briefdescription>
<para>a strcat for array of <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s. </para>
        </briefdescription>
        <detaileddescription>
<para>Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of &apos;0&apos;.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the original <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>add</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array added </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * containing the concatenated string. The original <computeroutput>cur</computeroutput> is reallocated and should not be freed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="86" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="502" bodyend="511" declfile="xmlstring.h" declline="86" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1aeca675098d784db337859272f5c6acb8" 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 * xmlStrncat</definition>
        <argsstring>(xmlChar *cur, const xmlChar *add, int len)</argsstring>
        <name>xmlStrncat</name>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>cur</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>add</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strncat for array of <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref>&apos;s, it will extend <computeroutput>cur</computeroutput> with the len first bytes of <computeroutput>add</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para>Note that if <computeroutput>len</computeroutput> &lt; 0 then this is an API error and NULL will be returned.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cur</parametername>
</parameternamelist>
<parameterdescription>
<para>the original <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>add</parametername>
</parameternamelist>
<parameterdescription>
<para>the <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * array added </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the length of <computeroutput>add</computeroutput> </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *, the original <computeroutput>cur</computeroutput> is reallocated and should not be freed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="89" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="423" bodyend="452" declfile="xmlstring.h" declline="89" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a9d5a6d6975b0497a30931e8a526e1f2a" 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 * xmlStrncatNew</definition>
        <argsstring>(const xmlChar *str1, const xmlChar *str2, int len)</argsstring>
        <name>xmlStrncatNew</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>str2</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>same as <ref refid="xmlstring_8h_1aeca675098d784db337859272f5c6acb8" kindref="member">xmlStrncat</ref>, but creates a new string. </para>
        </briefdescription>
        <detaileddescription>
<para>The original two strings are not freed. If <computeroutput>len</computeroutput> is &lt; 0 then the length will be calculated automatically.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>str1</parametername>
</parameternamelist>
<parameterdescription>
<para>first <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> string </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>str2</parametername>
</parameternamelist>
<parameterdescription>
<para>second <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> string </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the len of <computeroutput>str2</computeroutput> or &lt; 0 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="93" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="465" bodyend="489" declfile="xmlstring.h" declline="93" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a5677c5eb4a38cd172324c1be74458d3b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrPrintf</definition>
        <argsstring>(xmlChar *buf, int len, const char *msg,...)</argsstring>
        <name>xmlStrPrintf</name>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>msg</declname>
        </param>
        <param>
          <type>...</type>
        </param>
        <briefdescription>
<para>Formats <computeroutput>msg</computeroutput> and places result into <computeroutput>buf</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the result buffer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the result buffer length. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>msg</parametername>
</parameternamelist>
<parameterdescription>
<para>the message with printf formatting. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>...</parametername>
</parameternamelist>
<parameterdescription>
<para>extra parameters for the message. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of characters written to <computeroutput>buf</computeroutput> or -1 if an error occurs. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="97" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="523" bodyend="537" declfile="xmlstring.h" declline="97" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a8149c6b81c24e77158b8934b2b109c27" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlStrVPrintf</definition>
        <argsstring>(xmlChar *buf, int len, const char *msg, va_list ap)</argsstring>
        <name>xmlStrVPrintf</name>
        <param>
          <type><ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>buf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>msg</declname>
        </param>
        <param>
          <type>va_list</type>
          <declname>ap</declname>
        </param>
        <briefdescription>
<para>Formats <computeroutput>msg</computeroutput> and places result into <computeroutput>buf</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>buf</parametername>
</parameternamelist>
<parameterdescription>
<para>the result buffer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the result buffer length. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>msg</parametername>
</parameternamelist>
<parameterdescription>
<para>the message with printf formatting. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ap</parametername>
</parameternamelist>
<parameterdescription>
<para>extra parameters for the message. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of characters written to <computeroutput>buf</computeroutput> or -1 if an error occurs. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="102" column="17" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="549" bodyend="560" declfile="xmlstring.h" declline="102" declcolumn="17"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1af209534b2c85800e26017975718fc309" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlGetUTF8Char</definition>
        <argsstring>(const unsigned char *utf, int *len)</argsstring>
        <name>xmlGetUTF8Char</name>
        <param>
          <type>const unsigned char *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Read the first UTF8 character from <computeroutput>utf</computeroutput>. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>a sequence of UTF-8 encoded bytes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error) </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="108" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="812" bodyend="867" declfile="xmlstring.h" declline="108" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a261267dbb98fe8b968a66868e898e427" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlCheckUTF8</definition>
        <argsstring>(const unsigned char *utf)</argsstring>
        <name>xmlCheckUTF8</name>
        <param>
          <type>const unsigned char *</type>
          <declname>utf</declname>
        </param>
        <briefdescription>
<para>Checks <computeroutput>utf</computeroutput> for being valid UTF-8. </para>
        </briefdescription>
        <detaileddescription>
<para><computeroutput>utf</computeroutput> is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>Pointer to putative UTF-8 encoded string. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>value: true if <computeroutput>utf</computeroutput> is valid. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="111" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="881" bodyend="920" declfile="xmlstring.h" declline="111" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a4098f8e1ba0bd162ba3e3ff8446ef576" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUTF8Strsize</definition>
        <argsstring>(const xmlChar *utf, int len)</argsstring>
        <name>xmlUTF8Strsize</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8 </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>a sequence of UTF-8 encoded bytes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the number of characters in the array </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the storage size of the first &apos;len&apos; characters of ARRAY </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="113" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="933" bodyend="956" declfile="xmlstring.h" declline="113" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a5835dd4887b3de90c263d8e52fb2293b" 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 * xmlUTF8Strndup</definition>
        <argsstring>(const xmlChar *utf, int len)</argsstring>
        <name>xmlUTF8Strndup</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>a strndup for array of UTF8&apos;s </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>the input UTF8 * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>the len of <computeroutput>utf</computeroutput> (in chars) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new UTF8 * or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="116" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="967" bodyend="980" declfile="xmlstring.h" declline="116" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1aa1f4817645b9e8f4a8a6936839f67213" 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 * xmlUTF8Strpos</definition>
        <argsstring>(const xmlChar *utf, int pos)</argsstring>
        <name>xmlUTF8Strpos</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>pos</declname>
        </param>
        <briefdescription>
<para>a function to provide the equivalent of fetching a character from a string array </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>the input UTF8 * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>pos</parametername>
</parameternamelist>
<parameterdescription>
<para>the position of the desired UTF8 char (in chars) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to the UTF8 character or NULL </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="119" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="991" bodyend="1012" declfile="xmlstring.h" declline="119" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a9d33a0380cd3877abc606b9cb78eb0b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUTF8Strloc</definition>
        <argsstring>(const xmlChar *utf, const xmlChar *utfchar)</argsstring>
        <name>xmlUTF8Strloc</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utfchar</declname>
        </param>
        <briefdescription>
<para>a function to provide the relative location of a UTF8 char </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>the input UTF8 * </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>utfchar</parametername>
</parameternamelist>
<parameterdescription>
<para>the UTF8 character to be found </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the relative character position of the desired char or -1 if not found </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="122" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="1023" bodyend="1046" declfile="xmlstring.h" declline="122" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1a9d6077f30aecad7d150b3b06d2c249f3" 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 * xmlUTF8Strsub</definition>
        <argsstring>(const xmlChar *utf, int start, int len)</argsstring>
        <name>xmlUTF8Strsub</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>start</declname>
        </param>
        <param>
          <type>int</type>
          <declname>len</declname>
        </param>
        <briefdescription>
<para>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>a sequence of UTF-8 encoded bytes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>start</parametername>
</parameternamelist>
<parameterdescription>
<para>relative pos of first char </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>total number to copy </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a pointer to a newly created string or NULL if the start index is out of bounds or a memory allocation failed. If len is too large, the result is truncated. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="125" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="1060" bodyend="1087" declfile="xmlstring.h" declline="125" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1ac89adbe5930a23612078c3e71c1ea568" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUTF8Strlen</definition>
        <argsstring>(const xmlChar *utf)</argsstring>
        <name>xmlUTF8Strlen</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <briefdescription>
<para>compute the length of an UTF8 string, it doesn&apos;t do a full UTF8 checking of the content of the string. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>a sequence of UTF-8 encoded bytes </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the number of characters in the string or -1 in case of error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="129" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="770" bodyend="799" declfile="xmlstring.h" declline="129" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1ad8da39c12bb17338496818cf10e5b727" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUTF8Size</definition>
        <argsstring>(const xmlChar *utf)</argsstring>
        <name>xmlUTF8Size</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf</declname>
        </param>
        <briefdescription>
<para>calculates the internal size of a UTF8 character </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the UTF8 character </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the numbers of bytes in the character, -1 on format error </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="131" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="723" bodyend="742" declfile="xmlstring.h" declline="131" declcolumn="9"/>
      </memberdef>
      <memberdef kind="function" id="xmlstring_8h_1aaff53ac0767011815dc6fd1125d96e59" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int xmlUTF8Charcmp</definition>
        <argsstring>(const xmlChar *utf1, const xmlChar *utf2)</argsstring>
        <name>xmlUTF8Charcmp</name>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf1</declname>
        </param>
        <param>
          <type>const <ref refid="xmlstring_8h_1afb1489b546f7800463867523ffaee1d3" kindref="member">xmlChar</ref> *</type>
          <declname>utf2</declname>
        </param>
        <briefdescription>
<para>compares the two UCS4 values </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>utf1</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to first UTF8 char </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>utf2</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to second UTF8 char </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>result of the compare as with <ref refid="xmlstring_8h_1a7732b72ab4c03163e773fc1e4bf6653b" kindref="member">xmlStrncmp</ref> </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="xmlstring.h" line="133" column="9" bodyfile="/builds/GNOME/libxml2/xmlstring.c" bodystart="752" bodyend="760" declfile="xmlstring.h" declline="133" declcolumn="9"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>set of routines to process strings </para>
    </briefdescription>
    <detaileddescription>
<para>type and interfaces needed for the internal string handling of the library, especially UTF8 processing.</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="xmlstring.h"/>
  </compounddef>
</doxygen>
