typedef struct _xmlHashTable | xmlHashTable |
typedef xmlHashTable * | xmlHashTablePtr |
typedef void(* | xmlHashDeallocator |
xmlHashDeallocator: Callback to free data from a hash.
typedef void *(* | xmlHashCopier |
xmlHashCopier: Callback to copy data from a hash.
Returns a copy of the data or NULL in case of error.
typedef void(* | xmlHashScanner |
xmlHashScanner: Callback when scanning data in a hash with the simple scanner.
typedef void(* | xmlHashScannerFull |
xmlHashScannerFull: Callback when scanning data in a hash with the full scanner.
XMLPUBFUN xmlHashTablePtr XMLCALL | xmlHashCreate | ( | int | size | ) |
xmlHashCreate: Create a new xmlHashTablePtr.
Returns the newly created object, or NULL if an error occured.
OOM: possible --> returns NULL, OOM flag is set
Parameters | |
---|---|
size | the size of the hash table |
XMLPUBFUN void XMLCALL | xmlHashFree | ( | xmlHashTablePtr | table, |
xmlHashDeallocator | f | |||
) |
xmlHashFree: Free the hash table and its contents. The userdata is deallocated with f if provided.
OOM: never // same as argument 'f' has when f!=NULL
Parameters | |
---|---|
table | the hash table |
f | the deallocator function for items in the hash |
XMLPUBFUN int XMLCALL | xmlHashAddEntry | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
void * | userdata | |||
) |
xmlHashAddEntry: Add the userdata to the hash table. This can later be retrieved by using the name. Duplicate names generate errors.
Returns 0 the addition succeeded and -1 in case of error.
OOM: iif returns -1 and flag is set
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
userdata | a pointer to the userdata |
XMLPUBFUN int XMLCALL | xmlHashUpdateEntry | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
void * | userdata, | |||
xmlHashDeallocator | f | |||
) |
xmlHashUpdateEntry: Add the userdata to the hash table. This can later be retrieved by using the name. Existing entry for this name will be removed and freed with f if found.
Returns 0 the addition succeeded and -1 in case of error.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
userdata | a pointer to the userdata |
f | the deallocator function for replaced item (if any) |
XMLPUBFUN int XMLCALL | xmlHashAddEntry2 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
void * | userdata | |||
) |
xmlHashAddEntry2: Add the userdata to the hash table. This can later be retrieved by using the (name, name2) tuple. Duplicate tuples generate errors.
Returns 0 the addition succeeded and -1 in case of error.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
userdata | a pointer to the userdata |
XMLPUBFUN int XMLCALL | xmlHashUpdateEntry2 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
void * | userdata, | |||
xmlHashDeallocator | f | |||
) |
xmlHashUpdateEntry2: Add the userdata to the hash table. This can later be retrieved by using the (name, name2) tuple. Existing entry for this tuple will be removed and freed with f if found.
Returns 0 the addition succeeded and -1 in case of error.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
userdata | a pointer to the userdata |
f | the deallocator function for replaced item (if any) |
XMLPUBFUN int XMLCALL | xmlHashAddEntry3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3, | |||
void * | userdata | |||
) |
xmlHashAddEntry3: Add the userdata to the hash table. This can later be retrieved by using the tuple (name, name2, name3). Duplicate entries generate errors.
Returns 0 the addition succeeded and -1 in case of error.
OOM: iif returns -1 and flag is set
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
name3 | a third name of the userdata |
userdata | a pointer to the userdata |
XMLPUBFUN int XMLCALL | xmlHashUpdateEntry3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3, | |||
void * | userdata, | |||
xmlHashDeallocator | f | |||
) |
xmlHashUpdateEntry3: Add the userdata to the hash table. This can later be retrieved by using the tuple (name, name2, name3). Existing entry for this tuple will be removed and freed with f if found.
Returns 0 the addition succeeded and -1 in case of error.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
name3 | a third name of the userdata |
userdata | a pointer to the userdata |
f | the deallocator function for replaced item (if any) |
XMLPUBFUN int XMLCALL | xmlHashRemoveEntry | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
xmlHashDeallocator | f | |||
) |
xmlHashRemoveEntry: Find the userdata specified by the name and remove it from the hash table. Existing userdata for this tuple will be removed and freed with f.
Returns 0 if the removal succeeded and -1 in case of error or not found.
OOM: never / same as argument function 'f' has, if f!=NULL*
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
f | the deallocator function for removed item (if any) |
XMLPUBFUN int XMLCALL | xmlHashRemoveEntry2 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
xmlHashDeallocator | f | |||
) |
xmlHashRemoveEntry2: Find the userdata specified by the (name, name2) tuple and remove it from the hash table. Existing userdata for this tuple will be removed and freed with f.
Returns 0 if the removal succeeded and -1 in case of error or not found.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
f | the deallocator function for removed item (if any) |
XMLPUBFUN int XMLCALL | xmlHashRemoveEntry3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3, | |||
xmlHashDeallocator | f | |||
) |
xmlHashRemoveEntry3: Find the userdata specified by the (name, name2, name3) tuple and remove it from the hash table. Existing userdata for this tuple will be removed and freed with f.
Returns 0 if the removal succeeded and -1 in case of error or not found.
OOM: never / same as argument function 'f' has, if f!=NULL
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
name3 | a third name of the userdata |
f | the deallocator function for removed item (if any) |
XMLPUBFUN void *XMLCALL | xmlHashLookup | ( | xmlHashTablePtr | table, |
const xmlChar * | name | |||
) |
xmlHashLookup: Find the userdata specified by the name.
Returns the pointer to the userdata
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
XMLPUBFUN void *XMLCALL | xmlHashLookup2 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2 | |||
) |
xmlHashLookup2: Find the userdata specified by the (name, name2) tuple.
Returns the pointer to the userdata
OOM: never
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
XMLPUBFUN void *XMLCALL | xmlHashLookup3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3 | |||
) |
xmlHashLookup3: Find the userdata specified by the (name, name2, name3) tuple.
Returns the a pointer to the userdata
OOM: never
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
name2 | a second name of the userdata |
name3 | a third name of the userdata |
XMLPUBFUN void *XMLCALL | xmlHashQLookup | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | prefix | |||
) |
xmlHashQLookup: Find the userdata specified by the QName prefix:name/name.
Returns the pointer to the userdata
OOM: never
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
prefix | the prefix of the userdata |
XMLPUBFUN void *XMLCALL | xmlHashQLookup2 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | prefix, | |||
const xmlChar * | name2, | |||
const xmlChar * | prefix2 | |||
) |
xmlHashQLookup2: Find the userdata specified by the QNames tuple
Returns the pointer to the userdata
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
prefix | the prefix of the userdata |
name2 | a second name of the userdata |
prefix2 | the second prefix of the userdata |
XMLPUBFUN void *XMLCALL | xmlHashQLookup3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | prefix, | |||
const xmlChar * | name2, | |||
const xmlChar * | prefix2, | |||
const xmlChar * | name3, | |||
const xmlChar * | prefix3 | |||
) |
xmlHashQLookup3: Find the userdata specified by the (name, name2, name3) tuple.
Returns the a pointer to the userdata
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata |
prefix | the prefix of the userdata |
name2 | a second name of the userdata |
prefix2 | the second prefix of the userdata |
name3 | a third name of the userdata |
prefix3 | the third prefix of the userdata |
XMLPUBFUN xmlHashTablePtr XMLCALL | xmlHashCopy | ( | xmlHashTablePtr | table, |
xmlHashCopier | f | |||
) |
xmlHashCopy: Scan the hash table and applied f to each value.
Returns the new table or NULL in case of error.
OOM: possible --> returns NULL, OOM flag is set
Parameters | |
---|---|
table | the hash table |
f | the copier function for items in the hash |
XMLPUBFUN int XMLCALL | xmlHashSize | ( | xmlHashTablePtr | table | ) |
xmlHashSize: Query the number of elements installed in the hash table.
Returns the number of elements in the hash table or -1 in case of error
Parameters | |
---|---|
table | the hash table |
XMLPUBFUN void XMLCALL | xmlHashScan | ( | xmlHashTablePtr | table, |
xmlHashScanner | f, | |||
void * | data | |||
) |
xmlHashScan: Scan the hash table and applied f to each value.
Parameters | |
---|---|
table | the hash table |
f | the scanner function for items in the hash |
data | extra data passed to f |
XMLPUBFUN void XMLCALL | xmlHashScan3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3, | |||
xmlHashScanner | f, | |||
void * | data | |||
) |
xmlHashScan3: Scan the hash table and applied f to each value matching (name, name2, name3) tuple. If one of the names is null, the comparison is considered to match.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata or NULL |
name2 | a second name of the userdata or NULL |
name3 | a third name of the userdata or NULL |
f | the scanner function for items in the hash |
data | extra data passed to f |
XMLPUBFUN void XMLCALL | xmlHashScanFull | ( | xmlHashTablePtr | table, |
xmlHashScannerFull | f, | |||
void * | data | |||
) |
xmlHashScanFull: Scan the hash table and applied f to each value.
Parameters | |
---|---|
table | the hash table |
f | the scanner function for items in the hash |
data | extra data passed to f |
XMLPUBFUN void XMLCALL | xmlHashScanFull3 | ( | xmlHashTablePtr | table, |
const xmlChar * | name, | |||
const xmlChar * | name2, | |||
const xmlChar * | name3, | |||
xmlHashScannerFull | f, | |||
void * | data | |||
) |
xmlHashScanFull3: Scan the hash table and applied f to each value matching (name, name2, name3) tuple. If one of the names is null, the comparison is considered to match.
Parameters | |
---|---|
table | the hash table |
name | the name of the userdata or NULL |
name2 | a second name of the userdata or NULL |
name3 | a third name of the userdata or NULL |
f | the scanner function for items in the hash |
data | extra data passed to f |