liyujie
2025-08-28 867b8b7b729282c7e14e200ca277435329ebe747
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
 * Summary: string dictionary
 * Description: dictionary of reusable strings, just used to avoid allocation
 *         and freeing operations.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */
 
#ifndef __XML_DICT_H__
#define __XML_DICT_H__
 
#ifdef __cplusplus
#define __XML_EXTERNC    extern "C"
#else
#define __XML_EXTERNC
#endif
 
/*
 * The dictionary.
 */
__XML_EXTERNC typedef struct _xmlDict xmlDict;
__XML_EXTERNC typedef xmlDict *xmlDictPtr;
 
#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
 
#ifdef __cplusplus
extern "C" {
#endif
 
/*
 * Initializer
 */
XMLPUBFUN int XMLCALL  xmlInitializeDict(void);
 
/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlDictPtr XMLCALL
           xmlDictCreate    (void);
XMLPUBFUN size_t XMLCALL
           xmlDictSetLimit    (xmlDictPtr dict,
                                         size_t limit);
XMLPUBFUN size_t XMLCALL
           xmlDictGetUsage (xmlDictPtr dict);
XMLPUBFUN xmlDictPtr XMLCALL
           xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN int XMLCALL
           xmlDictReference(xmlDictPtr dict);
XMLPUBFUN void XMLCALL
           xmlDictFree    (xmlDictPtr dict);
 
/*
 * Lookup of entry in the dictionary.
 */
XMLPUBFUN const xmlChar * XMLCALL
           xmlDictLookup    (xmlDictPtr dict,
                                const xmlChar *name,
                                int len);
XMLPUBFUN const xmlChar * XMLCALL
           xmlDictExists    (xmlDictPtr dict,
                                const xmlChar *name,
                                int len);
XMLPUBFUN const xmlChar * XMLCALL
           xmlDictQLookup    (xmlDictPtr dict,
                                const xmlChar *prefix,
                                const xmlChar *name);
XMLPUBFUN int XMLCALL
           xmlDictOwns    (xmlDictPtr dict,
                    const xmlChar *str);
XMLPUBFUN int XMLCALL
           xmlDictSize    (xmlDictPtr dict);
 
/*
 * Cleanup function
 */
XMLPUBFUN void XMLCALL
                        xmlDictCleanup  (void);
 
#ifdef __cplusplus
}
#endif
#endif /* ! __XML_DICT_H__ */