Details
enum xmlEntityType
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; |
struct xmlEntity
struct xmlEntity {
#ifndef XML_WITHOUT_CORBA
void *_private; /* for Corba, must be first ! */
#endif
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
const xmlChar *name; /* Attribute name */
struct _xmlNode *children; /* NULL */
struct _xmlNode *last; /* NULL */
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; /* next entity in the hash table */
const xmlChar *URI; /* the full URI as computed */
#ifdef WITH_EXTRA_ENT_DETECT
/* Referenced entities name stack */
xmlChar *ent; /* Current parsed Node */
int entNr; /* Depth of the parsing stack */
int entMax; /* Max depth of the parsing stack */
xmlChar * *entTab; /* array of nodes */
#endif
}; |
xmlEntityPtr
typedef xmlEntity *xmlEntityPtr; |
XML_MIN_ENTITIES_TABLE
#define XML_MIN_ENTITIES_TABLE 32 |
struct xmlEntitiesTable
struct xmlEntitiesTable {
int nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */
xmlEntityPtr *table; /* the table of entities */
}; |
xmlEntitiesTablePtr
typedef xmlEntitiesTable *xmlEntitiesTablePtr; |
xmlInitializePredefinedEntities ()
void xmlInitializePredefinedEntities (void); |
Set up the predefined entities.
xmlAddDocEntity ()
Register a new entity for this document.
xmlAddDtdEntity ()
Register a new entity for this document DTD external subset.
xmlGetPredefinedEntity ()
Check whether this name is an predefined entity.
xmlGetDocEntity ()
Do an entity lookup in the document entity hash table and
returns the corrsponding entity, otherwise a lookup is done
in the predefined entities too.
xmlGetDtdEntity ()
Do an entity lookup in the Dtd entity hash table and
returns the corresponding entity, if found.
xmlGetParameterEntity ()
Do an entity lookup in the internal and external subsets and
returns the corresponding parameter entity, if found.
xmlEncodeEntities ()
Do a global encoding of a string, replacing the predefined entities
and non ASCII values with their entities and CharRef counterparts.
TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
compatibility
People must migrate their code to xmlEncodeEntitiesReentrant !
This routine will issue a warning when encountered.
xmlEncodeEntitiesReentrant ()
Do a global encoding of a string, replacing the predefined entities
and non ASCII values with their entities and CharRef counterparts.
Contrary to xmlEncodeEntities, this routine is reentrant, and result
must be deallocated.
xmlEncodeSpecialChars ()
Do a global encoding of a string, replacing the predefined entities
this routine is reentrant, and result must be deallocated.
xmlCreateEntitiesTable ()
create and initialize an empty entities hash table.
xmlCopyEntitiesTable ()
Build a copy of an entity table.
xmlFreeEntitiesTable ()
Deallocate the memory used by an entities hash table.
xmlDumpEntitiesTable ()
This will dump the content of the entity table as an XML DTD definition
xmlDumpEntityDecl ()
This will dump the content of the entity table as an XML DTD definition
xmlCleanupPredefinedEntities ()
void xmlCleanupPredefinedEntities (void); |
Cleanup up the predefined entities table.
xmlEntityAddReference ()
Function to register reuse of an existing entity from a (new) one
Used to keep track of references and detect cycles (well formedness
errors !).