Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/entities.h
811 views
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
int checked; /* was the entity content checked */
60
/* this is also used to count entities
61
* references done from that entity
62
* and if it contains '<' */
63
};
64
65
/*
66
* All entities are stored in an hash table.
67
* There is 2 separate hash tables for global and parameter entities.
68
*/
69
70
typedef struct _xmlHashTable xmlEntitiesTable;
71
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
72
73
/*
74
* External functions:
75
*/
76
77
#ifdef LIBXML_LEGACY_ENABLED
78
XMLPUBFUN void XMLCALL
79
xmlInitializePredefinedEntities (void);
80
#endif /* LIBXML_LEGACY_ENABLED */
81
82
XMLPUBFUN xmlEntityPtr XMLCALL
83
xmlNewEntity (xmlDocPtr doc,
84
const xmlChar *name,
85
int type,
86
const xmlChar *ExternalID,
87
const xmlChar *SystemID,
88
const xmlChar *content);
89
XMLPUBFUN xmlEntityPtr XMLCALL
90
xmlAddDocEntity (xmlDocPtr doc,
91
const xmlChar *name,
92
int type,
93
const xmlChar *ExternalID,
94
const xmlChar *SystemID,
95
const xmlChar *content);
96
XMLPUBFUN xmlEntityPtr XMLCALL
97
xmlAddDtdEntity (xmlDocPtr doc,
98
const xmlChar *name,
99
int type,
100
const xmlChar *ExternalID,
101
const xmlChar *SystemID,
102
const xmlChar *content);
103
XMLPUBFUN xmlEntityPtr XMLCALL
104
xmlGetPredefinedEntity (const xmlChar *name);
105
XMLPUBFUN xmlEntityPtr XMLCALL
106
xmlGetDocEntity (const xmlDoc *doc,
107
const xmlChar *name);
108
XMLPUBFUN xmlEntityPtr XMLCALL
109
xmlGetDtdEntity (xmlDocPtr doc,
110
const xmlChar *name);
111
XMLPUBFUN xmlEntityPtr XMLCALL
112
xmlGetParameterEntity (xmlDocPtr doc,
113
const xmlChar *name);
114
#ifdef LIBXML_LEGACY_ENABLED
115
XMLPUBFUN const xmlChar * XMLCALL
116
xmlEncodeEntities (xmlDocPtr doc,
117
const xmlChar *input);
118
#endif /* LIBXML_LEGACY_ENABLED */
119
XMLPUBFUN xmlChar * XMLCALL
120
xmlEncodeEntitiesReentrant(xmlDocPtr doc,
121
const xmlChar *input);
122
XMLPUBFUN xmlChar * XMLCALL
123
xmlEncodeSpecialChars (const xmlDoc *doc,
124
const xmlChar *input);
125
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
126
xmlCreateEntitiesTable (void);
127
#ifdef LIBXML_TREE_ENABLED
128
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
129
xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
130
#endif /* LIBXML_TREE_ENABLED */
131
XMLPUBFUN void XMLCALL
132
xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
133
#ifdef LIBXML_OUTPUT_ENABLED
134
XMLPUBFUN void XMLCALL
135
xmlDumpEntitiesTable (xmlBufferPtr buf,
136
xmlEntitiesTablePtr table);
137
XMLPUBFUN void XMLCALL
138
xmlDumpEntityDecl (xmlBufferPtr buf,
139
xmlEntityPtr ent);
140
#endif /* LIBXML_OUTPUT_ENABLED */
141
#ifdef LIBXML_LEGACY_ENABLED
142
XMLPUBFUN void XMLCALL
143
xmlCleanupPredefinedEntities(void);
144
#endif /* LIBXML_LEGACY_ENABLED */
145
146
147
#ifdef __cplusplus
148
}
149
#endif
150
151
# endif /* __XML_ENTITIES_H__ */
152
153