<HTML ><HEAD ><TITLE >hash</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="Gnome XML Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Libxml Library Reference" HREF="libxml-lib.html"><LINK REL="PREVIOUS" TITLE="encoding" HREF="libxml-encoding.html"><LINK REL="NEXT" TITLE="debugXML" HREF="libxml-debugxml.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gnome XML Library Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-encoding.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-debugxml.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="LIBXML-HASH">hash</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN25507" ></A ><H2 >Name</H2 >hash -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN25510"><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > struct <A HREF="libxml-hash.html#XMLHASHTABLE" >xmlHashTable</A >; typedef <A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A >; void (<A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >*xmlHashDeallocator</A >) (void *payload, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); void* (<A HREF="libxml-hash.html#XMLHASHCOPIER" >*xmlHashCopier</A >) (void *payload, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); void (<A HREF="libxml-hash.html#XMLHASHSCANNER" >*xmlHashScanner</A >) (void *payload, void *data, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); void (<A HREF="libxml-hash.html#XMLHASHSCANNERFULL" >*xmlHashScannerFull</A >) (void *payload, void *data, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3); <A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > <A HREF="libxml-hash.html#XMLHASHCREATE" >xmlHashCreate</A > (int size); void <A HREF="libxml-hash.html#XMLHASHFREE" >xmlHashFree</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHADDENTRY" >xmlHashAddEntry</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, void *userdata); int <A HREF="libxml-hash.html#XMLHASHUPDATEENTRY" >xmlHashUpdateEntry</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHADDENTRY2" >xmlHashAddEntry2</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, void *userdata); int <A HREF="libxml-hash.html#XMLHASHUPDATEENTRY2" >xmlHashUpdateEntry2</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHADDENTRY3" >xmlHashAddEntry3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, void *userdata); int <A HREF="libxml-hash.html#XMLHASHUPDATEENTRY3" >xmlHashUpdateEntry3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHREMOVEENTRY" >xmlHashRemoveEntry</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHREMOVEENTRY2" >xmlHashRemoveEntry2</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); int <A HREF="libxml-hash.html#XMLHASHREMOVEENTRY3" >xmlHashRemoveEntry3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f); void* <A HREF="libxml-hash.html#XMLHASHLOOKUP" >xmlHashLookup</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name); void* <A HREF="libxml-hash.html#XMLHASHLOOKUP2" >xmlHashLookup2</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2); void* <A HREF="libxml-hash.html#XMLHASHLOOKUP3" >xmlHashLookup3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3); <A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > <A HREF="libxml-hash.html#XMLHASHCOPY" >xmlHashCopy</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHCOPIER" >xmlHashCopier</A > f); int <A HREF="libxml-hash.html#XMLHASHSIZE" >xmlHashSize</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table); void <A HREF="libxml-hash.html#XMLHASHSCAN" >xmlHashScan</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHSCANNER" >xmlHashScanner</A > f, void *data); void <A HREF="libxml-hash.html#XMLHASHSCAN3" >xmlHashScan3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHSCANNER" >xmlHashScanner</A > f, void *data); void <A HREF="libxml-hash.html#XMLHASHSCANFULL" >xmlHashScanFull</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHSCANNERFULL" >xmlHashScannerFull</A > f, void *data); void <A HREF="libxml-hash.html#XMLHASHSCANFULL3" >xmlHashScanFull3</A > (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHSCANNERFULL" >xmlHashScannerFull</A > f, void *data);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN25608" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN25611" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN25613" ></A ><H3 ><A NAME="XMLHASHTABLE" ></A >struct xmlHashTable</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct xmlHashTable;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25618" ></A ><H3 ><A NAME="XMLHASHTABLEPTR" ></A >xmlHashTablePtr</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef xmlHashTable *xmlHashTablePtr;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25623" ></A ><H3 ><A NAME="XMLHASHDEALLOCATOR" ></A >xmlHashDeallocator ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*xmlHashDeallocator) (void *payload, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Callback to free data from a hash.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25630"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >payload</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the data in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name associated</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25643" ></A ><H3 ><A NAME="XMLHASHCOPIER" ></A >xmlHashCopier ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void* (*xmlHashCopier) (void *payload, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Callback to copy data from a hash.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25650"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >payload</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the data in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name associated</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25663" ></A ><H3 ><A NAME="XMLHASHSCANNER" ></A >xmlHashScanner ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*xmlHashScanner) (void *payload, void *data, <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Callback when scanning data in a hash with the simple scanner.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25670"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >payload</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the data in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra scannner data</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name associated</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25687" ></A ><H3 ><A NAME="XMLHASHSCANNERFULL" ></A >xmlHashScannerFull ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*xmlHashScannerFull) (void *payload, void *data, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3);</PRE ></TD ></TR ></TABLE ><P >Callback when scanning data in a hash with the full scanner.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25696"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >payload</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the data in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra scannner data</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name associated</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the second name associated</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the third name associated</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25721" ></A ><H3 ><A NAME="XMLHASHCREATE" ></A >xmlHashCreate ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > xmlHashCreate (int size);</PRE ></TD ></TR ></TABLE ><P >Create a new xmlHashTablePtr.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25728"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >size</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the size of the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the newly created object, or NULL if an error occured.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25741" ></A ><H3 ><A NAME="XMLHASHFREE" ></A >xmlHashFree ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlHashFree (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Free the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and its contents. The userdata is deallocated with <TT CLASS="PARAMETER" ><I >f</I ></TT > if provided.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25751"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for items in the hash</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25764" ></A ><H3 ><A NAME="XMLHASHADDENTRY" ></A >xmlHashAddEntry ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashAddEntry (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, void *userdata);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the <TT CLASS="PARAMETER" ><I >name</I ></TT >. Duplicate names generate errors.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25775"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25796" ></A ><H3 ><A NAME="XMLHASHUPDATEENTRY" ></A >xmlHashUpdateEntry ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashUpdateEntry (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the <TT CLASS="PARAMETER" ><I >name</I ></TT >. Existing entry for this <TT CLASS="PARAMETER" ><I >name</I ></TT > will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT > if found.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25810"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for replaced item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25835" ></A ><H3 ><A NAME="XMLHASHADDENTRY2" ></A >xmlHashAddEntry2 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashAddEntry2 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, void *userdata);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >) tuple. Duplicate tuples generate errors.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25848"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25873" ></A ><H3 ><A NAME="XMLHASHUPDATEENTRY2" ></A >xmlHashUpdateEntry2 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashUpdateEntry2 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >) tuple. Existing entry for this tuple will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT > if found.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25888"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for replaced item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25917" ></A ><H3 ><A NAME="XMLHASHADDENTRY3" ></A >xmlHashAddEntry3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashAddEntry3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, void *userdata);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the tuple (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >). Duplicate entries generate errors.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25932"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN25961" ></A ><H3 ><A NAME="XMLHASHUPDATEENTRY3" ></A >xmlHashUpdateEntry3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashUpdateEntry3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, void *userdata, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Add the <TT CLASS="PARAMETER" ><I >userdata</I ></TT > to the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. This can later be retrieved by using the tuple (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >). Existing entry for this tuple will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT > if found.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN25978"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >userdata</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a pointer to the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for replaced item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 the addition succeeded and -1 in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26011" ></A ><H3 ><A NAME="XMLHASHREMOVEENTRY" ></A >xmlHashRemoveEntry ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashRemoveEntry (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the <TT CLASS="PARAMETER" ><I >name</I ></TT > and remove it from the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. Existing userdata for this tuple will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26023"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for removed item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 if the removal succeeded and -1 in case of error or not found.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26044" ></A ><H3 ><A NAME="XMLHASHREMOVEENTRY2" ></A >xmlHashRemoveEntry2 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashRemoveEntry2 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >) tuple and remove it from the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. Existing userdata for this tuple will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26058"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for removed item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 if the removal succeeded and -1 in case of error or not found.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26083" ></A ><H3 ><A NAME="XMLHASHREMOVEENTRY3" ></A >xmlHashRemoveEntry3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashRemoveEntry3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHDEALLOCATOR" >xmlHashDeallocator</A > f);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >) tuple and remove it from the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >. Existing userdata for this tuple will be removed and freed with <TT CLASS="PARAMETER" ><I >f</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26099"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the deallocator function for removed item (if any)</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >0 if the removal succeeded and -1 in case of error or not found.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26128" ></A ><H3 ><A NAME="XMLHASHLOOKUP" ></A >xmlHashLookup ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void* xmlHashLookup (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the <TT CLASS="PARAMETER" ><I >name</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26137"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26150" ></A ><H3 ><A NAME="XMLHASHLOOKUP2" ></A >xmlHashLookup2 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void* xmlHashLookup2 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >) tuple.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26161"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26178" ></A ><H3 ><A NAME="XMLHASHLOOKUP3" ></A >xmlHashLookup3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void* xmlHashLookup3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3);</PRE ></TD ></TR ></TABLE ><P >Find the userdata specified by the (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >) tuple.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26191"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26212" ></A ><H3 ><A NAME="XMLHASHCOPY" ></A >xmlHashCopy ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > xmlHashCopy (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHCOPIER" >xmlHashCopier</A > f);</PRE ></TD ></TR ></TABLE ><P >Scan the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and applied <TT CLASS="PARAMETER" ><I >f</I ></TT > to each value.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26223"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the copier function for items in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the new table or NULL in case of error.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26240" ></A ><H3 ><A NAME="XMLHASHSIZE" ></A >xmlHashSize ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int xmlHashSize (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table);</PRE ></TD ></TR ></TABLE ><P >Query the number of elements installed in the hash <TT CLASS="PARAMETER" ><I >table</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26248"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the number of elements in the hash table or -1 in case of error</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26261" ></A ><H3 ><A NAME="XMLHASHSCAN" ></A >xmlHashScan ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlHashScan (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHSCANNER" >xmlHashScanner</A > f, void *data);</PRE ></TD ></TR ></TABLE ><P >Scan the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and applied <TT CLASS="PARAMETER" ><I >f</I ></TT > to each value.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26271"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the scanner function for items in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra data passed to f</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26288" ></A ><H3 ><A NAME="XMLHASHSCAN3" ></A >xmlHashScan3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlHashScan3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHSCANNER" >xmlHashScanner</A > f, void *data);</PRE ></TD ></TR ></TABLE ><P >Scan the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and applied <TT CLASS="PARAMETER" ><I >f</I ></TT > to each value matching (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >) tuple. If one of the names is null, the comparison is considered to match.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26304"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the scanner function for items in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra data passed to f</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26333" ></A ><H3 ><A NAME="XMLHASHSCANFULL" ></A >xmlHashScanFull ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlHashScanFull (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, <A HREF="libxml-hash.html#XMLHASHSCANNERFULL" >xmlHashScannerFull</A > f, void *data);</PRE ></TD ></TR ></TABLE ><P >Scan the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and applied <TT CLASS="PARAMETER" ><I >f</I ></TT > to each value.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26343"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the scanner function for items in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra data passed to f</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN26360" ></A ><H3 ><A NAME="XMLHASHSCANFULL3" ></A >xmlHashScanFull3 ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void xmlHashScanFull3 (<A HREF="libxml-hash.html#XMLHASHTABLEPTR" >xmlHashTablePtr</A > table, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name2, const <A HREF="libxml-tree.html#XMLCHAR" >xmlChar</A > *name3, <A HREF="libxml-hash.html#XMLHASHSCANNERFULL" >xmlHashScannerFull</A > f, void *data);</PRE ></TD ></TR ></TABLE ><P >Scan the hash <TT CLASS="PARAMETER" ><I >table</I ></TT > and applied <TT CLASS="PARAMETER" ><I >f</I ></TT > to each value matching (<TT CLASS="PARAMETER" ><I >name</I ></TT >, <TT CLASS="PARAMETER" ><I >name2</I ></TT >, <TT CLASS="PARAMETER" ><I >name3</I ></TT >) tuple. If one of the names is null, the comparison is considered to match.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN26376"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >table</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the hash table</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name2</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a second name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name3</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a third name of the userdata or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >f</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the scanner function for items in the hash</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > extra data passed to f</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libxml-encoding.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="libxml-lib.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libxml-debugxml.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >encoding</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >debugXML</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >