7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
10 TITLE="Gnome XML Library Reference Manual"
11 HREF="book1.html"><LINK
13 TITLE="Libxml Library Reference"
14 HREF="libxml-lib.html"><LINK
17 HREF="libxml-encoding.html"><LINK
20 HREF="libxml-debugxml.html"></HEAD
43 >Gnome XML Library Reference Manual</FONT
52 HREF="libxml-encoding.html"
57 ><<< Previous Page</B
90 HREF="libxml-lib.html"
106 HREF="libxml-debugxml.html"
111 >Next Page >>></B
120 NAME="LIBXML-HASH">hash</H1
128 >hash -- </DIV
130 CLASS="REFSYNOPSISDIV"
146 HREF="libxml-hash.html#XMLHASHTABLE"
150 HREF="libxml-hash.html#XMLHASHTABLEPTR"
154 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
155 >*xmlHashDeallocator</A
158 HREF="libxml-tree.html#XMLCHAR"
162 HREF="libxml-hash.html#XMLHASHCOPIER"
166 HREF="libxml-tree.html#XMLCHAR"
170 HREF="libxml-hash.html#XMLHASHSCANNER"
175 HREF="libxml-tree.html#XMLCHAR"
179 HREF="libxml-hash.html#XMLHASHSCANNERFULL"
180 >*xmlHashScannerFull</A
184 HREF="libxml-tree.html#XMLCHAR"
188 HREF="libxml-tree.html#XMLCHAR"
192 HREF="libxml-tree.html#XMLCHAR"
196 HREF="libxml-hash.html#XMLHASHTABLEPTR"
199 HREF="libxml-hash.html#XMLHASHCREATE"
203 HREF="libxml-hash.html#XMLHASHFREE"
206 HREF="libxml-hash.html#XMLHASHTABLEPTR"
210 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
211 >xmlHashDeallocator</A
214 HREF="libxml-hash.html#XMLHASHADDENTRY"
217 HREF="libxml-hash.html#XMLHASHTABLEPTR"
221 HREF="libxml-tree.html#XMLCHAR"
226 HREF="libxml-hash.html#XMLHASHUPDATEENTRY"
227 >xmlHashUpdateEntry</A
229 HREF="libxml-hash.html#XMLHASHTABLEPTR"
233 HREF="libxml-tree.html#XMLCHAR"
238 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
239 >xmlHashDeallocator</A
242 HREF="libxml-hash.html#XMLHASHADDENTRY2"
245 HREF="libxml-hash.html#XMLHASHTABLEPTR"
249 HREF="libxml-tree.html#XMLCHAR"
253 HREF="libxml-tree.html#XMLCHAR"
258 HREF="libxml-hash.html#XMLHASHUPDATEENTRY2"
259 >xmlHashUpdateEntry2</A
261 HREF="libxml-hash.html#XMLHASHTABLEPTR"
265 HREF="libxml-tree.html#XMLCHAR"
269 HREF="libxml-tree.html#XMLCHAR"
274 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
275 >xmlHashDeallocator</A
278 HREF="libxml-hash.html#XMLHASHADDENTRY3"
281 HREF="libxml-hash.html#XMLHASHTABLEPTR"
285 HREF="libxml-tree.html#XMLCHAR"
289 HREF="libxml-tree.html#XMLCHAR"
293 HREF="libxml-tree.html#XMLCHAR"
298 HREF="libxml-hash.html#XMLHASHUPDATEENTRY3"
299 >xmlHashUpdateEntry3</A
301 HREF="libxml-hash.html#XMLHASHTABLEPTR"
305 HREF="libxml-tree.html#XMLCHAR"
309 HREF="libxml-tree.html#XMLCHAR"
313 HREF="libxml-tree.html#XMLCHAR"
318 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
319 >xmlHashDeallocator</A
322 HREF="libxml-hash.html#XMLHASHREMOVEENTRY"
323 >xmlHashRemoveEntry</A
325 HREF="libxml-hash.html#XMLHASHTABLEPTR"
329 HREF="libxml-tree.html#XMLCHAR"
333 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
334 >xmlHashDeallocator</A
337 HREF="libxml-hash.html#XMLHASHREMOVEENTRY2"
338 >xmlHashRemoveEntry2</A
340 HREF="libxml-hash.html#XMLHASHTABLEPTR"
344 HREF="libxml-tree.html#XMLCHAR"
348 HREF="libxml-tree.html#XMLCHAR"
352 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
353 >xmlHashDeallocator</A
356 HREF="libxml-hash.html#XMLHASHREMOVEENTRY3"
357 >xmlHashRemoveEntry3</A
359 HREF="libxml-hash.html#XMLHASHTABLEPTR"
363 HREF="libxml-tree.html#XMLCHAR"
367 HREF="libxml-tree.html#XMLCHAR"
371 HREF="libxml-tree.html#XMLCHAR"
375 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
376 >xmlHashDeallocator</A
379 HREF="libxml-hash.html#XMLHASHLOOKUP"
382 HREF="libxml-hash.html#XMLHASHTABLEPTR"
386 HREF="libxml-tree.html#XMLCHAR"
390 HREF="libxml-hash.html#XMLHASHLOOKUP2"
393 HREF="libxml-hash.html#XMLHASHTABLEPTR"
397 HREF="libxml-tree.html#XMLCHAR"
401 HREF="libxml-tree.html#XMLCHAR"
405 HREF="libxml-hash.html#XMLHASHLOOKUP3"
408 HREF="libxml-hash.html#XMLHASHTABLEPTR"
412 HREF="libxml-tree.html#XMLCHAR"
416 HREF="libxml-tree.html#XMLCHAR"
420 HREF="libxml-tree.html#XMLCHAR"
424 HREF="libxml-hash.html#XMLHASHTABLEPTR"
427 HREF="libxml-hash.html#XMLHASHCOPY"
430 HREF="libxml-hash.html#XMLHASHTABLEPTR"
434 HREF="libxml-hash.html#XMLHASHCOPIER"
438 HREF="libxml-hash.html#XMLHASHSIZE"
441 HREF="libxml-hash.html#XMLHASHTABLEPTR"
445 HREF="libxml-hash.html#XMLHASHSCAN"
448 HREF="libxml-hash.html#XMLHASHTABLEPTR"
452 HREF="libxml-hash.html#XMLHASHSCANNER"
457 HREF="libxml-hash.html#XMLHASHSCAN3"
460 HREF="libxml-hash.html#XMLHASHTABLEPTR"
464 HREF="libxml-tree.html#XMLCHAR"
468 HREF="libxml-tree.html#XMLCHAR"
472 HREF="libxml-tree.html#XMLCHAR"
476 HREF="libxml-hash.html#XMLHASHSCANNER"
481 HREF="libxml-hash.html#XMLHASHSCANFULL"
484 HREF="libxml-hash.html#XMLHASHTABLEPTR"
488 HREF="libxml-hash.html#XMLHASHSCANNERFULL"
489 >xmlHashScannerFull</A
493 HREF="libxml-hash.html#XMLHASHSCANFULL3"
496 HREF="libxml-hash.html#XMLHASHTABLEPTR"
500 HREF="libxml-tree.html#XMLCHAR"
504 HREF="libxml-tree.html#XMLCHAR"
508 HREF="libxml-tree.html#XMLCHAR"
512 HREF="libxml-hash.html#XMLHASHSCANNERFULL"
513 >xmlHashScannerFull</A
546 >struct xmlHashTable</H3
555 CLASS="PROGRAMLISTING"
556 >struct xmlHashTable;</PRE
570 NAME="XMLHASHTABLEPTR"
581 CLASS="PROGRAMLISTING"
582 >typedef xmlHashTable *xmlHashTablePtr;</PRE
596 NAME="XMLHASHDEALLOCATOR"
598 >xmlHashDeallocator ()</H3
607 CLASS="PROGRAMLISTING"
608 >void (*xmlHashDeallocator) (void *payload,
610 HREF="libxml-tree.html#XMLCHAR"
617 >Callback to free data from a hash.</P
621 CLASS="INFORMALTABLE"
648 > the data in the hash</TD
665 > the name associated</TD
682 >xmlHashCopier ()</H3
691 CLASS="PROGRAMLISTING"
692 >void* (*xmlHashCopier) (void *payload,
694 HREF="libxml-tree.html#XMLCHAR"
701 >Callback to copy data from a hash.</P
705 CLASS="INFORMALTABLE"
732 > the data in the hash</TD
749 > the name associated</TD
764 NAME="XMLHASHSCANNER"
766 >xmlHashScanner ()</H3
775 CLASS="PROGRAMLISTING"
776 >void (*xmlHashScanner) (void *payload,
779 HREF="libxml-tree.html#XMLCHAR"
786 >Callback when scanning data in a hash with the simple scanner.</P
790 CLASS="INFORMALTABLE"
817 > the data in the hash</TD
834 > extra scannner data</TD
851 > the name associated</TD
866 NAME="XMLHASHSCANNERFULL"
868 >xmlHashScannerFull ()</H3
877 CLASS="PROGRAMLISTING"
878 >void (*xmlHashScannerFull) (void *payload,
881 HREF="libxml-tree.html#XMLCHAR"
885 HREF="libxml-tree.html#XMLCHAR"
889 HREF="libxml-tree.html#XMLCHAR"
896 >Callback when scanning data in a hash with the full scanner.</P
900 CLASS="INFORMALTABLE"
927 > the data in the hash</TD
944 > extra scannner data</TD
961 > the name associated</TD
978 > the second name associated</TD
995 > the third name associated</TD
1010 NAME="XMLHASHCREATE"
1012 >xmlHashCreate ()</H3
1021 CLASS="PROGRAMLISTING"
1023 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1025 > xmlHashCreate (int size);</PRE
1030 >Create a new xmlHashTablePtr.</P
1034 CLASS="INFORMALTABLE"
1061 > the size of the hash table</TD
1079 >the newly created object, or NULL if an error occured.</TD
1105 CLASS="PROGRAMLISTING"
1106 >void xmlHashFree (<A
1107 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1111 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
1112 >xmlHashDeallocator</A
1123 > and its contents. The userdata is
1124 deallocated with <TT
1133 CLASS="INFORMALTABLE"
1160 > the hash table</TD
1177 > the deallocator function for items in the hash</TD
1192 NAME="XMLHASHADDENTRY"
1194 >xmlHashAddEntry ()</H3
1203 CLASS="PROGRAMLISTING"
1204 >int xmlHashAddEntry (<A
1205 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1209 HREF="libxml-tree.html#XMLCHAR"
1212 void *userdata);</PRE
1227 >. This can later be retrieved
1233 >. Duplicate names generate errors.</P
1237 CLASS="INFORMALTABLE"
1264 > the hash table</TD
1281 > the name of the userdata</TD
1298 > a pointer to the userdata</TD
1316 >0 the addition succeeded and -1 in case of error.</TD
1331 NAME="XMLHASHUPDATEENTRY"
1333 >xmlHashUpdateEntry ()</H3
1342 CLASS="PROGRAMLISTING"
1343 >int xmlHashUpdateEntry (<A
1344 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1348 HREF="libxml-tree.html#XMLCHAR"
1353 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
1354 >xmlHashDeallocator</A
1370 >. This can later be retrieved
1376 >. Existing entry for this <TT
1391 CLASS="INFORMALTABLE"
1418 > the hash table</TD
1435 > the name of the userdata</TD
1452 > a pointer to the userdata</TD
1469 > the deallocator function for replaced item (if any)</TD
1487 >0 the addition succeeded and -1 in case of error.</TD
1502 NAME="XMLHASHADDENTRY2"
1504 >xmlHashAddEntry2 ()</H3
1513 CLASS="PROGRAMLISTING"
1514 >int xmlHashAddEntry2 (<A
1515 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1519 HREF="libxml-tree.html#XMLCHAR"
1523 HREF="libxml-tree.html#XMLCHAR"
1526 void *userdata);</PRE
1541 >. This can later be retrieved
1552 >) tuple. Duplicate tuples generate errors.</P
1556 CLASS="INFORMALTABLE"
1583 > the hash table</TD
1600 > the name of the userdata</TD
1617 > a second name of the userdata</TD
1634 > a pointer to the userdata</TD
1652 >0 the addition succeeded and -1 in case of error.</TD
1667 NAME="XMLHASHUPDATEENTRY2"
1669 >xmlHashUpdateEntry2 ()</H3
1678 CLASS="PROGRAMLISTING"
1679 >int xmlHashUpdateEntry2 (<A
1680 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1684 HREF="libxml-tree.html#XMLCHAR"
1688 HREF="libxml-tree.html#XMLCHAR"
1693 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
1694 >xmlHashDeallocator</A
1710 >. This can later be retrieved
1721 >) tuple. Existing entry for this tuple will
1722 be removed and freed with <TT
1731 CLASS="INFORMALTABLE"
1758 > the hash table</TD
1775 > the name of the userdata</TD
1792 > a second name of the userdata</TD
1809 > a pointer to the userdata</TD
1826 > the deallocator function for replaced item (if any)</TD
1844 >0 the addition succeeded and -1 in case of error.</TD
1859 NAME="XMLHASHADDENTRY3"
1861 >xmlHashAddEntry3 ()</H3
1870 CLASS="PROGRAMLISTING"
1871 >int xmlHashAddEntry3 (<A
1872 HREF="libxml-hash.html#XMLHASHTABLEPTR"
1876 HREF="libxml-tree.html#XMLCHAR"
1880 HREF="libxml-tree.html#XMLCHAR"
1884 HREF="libxml-tree.html#XMLCHAR"
1887 void *userdata);</PRE
1902 >. This can later be retrieved
1903 by using the tuple (<TT
1918 >). Duplicate entries generate
1923 CLASS="INFORMALTABLE"
1950 > the hash table</TD
1967 > the name of the userdata</TD
1984 > a second name of the userdata</TD
2001 > a third name of the userdata</TD
2018 > a pointer to the userdata</TD
2036 >0 the addition succeeded and -1 in case of error.</TD
2051 NAME="XMLHASHUPDATEENTRY3"
2053 >xmlHashUpdateEntry3 ()</H3
2062 CLASS="PROGRAMLISTING"
2063 >int xmlHashUpdateEntry3 (<A
2064 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2068 HREF="libxml-tree.html#XMLCHAR"
2072 HREF="libxml-tree.html#XMLCHAR"
2076 HREF="libxml-tree.html#XMLCHAR"
2081 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
2082 >xmlHashDeallocator</A
2098 >. This can later be retrieved
2099 by using the tuple (<TT
2114 >). Existing entry for this tuple
2115 will be removed and freed with <TT
2124 CLASS="INFORMALTABLE"
2151 > the hash table</TD
2168 > the name of the userdata</TD
2185 > a second name of the userdata</TD
2202 > a third name of the userdata</TD
2219 > a pointer to the userdata</TD
2236 > the deallocator function for replaced item (if any)</TD
2254 >0 the addition succeeded and -1 in case of error.</TD
2269 NAME="XMLHASHREMOVEENTRY"
2271 >xmlHashRemoveEntry ()</H3
2280 CLASS="PROGRAMLISTING"
2281 >int xmlHashRemoveEntry (<A
2282 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2286 HREF="libxml-tree.html#XMLCHAR"
2290 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
2291 >xmlHashDeallocator</A
2297 >Find the userdata specified by the <TT
2303 it from the hash <TT
2308 >. Existing userdata for this tuple will be removed
2318 CLASS="INFORMALTABLE"
2345 > the hash table</TD
2362 > the name of the userdata</TD
2379 > the deallocator function for removed item (if any)</TD
2397 >0 if the removal succeeded and -1 in case of error or not found.</TD
2412 NAME="XMLHASHREMOVEENTRY2"
2414 >xmlHashRemoveEntry2 ()</H3
2423 CLASS="PROGRAMLISTING"
2424 >int xmlHashRemoveEntry2 (<A
2425 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2429 HREF="libxml-tree.html#XMLCHAR"
2433 HREF="libxml-tree.html#XMLCHAR"
2437 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
2438 >xmlHashDeallocator</A
2444 >Find the userdata specified by the (<TT
2455 it from the hash <TT
2460 >. Existing userdata for this tuple will be removed
2470 CLASS="INFORMALTABLE"
2497 > the hash table</TD
2514 > the name of the userdata</TD
2531 > a second name of the userdata</TD
2548 > the deallocator function for removed item (if any)</TD
2566 >0 if the removal succeeded and -1 in case of error or not found.</TD
2581 NAME="XMLHASHREMOVEENTRY3"
2583 >xmlHashRemoveEntry3 ()</H3
2592 CLASS="PROGRAMLISTING"
2593 >int xmlHashRemoveEntry3 (<A
2594 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2598 HREF="libxml-tree.html#XMLCHAR"
2602 HREF="libxml-tree.html#XMLCHAR"
2606 HREF="libxml-tree.html#XMLCHAR"
2610 HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
2611 >xmlHashDeallocator</A
2617 >Find the userdata specified by the (<TT
2633 it from the hash <TT
2638 >. Existing userdata for this tuple will be removed
2648 CLASS="INFORMALTABLE"
2675 > the hash table</TD
2692 > the name of the userdata</TD
2709 > a second name of the userdata</TD
2726 > a third name of the userdata</TD
2743 > the deallocator function for removed item (if any)</TD
2761 >0 if the removal succeeded and -1 in case of error or not found.</TD
2776 NAME="XMLHASHLOOKUP"
2778 >xmlHashLookup ()</H3
2787 CLASS="PROGRAMLISTING"
2788 >void* xmlHashLookup (<A
2789 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2793 HREF="libxml-tree.html#XMLCHAR"
2800 >Find the userdata specified by the <TT
2809 CLASS="INFORMALTABLE"
2836 > the hash table</TD
2853 > the name of the userdata</TD
2868 NAME="XMLHASHLOOKUP2"
2870 >xmlHashLookup2 ()</H3
2879 CLASS="PROGRAMLISTING"
2880 >void* xmlHashLookup2 (<A
2881 HREF="libxml-hash.html#XMLHASHTABLEPTR"
2885 HREF="libxml-tree.html#XMLCHAR"
2889 HREF="libxml-tree.html#XMLCHAR"
2896 >Find the userdata specified by the (<TT
2910 CLASS="INFORMALTABLE"
2937 > the hash table</TD
2954 > the name of the userdata</TD
2971 > a second name of the userdata</TD
2986 NAME="XMLHASHLOOKUP3"
2988 >xmlHashLookup3 ()</H3
2997 CLASS="PROGRAMLISTING"
2998 >void* xmlHashLookup3 (<A
2999 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3003 HREF="libxml-tree.html#XMLCHAR"
3007 HREF="libxml-tree.html#XMLCHAR"
3011 HREF="libxml-tree.html#XMLCHAR"
3018 >Find the userdata specified by the (<TT
3037 CLASS="INFORMALTABLE"
3064 > the hash table</TD
3081 > the name of the userdata</TD
3098 > a second name of the userdata</TD
3115 > a third name of the userdata</TD
3141 CLASS="PROGRAMLISTING"
3143 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3146 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3150 HREF="libxml-hash.html#XMLHASHCOPIER"
3171 CLASS="INFORMALTABLE"
3198 > the hash table</TD
3215 > the copier function for items in the hash</TD
3233 >the new table or NULL in case of error.</TD
3259 CLASS="PROGRAMLISTING"
3260 >int xmlHashSize (<A
3261 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3268 >Query the number of elements installed in the hash <TT
3277 CLASS="INFORMALTABLE"
3304 > the hash table</TD
3322 >the number of elements in the hash table or
3323 -1 in case of error</TD
3349 CLASS="PROGRAMLISTING"
3350 >void xmlHashScan (<A
3351 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3355 HREF="libxml-hash.html#XMLHASHSCANNER"
3377 CLASS="INFORMALTABLE"
3404 > the hash table</TD
3421 > the scanner function for items in the hash</TD
3438 > extra data passed to f</TD
3455 >xmlHashScan3 ()</H3
3464 CLASS="PROGRAMLISTING"
3465 >void xmlHashScan3 (<A
3466 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3470 HREF="libxml-tree.html#XMLCHAR"
3474 HREF="libxml-tree.html#XMLCHAR"
3478 HREF="libxml-tree.html#XMLCHAR"
3482 HREF="libxml-hash.html#XMLHASHSCANNER"
3500 > to each value matching
3516 >) tuple. If one of the names is null,
3517 the comparison is considered to match.</P
3521 CLASS="INFORMALTABLE"
3548 > the hash table</TD
3565 > the name of the userdata or NULL</TD
3582 > a second name of the userdata or NULL</TD
3599 > a third name of the userdata or NULL</TD
3616 > the scanner function for items in the hash</TD
3633 > extra data passed to f</TD
3648 NAME="XMLHASHSCANFULL"
3650 >xmlHashScanFull ()</H3
3659 CLASS="PROGRAMLISTING"
3660 >void xmlHashScanFull (<A
3661 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3665 HREF="libxml-hash.html#XMLHASHSCANNERFULL"
3666 >xmlHashScannerFull</A
3687 CLASS="INFORMALTABLE"
3714 > the hash table</TD
3731 > the scanner function for items in the hash</TD
3748 > extra data passed to f</TD
3763 NAME="XMLHASHSCANFULL3"
3765 >xmlHashScanFull3 ()</H3
3774 CLASS="PROGRAMLISTING"
3775 >void xmlHashScanFull3 (<A
3776 HREF="libxml-hash.html#XMLHASHTABLEPTR"
3780 HREF="libxml-tree.html#XMLCHAR"
3784 HREF="libxml-tree.html#XMLCHAR"
3788 HREF="libxml-tree.html#XMLCHAR"
3792 HREF="libxml-hash.html#XMLHASHSCANNERFULL"
3793 >xmlHashScannerFull</A
3810 > to each value matching
3826 >) tuple. If one of the names is null,
3827 the comparison is considered to match.</P
3831 CLASS="INFORMALTABLE"
3858 > the hash table</TD
3875 > the name of the userdata or NULL</TD
3892 > a second name of the userdata or NULL</TD
3909 > a third name of the userdata or NULL</TD
3926 > the scanner function for items in the hash</TD
3943 > extra data passed to f</TD
3955 CLEAR="all"><BR><TABLE
3967 HREF="libxml-encoding.html"
3972 ><<< Previous Page</B
4005 HREF="libxml-lib.html"
4021 HREF="libxml-debugxml.html"
4026 >Next Page >>></B