blob: 66b4afe957f3a92885a02098c9a8d22851258060 [file] [log] [blame]
<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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-HASH"
>hash</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN24411"
></A
><H2
>Name</H2
>hash&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN24414"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
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="AEN24512"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN24515"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN24517"
></A
><H3
><A
NAME="XMLHASHTABLE"
></A
>&#62;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="AEN24522"
></A
><H3
><A
NAME="XMLHASHTABLEPTR"
></A
>&#62;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="AEN24527"
></A
><H3
><A
NAME="XMLHASHDEALLOCATOR"
></A
>&#62;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="AEN24534"
></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
>&nbsp;:</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
>&nbsp;:</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="AEN24547"
></A
><H3
><A
NAME="XMLHASHCOPIER"
></A
>&#62;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="AEN24554"
></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
>&nbsp;:</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
>&nbsp;:</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="AEN24567"
></A
><H3
><A
NAME="XMLHASHSCANNER"
></A
>&#62;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="AEN24574"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24591"
></A
><H3
><A
NAME="XMLHASHSCANNERFULL"
></A
>&#62;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="AEN24600"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24625"
></A
><H3
><A
NAME="XMLHASHCREATE"
></A
>&#62;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="AEN24632"
></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
>&nbsp;:</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="AEN24645"
></A
><H3
><A
NAME="XMLHASHFREE"
></A
>&#62;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="AEN24655"
></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
>&nbsp;:</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
>&nbsp;:</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="AEN24668"
></A
><H3
><A
NAME="XMLHASHADDENTRY"
></A
>&#62;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="AEN24679"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24700"
></A
><H3
><A
NAME="XMLHASHUPDATEENTRY"
></A
>&#62;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="AEN24714"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24739"
></A
><H3
><A
NAME="XMLHASHADDENTRY2"
></A
>&#62;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="AEN24752"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24777"
></A
><H3
><A
NAME="XMLHASHUPDATEENTRY2"
></A
>&#62;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="AEN24792"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24821"
></A
><H3
><A
NAME="XMLHASHADDENTRY3"
></A
>&#62;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="AEN24836"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24865"
></A
><H3
><A
NAME="XMLHASHUPDATEENTRY3"
></A
>&#62;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="AEN24882"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24915"
></A
><H3
><A
NAME="XMLHASHREMOVEENTRY"
></A
>&#62;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="AEN24927"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24948"
></A
><H3
><A
NAME="XMLHASHREMOVEENTRY2"
></A
>&#62;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="AEN24962"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN24987"
></A
><H3
><A
NAME="XMLHASHREMOVEENTRY3"
></A
>&#62;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="AEN25003"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25032"
></A
><H3
><A
NAME="XMLHASHLOOKUP"
></A
>&#62;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="AEN25041"
></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
>&nbsp;:</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
>&nbsp;:</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="AEN25054"
></A
><H3
><A
NAME="XMLHASHLOOKUP2"
></A
>&#62;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="AEN25065"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25082"
></A
><H3
><A
NAME="XMLHASHLOOKUP3"
></A
>&#62;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="AEN25095"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25116"
></A
><H3
><A
NAME="XMLHASHCOPY"
></A
>&#62;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="AEN25127"
></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
>&nbsp;:</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
>&nbsp;:</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="AEN25144"
></A
><H3
><A
NAME="XMLHASHSIZE"
></A
>&#62;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="AEN25152"
></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
>&nbsp;:</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="AEN25165"
></A
><H3
><A
NAME="XMLHASHSCAN"
></A
>&#62;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="AEN25175"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25192"
></A
><H3
><A
NAME="XMLHASHSCAN3"
></A
>&#62;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="AEN25208"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25237"
></A
><H3
><A
NAME="XMLHASHSCANFULL"
></A
>&#62;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="AEN25247"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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="AEN25264"
></A
><H3
><A
NAME="XMLHASHSCANFULL3"
></A
>&#62;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="AEN25280"
></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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&nbsp;:</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
>&#60;&#60;&#60; 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 &#62;&#62;&#62;</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
>