~burner/xsb/debianized-xsb

« back to all changes in this revision

Viewing changes to packages/xpath/cc/libxml/entities.h

  • Committer: Michael R. Head
  • Date: 2006-09-06 22:11:55 UTC
  • Revision ID: burner@n23-20060906221155-7e398d23438a7ee4
Add the files from the 3.0.1 release package

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Summary: interface for the XML entities handling
 
3
 * Description: this module provides some of the entity API needed
 
4
 *              for the parser and applications.
 
5
 *
 
6
 * Copy: See Copyright for the status of this software.
 
7
 *
 
8
 * Author: Daniel Veillard
 
9
 */
 
10
 
 
11
#ifndef __XML_ENTITIES_H__
 
12
#define __XML_ENTITIES_H__
 
13
 
 
14
#include <libxml/xmlversion.h>
 
15
#include <libxml/tree.h>
 
16
 
 
17
#ifdef __cplusplus
 
18
extern "C" {
 
19
#endif
 
20
 
 
21
/*
 
22
 * The different valid entity types.
 
23
 */
 
24
typedef enum {
 
25
    XML_INTERNAL_GENERAL_ENTITY = 1,
 
26
    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
 
27
    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
 
28
    XML_INTERNAL_PARAMETER_ENTITY = 4,
 
29
    XML_EXTERNAL_PARAMETER_ENTITY = 5,
 
30
    XML_INTERNAL_PREDEFINED_ENTITY = 6
 
31
} xmlEntityType;
 
32
 
 
33
/*
 
34
 * An unit of storage for an entity, contains the string, the value
 
35
 * and the linkind data needed for the linking in the hash table.
 
36
 */
 
37
 
 
38
struct _xmlEntity {
 
39
    void           *_private;           /* application data */
 
40
    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
 
41
    const xmlChar          *name;       /* Entity name */
 
42
    struct _xmlNode    *children;       /* First child link */
 
43
    struct _xmlNode        *last;       /* Last child link */
 
44
    struct _xmlDtd       *parent;       /* -> DTD */
 
45
    struct _xmlNode        *next;       /* next sibling link  */
 
46
    struct _xmlNode        *prev;       /* previous sibling link  */
 
47
    struct _xmlDoc          *doc;       /* the containing document */
 
48
 
 
49
    xmlChar                *orig;       /* content without ref substitution */
 
50
    xmlChar             *content;       /* content or ndata if unparsed */
 
51
    int                   length;       /* the content length */
 
52
    xmlEntityType          etype;       /* The entity type */
 
53
    const xmlChar    *ExternalID;       /* External identifier for PUBLIC */
 
54
    const xmlChar      *SystemID;       /* URI for a SYSTEM or PUBLIC Entity */
 
55
 
 
56
    struct _xmlEntity     *nexte;       /* unused */
 
57
    const xmlChar           *URI;       /* the full URI as computed */
 
58
    int                    owner;       /* does the entity own the childrens */
 
59
};
 
60
 
 
61
/*
 
62
 * All entities are stored in an hash table.
 
63
 * There is 2 separate hash tables for global and parameter entities.
 
64
 */
 
65
 
 
66
typedef struct _xmlHashTable xmlEntitiesTable;
 
67
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
 
68
 
 
69
/*
 
70
 * External functions:
 
71
 */
 
72
 
 
73
#ifdef LIBXML_LEGACY_ENABLED
 
74
XMLPUBFUN void XMLCALL          
 
75
                xmlInitializePredefinedEntities (void);
 
76
#endif /* LIBXML_LEGACY_ENABLED */
 
77
XMLPUBFUN xmlEntityPtr XMLCALL
 
78
                        xmlAddDocEntity         (xmlDocPtr doc,
 
79
                                                 const xmlChar *name,
 
80
                                                 int type,
 
81
                                                 const xmlChar *ExternalID,
 
82
                                                 const xmlChar *SystemID,
 
83
                                                 const xmlChar *content);
 
84
XMLPUBFUN xmlEntityPtr XMLCALL          
 
85
                        xmlAddDtdEntity         (xmlDocPtr doc,
 
86
                                                 const xmlChar *name,
 
87
                                                 int type,
 
88
                                                 const xmlChar *ExternalID,
 
89
                                                 const xmlChar *SystemID,
 
90
                                                 const xmlChar *content);
 
91
XMLPUBFUN xmlEntityPtr XMLCALL          
 
92
                        xmlGetPredefinedEntity  (const xmlChar *name);
 
93
XMLPUBFUN xmlEntityPtr XMLCALL          
 
94
                        xmlGetDocEntity         (xmlDocPtr doc,
 
95
                                                 const xmlChar *name);
 
96
XMLPUBFUN xmlEntityPtr XMLCALL          
 
97
                        xmlGetDtdEntity         (xmlDocPtr doc,
 
98
                                                 const xmlChar *name);
 
99
XMLPUBFUN xmlEntityPtr XMLCALL          
 
100
                        xmlGetParameterEntity   (xmlDocPtr doc,
 
101
                                                 const xmlChar *name);
 
102
#ifdef LIBXML_LEGACY_ENABLED
 
103
XMLPUBFUN const xmlChar * XMLCALL               
 
104
                        xmlEncodeEntities       (xmlDocPtr doc,
 
105
                                                 const xmlChar *input);
 
106
#endif /* LIBXML_LEGACY_ENABLED */
 
107
XMLPUBFUN xmlChar * XMLCALL             
 
108
                        xmlEncodeEntitiesReentrant(xmlDocPtr doc,
 
109
                                                 const xmlChar *input);
 
110
XMLPUBFUN xmlChar * XMLCALL             
 
111
                        xmlEncodeSpecialChars   (xmlDocPtr doc,
 
112
                                                 const xmlChar *input);
 
113
XMLPUBFUN xmlEntitiesTablePtr XMLCALL   
 
114
                        xmlCreateEntitiesTable  (void);
 
115
#ifdef LIBXML_TREE_ENABLED
 
116
XMLPUBFUN xmlEntitiesTablePtr XMLCALL   
 
117
                        xmlCopyEntitiesTable    (xmlEntitiesTablePtr table);
 
118
#endif /* LIBXML_TREE_ENABLED */
 
119
XMLPUBFUN void XMLCALL                  
 
120
                        xmlFreeEntitiesTable    (xmlEntitiesTablePtr table);
 
121
#ifdef LIBXML_OUTPUT_ENABLED
 
122
XMLPUBFUN void XMLCALL                  
 
123
                        xmlDumpEntitiesTable    (xmlBufferPtr buf,
 
124
                                                 xmlEntitiesTablePtr table);
 
125
XMLPUBFUN void XMLCALL                  
 
126
                        xmlDumpEntityDecl       (xmlBufferPtr buf,
 
127
                                                 xmlEntityPtr ent);
 
128
#endif /* LIBXML_OUTPUT_ENABLED */
 
129
#ifdef LIBXML_LEGACY_ENABLED
 
130
XMLPUBFUN void XMLCALL                  
 
131
                        xmlCleanupPredefinedEntities(void);
 
132
#endif /* LIBXML_LEGACY_ENABLED */
 
133
 
 
134
 
 
135
#ifdef __cplusplus
 
136
}
 
137
#endif
 
138
 
 
139
# endif /* __XML_ENTITIES_H__ */