|
|
|
|
|
libxml2 Reference Manual |
|---|
entities - interface for the XML entities handling
this module provides some of the entity API needed for the parser and applications.
Author(s): Daniel Veillard
typedef enum xmlEntityType; typedef struct _xmlHashTable xmlEntitiesTable; typedef xmlEntitiesTable * xmlEntitiesTablePtr; xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc,
const xmlChar * name,
int type,
const xmlChar * ExternalID,
const xmlChar * SystemID,
const xmlChar * content); xmlChar * xmlEncodeEntitiesReentrant (xmlDocPtr doc,
const xmlChar * input); xmlEntityPtr xmlGetDocEntity (xmlDocPtr doc,
const xmlChar * name); xmlEntityPtr xmlGetDtdEntity (xmlDocPtr doc,
const xmlChar * name); xmlEntityPtr xmlAddDtdEntity (xmlDocPtr doc,
const xmlChar * name,
int type,
const xmlChar * ExternalID,
const xmlChar * SystemID,
const xmlChar * content); xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table); void xmlFreeEntitiesTable (xmlEntitiesTablePtr table); xmlEntityPtr xmlGetParameterEntity (xmlDocPtr doc,
const xmlChar * name); void xmlDumpEntitiesTable (xmlBufferPtr buf,
xmlEntitiesTablePtr table); void xmlDumpEntityDecl (xmlBufferPtr buf,
xmlEntityPtr ent); void xmlCleanupPredefinedEntities (void); xmlEntitiesTablePtr xmlCreateEntitiesTable (void); const xmlChar * xmlEncodeEntities (xmlDocPtr doc,
const xmlChar * input); xmlChar * xmlEncodeSpecialChars (xmlDocPtr doc,
const xmlChar * input); xmlEntityPtr xmlGetPredefinedEntity (const xmlChar * name); void xmlInitializePredefinedEntities (void);
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlEntitiesTable;
xmlEntitiesTable * xmlEntitiesTablePtr;
enum xmlEntityType { 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 };
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 |
void xmlCleanupPredefinedEntities (void)
Cleanup up the predefined entities table. Deprecated call
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. |
xmlEntitiesTablePtr xmlCreateEntitiesTable (void)
create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated
| Returns: | the xmlEntitiesTablePtr just created or NULL in case of error. |
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 |
const xmlChar * xmlEncodeEntities (xmlDocPtr doc,
const xmlChar * input)
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: | NULL |
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. |
void xmlFreeEntitiesTable (xmlEntitiesTablePtr table)
Deallocate the memory used by an entities hash table.
| table: | An entity table |
xmlEntityPtr xmlGetDocEntity (xmlDocPtr doc,
const xmlChar * name)
Do an entity lookup in the document entity hash table and
| doc: | the document referencing the entity |
| name: | the entity name |
| Returns: | the corresponding entity, otherwise a lookup is done in the predefined entities too. 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
| doc: | the document referencing the entity |
| name: | the entity name |
| Returns: | the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. 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
| doc: | the document referencing the entity |
| name: | the entity name |
| Returns: | the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found. |
xmlEntityPtr xmlGetPredefinedEntity (const xmlChar * name)
Check whether this name is an predefined entity.
| name: | the entity name |
| Returns: | NULL if not, otherwise the entity |
void xmlInitializePredefinedEntities (void)
Set up the predefined entities. Deprecated call