|  |  |  | Gnome XML Library Reference Manual |  | 
|---|
entities —
enum xmlEntityType; struct xmlEntity; typedef xmlEntitiesTablePtr; void xmlInitializePredefinedEntities (void); xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content); xmlEntityPtr xmlAddDtdEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content); xmlEntityPtr xmlGetPredefinedEntity (const xmlChar *name); xmlEntityPtr xmlGetDocEntity (xmlDocPtr doc, const xmlChar *name); xmlEntityPtr xmlGetDtdEntity (xmlDocPtr doc, const xmlChar *name); xmlEntityPtr xmlGetParameterEntity (xmlDocPtr doc, const xmlChar *name); const xmlChar* xmlEncodeEntities (xmlDocPtr doc, const xmlChar *input); xmlChar* xmlEncodeEntitiesReentrant (xmlDocPtr doc, const xmlChar *input); xmlChar* xmlEncodeSpecialChars (xmlDocPtr doc, const xmlChar *input); xmlEntitiesTablePtr xmlCreateEntitiesTable (void); xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table); void xmlFreeEntitiesTable (xmlEntitiesTablePtr table); void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table); void xmlDumpEntityDecl (xmlBufferPtr buf, xmlEntityPtr ent); void xmlCleanupPredefinedEntities (void);
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 {
    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 */
};
void xmlInitializePredefinedEntities (void);
Set up the predefined entities.
xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content);
Register a new entity for this document.
| doc : | the document | 
| name : | the entity name | 
| type : | the entity type XML_xxx_yyy_ENTITY | 
| ExternalID : | the entity external ID if available | 
| SystemID : | the entity system ID if available | 
| content : | the entity content | 
| Returns : | a pointer to the entity or NULL in case of error | 
xmlEntityPtr xmlAddDtdEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content);
Register a new entity for this document DTD external subset.
| doc : | the document | 
| name : | the entity name | 
| type : | the entity type XML_xxx_yyy_ENTITY | 
| ExternalID : | the entity external ID if available | 
| SystemID : | the entity system ID if available | 
| content : | the entity content | 
| Returns : | a pointer to the entity or NULL in case of error | 
xmlEntityPtr xmlGetPredefinedEntity (const xmlChar *name);
Check whether this name is an predefined entity.
| name : | the entity name | 
| Returns : | NULL if not, otherwise the entity | 
xmlEntityPtr xmlGetDocEntity (xmlDocPtr doc, const xmlChar *name);
Do an entity lookup in the document entity hash table and returns the corresponding entity, otherwise a lookup is done in the predefined entities too.
| doc : | the document referencing the entity | 
| name : | the entity name | 
| Returns : | A pointer to the entity structure or NULL if not found. | 
xmlEntityPtr xmlGetDtdEntity (xmlDocPtr doc, const xmlChar *name);
Do an entity lookup in the DTD entity hash table and returns the corresponding entity, if found. Note: the first argument is the document node, not the DTD node.
| doc : | the document referencing the entity | 
| name : | the entity name | 
| Returns : | A pointer to the entity structure or NULL if not found. | 
xmlEntityPtr xmlGetParameterEntity (xmlDocPtr doc, const xmlChar *name);
Do an entity lookup in the internal and external subsets and returns the corresponding parameter entity, if found.
| doc : | the document referencing the entity | 
| name : | the entity name | 
| Returns : | A pointer to the entity structure or NULL if not found. | 
const xmlChar* xmlEncodeEntities (xmlDocPtr doc, const xmlChar *input);
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.
| doc : | the document containing the string | 
| input : | A string to convert to XML. | 
| Returns : | A newly allocated string with the substitution done. | 
xmlChar* xmlEncodeEntitiesReentrant (xmlDocPtr doc, const xmlChar *input);
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.
| doc : | the document containing the string | 
| input : | A string to convert to XML. | 
| Returns : | A newly allocated string with the substitution done. | 
xmlChar* xmlEncodeSpecialChars (xmlDocPtr doc, const xmlChar *input);
Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.
| doc : | the document containing the string | 
| input : | A string to convert to XML. | 
| Returns : | A newly allocated string with the substitution done. | 
xmlEntitiesTablePtr xmlCreateEntitiesTable (void);
create and initialize an empty entities hash table.
| Returns : | the xmlEntitiesTablePtr just created or NULL in case of error. | 
xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
Build a copy of an entity table.
| table : | An entity table | 
| Returns : | the new xmlEntitiesTablePtr or NULL in case of error. | 
void xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
Deallocate the memory used by an entities hash table.
| table : | An entity table | 
void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table);
This will dump the content of the entity table as an XML DTD definition
| buf : | An XML buffer. | 
| table : | An entity table | 
void xmlDumpEntityDecl (xmlBufferPtr buf, xmlEntityPtr ent);
This will dump the content of the entity table as an XML DTD definition
| buf : | An XML buffer. | 
| ent : | An entity table | 
| << tree | valid >> |