Spaces:
Sleeping
Sleeping
/* | |
* Summary: interface for the XML entities handling | |
* Description: this module provides some of the entity API needed | |
* for the parser and applications. | |
* | |
* Copy: See Copyright for the status of this software. | |
* | |
* Author: Daniel Veillard | |
*/ | |
extern "C" { | |
/* | |
* The different valid entity types. | |
*/ | |
typedef enum { | |
XML_INTERNAL_GENERAL_ENTITY = 1, | |
XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, | |
XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, | |
XML_INTERNAL_PARAMETER_ENTITY = 4, | |
XML_EXTERNAL_PARAMETER_ENTITY = 5, | |
XML_INTERNAL_PREDEFINED_ENTITY = 6 | |
} xmlEntityType; | |
/* | |
* An unit of storage for an entity, contains the string, the value | |
* and the linkind data needed for the linking in the hash table. | |
*/ | |
struct _xmlEntity { | |
void *_private; /* application data */ | |
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ | |
const xmlChar *name; /* Entity name */ | |
struct _xmlNode *children; /* First child link */ | |
struct _xmlNode *last; /* Last child link */ | |
struct _xmlDtd *parent; /* -> DTD */ | |
struct _xmlNode *next; /* next sibling link */ | |
struct _xmlNode *prev; /* previous sibling link */ | |
struct _xmlDoc *doc; /* the containing document */ | |
xmlChar *orig; /* content without ref substitution */ | |
xmlChar *content; /* content or ndata if unparsed */ | |
int length; /* the content length */ | |
xmlEntityType etype; /* The entity type */ | |
const xmlChar *ExternalID; /* External identifier for PUBLIC */ | |
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ | |
struct _xmlEntity *nexte; /* unused */ | |
const xmlChar *URI; /* the full URI as computed */ | |
int owner; /* does the entity own the childrens */ | |
int checked; /* was the entity content checked */ | |
/* this is also used to count entities | |
* references done from that entity | |
* and if it contains '<' */ | |
}; | |
/* | |
* All entities are stored in an hash table. | |
* There is 2 separate hash tables for global and parameter entities. | |
*/ | |
typedef struct _xmlHashTable xmlEntitiesTable; | |
typedef xmlEntitiesTable *xmlEntitiesTablePtr; | |
/* | |
* External functions: | |
*/ | |
XML_DEPRECATED | |
XMLPUBFUN void XMLCALL | |
xmlInitializePredefinedEntities (void); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlNewEntity (xmlDocPtr doc, | |
const xmlChar *name, | |
int type, | |
const xmlChar *ExternalID, | |
const xmlChar *SystemID, | |
const xmlChar *content); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlAddDocEntity (xmlDocPtr doc, | |
const xmlChar *name, | |
int type, | |
const xmlChar *ExternalID, | |
const xmlChar *SystemID, | |
const xmlChar *content); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlAddDtdEntity (xmlDocPtr doc, | |
const xmlChar *name, | |
int type, | |
const xmlChar *ExternalID, | |
const xmlChar *SystemID, | |
const xmlChar *content); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlGetPredefinedEntity (const xmlChar *name); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlGetDocEntity (const xmlDoc *doc, | |
const xmlChar *name); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlGetDtdEntity (xmlDocPtr doc, | |
const xmlChar *name); | |
XMLPUBFUN xmlEntityPtr XMLCALL | |
xmlGetParameterEntity (xmlDocPtr doc, | |
const xmlChar *name); | |
XML_DEPRECATED | |
XMLPUBFUN const xmlChar * XMLCALL | |
xmlEncodeEntities (xmlDocPtr doc, | |
const xmlChar *input); | |
XMLPUBFUN xmlChar * XMLCALL | |
xmlEncodeEntitiesReentrant(xmlDocPtr doc, | |
const xmlChar *input); | |
XMLPUBFUN xmlChar * XMLCALL | |
xmlEncodeSpecialChars (const xmlDoc *doc, | |
const xmlChar *input); | |
XMLPUBFUN xmlEntitiesTablePtr XMLCALL | |
xmlCreateEntitiesTable (void); | |
XMLPUBFUN xmlEntitiesTablePtr XMLCALL | |
xmlCopyEntitiesTable (xmlEntitiesTablePtr table); | |
XMLPUBFUN void XMLCALL | |
xmlFreeEntitiesTable (xmlEntitiesTablePtr table); | |
XMLPUBFUN void XMLCALL | |
xmlDumpEntitiesTable (xmlBufferPtr buf, | |
xmlEntitiesTablePtr table); | |
XMLPUBFUN void XMLCALL | |
xmlDumpEntityDecl (xmlBufferPtr buf, | |
xmlEntityPtr ent); | |
XMLPUBFUN void XMLCALL | |
xmlCleanupPredefinedEntities(void); | |
} | |