libxml2 Reference Manual |
---|
dict - string dictionnary
dictionary of reusable strings, just used to avoid allocation and freeing operations.
Author(s): Daniel Veillard
typedef struct _xmlDict xmlDict; typedef xmlDict * xmlDictPtr; size_t xmlDictGetUsage (xmlDictPtr dict); int xmlDictReference (xmlDictPtr dict); void xmlDictCleanup (void); int xmlDictSize (xmlDictPtr dict); const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len); size_t xmlDictSetLimit (xmlDictPtr dict,
size_t limit); int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str); const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name); int xmlInitializeDict (void); xmlDictPtr xmlDictCreateSub (xmlDictPtr sub); void xmlDictFree (xmlDictPtr dict); const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len); xmlDictPtr xmlDictCreate (void);
struct _xmlDict { The content of this structure is not made public by the API. } xmlDict;
void xmlDictCleanup (void)
Free the dictionary mutex. Do not call unless sure the library is not in use anymore !
xmlDictPtr xmlDictCreate (void)
Create a new dictionary
Returns: | the newly created dictionnary, or NULL if an error occured. |
xmlDictPtr xmlDictCreateSub (xmlDictPtr sub)
Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.
sub: | an existing dictionnary |
Returns: | the newly created dictionnary, or NULL if an error occured. |
const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len)
Check if the @name exists in the dictionnary @dict.
dict: | the dictionnary |
name: | the name of the userdata |
len: | the length of the name, if -1 it is recomputed |
Returns: | the internal copy of the name or NULL if not found. |
void xmlDictFree (xmlDictPtr dict)
Free the hash @dict and its contents. The userdata is deallocated with @f if provided.
dict: | the dictionnary |
size_t xmlDictGetUsage (xmlDictPtr dict)
Get how much memory is used by a dictionary for strings Added in 2.9.0
dict: | the dictionnary |
Returns: | the amount of strings allocated |
const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len)
Add the @name to the dictionnary @dict if not present.
dict: | the dictionnary |
name: | the name of the userdata |
len: | the length of the name, if -1 it is recomputed |
Returns: | the internal copy of the name or NULL in case of internal error |
int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str)
check if a string is owned by the disctionary
dict: | the dictionnary |
str: | the string |
Returns: | 1 if true, 0 if false and -1 in case of error -1 in case of error |
const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name)
Add the QName @prefix:@name to the hash @dict if not present.
dict: | the dictionnary |
prefix: | the prefix |
name: | the name |
Returns: | the internal copy of the QName or NULL in case of internal error |
int xmlDictReference (xmlDictPtr dict)
Increment the reference counter of a dictionary
dict: | the dictionnary |
Returns: | 0 in case of success and -1 in case of error |
size_t xmlDictSetLimit (xmlDictPtr dict,
size_t limit)
Set a size limit for the dictionary Added in 2.9.0
dict: | the dictionnary |
limit: | the limit in bytes |
Returns: | the previous limit of the dictionary or 0 |
int xmlDictSize (xmlDictPtr dict)
Query the number of elements installed in the hash @dict.
dict: | the dictionnary |
Returns: | the number of elements in the dictionnary or -1 in case of error |
int xmlInitializeDict (void)
Do the dictionary mutex initialization. this function is not thread safe, initialization should preferably be done once at startup
Returns: | 0 if initialization was already done, and 1 if that call led to the initialization |