entities

Name

entities -- 

Synopsis



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);

Description

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 {
    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 */
};


xmlEntitiesTablePtr

typedef xmlEntitiesTable *xmlEntitiesTablePtr;


xmlInitializePredefinedEntities ()

void        xmlInitializePredefinedEntities (void);

Set up the predefined entities.


xmlAddDocEntity ()

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.


xmlAddDtdEntity ()

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.


xmlGetPredefinedEntity ()

xmlEntityPtr xmlGetPredefinedEntity         (const xmlChar *name);

Check whether this name is an predefined entity.


xmlGetDocEntity ()

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.


xmlGetDtdEntity ()

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.


xmlGetParameterEntity ()

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.


xmlEncodeEntities ()

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.


xmlEncodeEntitiesReentrant ()

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.


xmlEncodeSpecialChars ()

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.


xmlCreateEntitiesTable ()

xmlEntitiesTablePtr xmlCreateEntitiesTable  (void);

create and initialize an empty entities hash table.


xmlCopyEntitiesTable ()

xmlEntitiesTablePtr xmlCopyEntitiesTable    (xmlEntitiesTablePtr table);

Build a copy of an entity table.


xmlFreeEntitiesTable ()

void        xmlFreeEntitiesTable            (xmlEntitiesTablePtr table);

Deallocate the memory used by an entities hash table.


xmlDumpEntitiesTable ()

void        xmlDumpEntitiesTable            (xmlBufferPtr buf,
                                             xmlEntitiesTablePtr table);

This will dump the content of the entity table as an XML DTD definition


xmlDumpEntityDecl ()

void        xmlDumpEntityDecl               (xmlBufferPtr buf,
                                             xmlEntityPtr ent);

This will dump the content of the entity table as an XML DTD definition


xmlCleanupPredefinedEntities ()

void        xmlCleanupPredefinedEntities    (void);

Cleanup up the predefined entities table.