libxml2 Reference Manual |
---|
dict - string dictionary
dictionary of reusable strings, just used to avoid allocation and freeing operations.
Author(s): Daniel Veillard
typedef struct _xmlDict xmlDict; typedef xmlDict * xmlDictPtr; void xmlDictCleanup (void); xmlDictPtr xmlDictCreate (void); xmlDictPtr xmlDictCreateSub (xmlDictPtr sub); const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len); void xmlDictFree (xmlDictPtr dict); size_t xmlDictGetUsage (xmlDictPtr dict); const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len); int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str); const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name); int xmlDictReference (xmlDictPtr dict); size_t xmlDictSetLimit (xmlDictPtr dict,
size_t limit); int xmlDictSize (xmlDictPtr dict); int xmlInitializeDict (void);
struct _xmlDict { The content of this structure is not made public by the API. } xmlDict;
void xmlDictCleanup (void)
DEPRECATED: This function is a no-op. Call xmlCleanupParser to free global state but see the warnings there. xmlCleanupParser should be only called once at program exit. In most cases, you don't have call cleanup functions at all.
xmlDictPtr xmlDictCreate (void)
Create a new dictionary
Returns: | the newly created dictionary, or NULL if an error occurred. |
xmlDictPtr xmlDictCreateSub (xmlDictPtr sub)
Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.
sub: | an existing dictionary |
Returns: | the newly created dictionary, or NULL if an error occurred. |
const xmlChar * xmlDictExists (xmlDictPtr dict,
const xmlChar * name,
int len)
Check if a string exists in the dictionary.
dict: | the dictionary |
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 dictionary |
size_t xmlDictGetUsage (xmlDictPtr dict)
Get how much memory is used by a dictionary for strings Added in 2.9.0
dict: | the dictionary |
Returns: | the amount of strings allocated |
const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len)
Lookup a string and add it to the dictionary if it wasn't found.
dict: | dictionary |
name: | string key |
len: | length of the key, if -1 it is recomputed |
Returns: | the interned copy of the string or NULL if a memory allocation failed. |
int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str)
check if a string is owned by the dictionary
dict: | the dictionary |
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)
Lookup the QName @prefix:@name and add it to the dictionary if it wasn't found.
dict: | the dictionary |
prefix: | the prefix |
name: | the name |
Returns: | the interned copy of the string or NULL if a memory allocation failed. |
int xmlDictReference (xmlDictPtr dict)
Increment the reference counter of a dictionary
dict: | the dictionary |
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 dictionary |
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 dictionary |
Returns: | the number of elements in the dictionary or -1 in case of error |