Whole document tree
    

Whole document tree

entities

entities

Name

entities -- 

Description

Details

XML_INTERNAL_GENERAL_ENTITY

#define XML_INTERNAL_GENERAL_ENTITY		1


XML_EXTERNAL_GENERAL_PARSED_ENTITY

#define XML_EXTERNAL_GENERAL_PARSED_ENTITY	2


XML_EXTERNAL_GENERAL_UNPARSED_ENTITY

#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY	3


XML_INTERNAL_PARAMETER_ENTITY

#define XML_INTERNAL_PARAMETER_ENTITY		4


XML_EXTERNAL_PARAMETER_ENTITY

#define XML_EXTERNAL_PARAMETER_ENTITY		5


XML_INTERNAL_PREDEFINED_ENTITY

#define XML_INTERNAL_PREDEFINED_ENTITY		6


struct xmlEntity

struct xmlEntity {
    int type;			/* The entity type */
    int len;			/* The lenght of the name */
    const xmlChar  *name;	/* Name of the entity */
    const xmlChar  *ExternalID;	/* External identifier for PUBLIC Entity */
    const xmlChar  *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */
    xmlChar *content;		/* The entity content or ndata if unparsed */
    int length;			/* the content length */
    xmlChar *orig;		/* The entity cont without ref substitution */
    /* Extended when merging 2,3,5 */
    struct _xmlNode    *children;/* NULL */
    struct _xmlNode    *last;	/* NULL */
    const xmlChar      *URI;	/* the full URI as computed */
};


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;


xmlAddDocEntity ()

void        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


xmlAddDtdEntity ()

void        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.

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


xmlGetPredefinedEntity ()

xmlEntityPtr xmlGetPredefinedEntity         (const xmlChar *name);

Check whether this name is an predefined entity.

name : the entity name
Returns :NULL if not, othervise the entity


xmlGetDocEntity ()

xmlEntityPtr xmlGetDocEntity                (xmlDocPtr doc,
                                             const xmlChar *name);

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.

doc : the document referencing the entity
name : the entity name
Returns :A pointer to the entity structure or NULL if not found.


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.

doc : the document referencing the entity
name : the entity name
Returns :A pointer to the entity structure or NULL if not found.


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.

doc : the document referencing the entity
name : the entity name
Returns :A pointer to the entity structure or NULL if not 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.

doc : the document containing the string
input : A string to convert to XML.
Returns :A newly allocated string with the substitution done.


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.

doc : the document containing the string
input : A string to convert to XML.
Returns :A newly allocated string with the substitution done.


xmlCreateEntitiesTable ()

xmlEntitiesTablePtr xmlCreateEntitiesTable  (void);

create and initialize an empty entities hash table.

Returns :the xmlEntitiesTablePtr just created or NULL in case of error.


xmlCopyEntitiesTable ()

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.


xmlFreeEntitiesTable ()

void        xmlFreeEntitiesTable            (xmlEntitiesTablePtr table);

Deallocate the memory used by an entities hash table.

table : An entity table


xmlDumpEntitiesTable ()

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


xmlCleanupPredefinedEntities ()

void        xmlCleanupPredefinedEntities    (void);

Cleanup up the predefined entities table.