| /** |
| * @file |
| * |
| * @brief XML entities |
| * |
| * This module provides an API to work with XML entities. |
| * |
| * @copyright See Copyright for the status of this software. |
| * |
| * @author Daniel Veillard |
| */ |
| |
| #ifndef __XML_ENTITIES_H__ |
| #define __XML_ENTITIES_H__ |
| |
| #include <libxml/xmlversion.h> |
| #define XML_TREE_INTERNALS |
| #include <libxml/tree.h> |
| #undef XML_TREE_INTERNALS |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * The different entity types. |
| */ |
| typedef enum { |
| /** internal general entity */ |
| XML_INTERNAL_GENERAL_ENTITY = 1, |
| /** external general parsed entity */ |
| XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, |
| /** external general unparsed entity */ |
| XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, |
| /** internal parameter entity */ |
| XML_INTERNAL_PARAMETER_ENTITY = 4, |
| /** external parameter entity */ |
| XML_EXTERNAL_PARAMETER_ENTITY = 5, |
| /** internal predefined entity */ |
| XML_INTERNAL_PREDEFINED_ENTITY = 6 |
| } xmlEntityType; |
| |
| /** |
| * An entity declaration |
| */ |
| struct _xmlEntity { |
| /** application data */ |
| void *_private; |
| /** XML_ENTITY_DECL, must be second ! */ |
| xmlElementType type; |
| /** Entity name */ |
| const xmlChar *name; |
| /** First child link */ |
| struct _xmlNode *children; |
| /** Last child link */ |
| struct _xmlNode *last; |
| /** -> DTD */ |
| struct _xmlDtd *parent; |
| /** next sibling link */ |
| struct _xmlNode *next; |
| /** previous sibling link */ |
| struct _xmlNode *prev; |
| /** the containing document */ |
| struct _xmlDoc *doc; |
| |
| /** content without ref substitution */ |
| xmlChar *orig; |
| /** content or ndata if unparsed */ |
| xmlChar *content; |
| /** the content length */ |
| int length; |
| /** The entity type */ |
| xmlEntityType etype; |
| /** External identifier for PUBLIC */ |
| const xmlChar *ExternalID; |
| /** URI for a SYSTEM or PUBLIC Entity */ |
| const xmlChar *SystemID; |
| |
| /** unused */ |
| struct _xmlEntity *nexte; |
| /** the full URI as computed */ |
| const xmlChar *URI; |
| /** unused */ |
| int owner; |
| /** various flags */ |
| int flags; |
| /** expanded size */ |
| unsigned long expandedSize; |
| }; |
| |
| typedef struct _xmlHashTable xmlEntitiesTable; |
| typedef xmlEntitiesTable *xmlEntitiesTablePtr; |
| |
| XMLPUBFUN xmlEntity * |
| xmlNewEntity (xmlDoc *doc, |
| const xmlChar *name, |
| int type, |
| const xmlChar *publicId, |
| const xmlChar *systemId, |
| const xmlChar *content); |
| XMLPUBFUN void |
| xmlFreeEntity (xmlEntity *entity); |
| XMLPUBFUN int |
| xmlAddEntity (xmlDoc *doc, |
| int extSubset, |
| const xmlChar *name, |
| int type, |
| const xmlChar *publicId, |
| const xmlChar *systemId, |
| const xmlChar *content, |
| xmlEntity **out); |
| XMLPUBFUN xmlEntity * |
| xmlAddDocEntity (xmlDoc *doc, |
| const xmlChar *name, |
| int type, |
| const xmlChar *publicId, |
| const xmlChar *systemId, |
| const xmlChar *content); |
| XMLPUBFUN xmlEntity * |
| xmlAddDtdEntity (xmlDoc *doc, |
| const xmlChar *name, |
| int type, |
| const xmlChar *publicId, |
| const xmlChar *systemId, |
| const xmlChar *content); |
| XMLPUBFUN xmlEntity * |
| xmlGetPredefinedEntity (const xmlChar *name); |
| XMLPUBFUN xmlEntity * |
| xmlGetDocEntity (const xmlDoc *doc, |
| const xmlChar *name); |
| XMLPUBFUN xmlEntity * |
| xmlGetDtdEntity (xmlDoc *doc, |
| const xmlChar *name); |
| XMLPUBFUN xmlEntity * |
| xmlGetParameterEntity (xmlDoc *doc, |
| const xmlChar *name); |
| XMLPUBFUN xmlChar * |
| xmlEncodeEntitiesReentrant(xmlDoc *doc, |
| const xmlChar *input); |
| XMLPUBFUN xmlChar * |
| xmlEncodeSpecialChars (const xmlDoc *doc, |
| const xmlChar *input); |
| XML_DEPRECATED |
| XMLPUBFUN xmlEntitiesTable * |
| xmlCreateEntitiesTable (void); |
| XML_DEPRECATED |
| XMLPUBFUN xmlEntitiesTable * |
| xmlCopyEntitiesTable (xmlEntitiesTable *table); |
| XML_DEPRECATED |
| XMLPUBFUN void |
| xmlFreeEntitiesTable (xmlEntitiesTable *table); |
| #ifdef LIBXML_OUTPUT_ENABLED |
| XML_DEPRECATED |
| XMLPUBFUN void |
| xmlDumpEntitiesTable (xmlBuffer *buf, |
| xmlEntitiesTable *table); |
| XML_DEPRECATED |
| XMLPUBFUN void |
| xmlDumpEntityDecl (xmlBuffer *buf, |
| xmlEntity *ent); |
| #endif /* LIBXML_OUTPUT_ENABLED */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| # endif /* __XML_ENTITIES_H__ */ |