<HTML ><HEAD ><TITLE >hash</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><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</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN24574" ></A ><H2 >Name</H2 >hash -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN24577" ></A ><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="AEN24675" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN24678" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN24680" ></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="AEN24685" ></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="AEN24690" ></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="AEN24697" ></A ><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="AEN24710" ></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="AEN24717" ></A ><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="AEN24730" ></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="AEN24737" ></A ><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="AEN24754" ></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="AEN24763" ></A ><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="AEN24788" ></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="AEN24795" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN24808" ></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="AEN24818" ></A ><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="AEN24831" ></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="AEN24842" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN24863" ></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="AEN24877" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN24902" ></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="AEN24915" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN24940" ></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="AEN24955" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN24984" ></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="AEN24999" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25028" ></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="AEN25045" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25078" ></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="AEN25090" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25111" ></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="AEN25125" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25150" ></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="AEN25166" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25195" ></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="AEN25204" ></A ><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="AEN25217" ></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="AEN25228" ></A ><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="AEN25245" ></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="AEN25258" ></A ><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="AEN25279" ></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="AEN25290" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25307" ></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="AEN25315" ></A ><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" ><I CLASS="EMPHASIS" >Returns</I > :</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="AEN25328" ></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="AEN25338" ></A ><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="AEN25355" ></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="AEN25371" ></A ><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="AEN25400" ></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="AEN25410" ></A ><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="AEN25427" ></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="AEN25443" ></A ><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 >