Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156/* * Summary: interface for the XML entities handling * Description: this module provides some of the entity API needed * for the parser and applications. * * Copy: 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 __cplusplusextern "C" {#endif
/* * The different valid entity types. */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;
/* * An unit of storage for an entity, contains the string, the value * and the linkind data needed for the linking in the hash table. */
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 */ int flags; /* various flags */ unsigned long expandedSize; /* expanded size */};
/* * All entities are stored in an hash table. * There is 2 separate hash tables for global and parameter entities. */
typedef struct _xmlHashTable xmlEntitiesTable;typedef xmlEntitiesTable *xmlEntitiesTablePtr;
/* * External functions: */
#ifdef LIBXML_LEGACY_ENABLEDXML_DEPRECATEDXMLPUBFUN void xmlInitializePredefinedEntities (void);#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlEntityPtr xmlNewEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content);XMLPUBFUN void xmlFreeEntity (xmlEntityPtr entity);XMLPUBFUN xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content);XMLPUBFUN xmlEntityPtr xmlAddDtdEntity (xmlDocPtr doc, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content);XMLPUBFUN xmlEntityPtr xmlGetPredefinedEntity (const xmlChar *name);XMLPUBFUN xmlEntityPtr xmlGetDocEntity (const xmlDoc *doc, const xmlChar *name);XMLPUBFUN xmlEntityPtr xmlGetDtdEntity (xmlDocPtr doc, const xmlChar *name);XMLPUBFUN xmlEntityPtr xmlGetParameterEntity (xmlDocPtr doc, const xmlChar *name);#ifdef LIBXML_LEGACY_ENABLEDXML_DEPRECATEDXMLPUBFUN const xmlChar * xmlEncodeEntities (xmlDocPtr doc, const xmlChar *input);#endif /* LIBXML_LEGACY_ENABLED */XMLPUBFUN xmlChar * xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input);XMLPUBFUN xmlChar * xmlEncodeSpecialChars (const xmlDoc *doc, const xmlChar *input);XMLPUBFUN xmlEntitiesTablePtr xmlCreateEntitiesTable (void);#ifdef LIBXML_TREE_ENABLEDXMLPUBFUN xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table);#endif /* LIBXML_TREE_ENABLED */XMLPUBFUN void xmlFreeEntitiesTable (xmlEntitiesTablePtr table);#ifdef LIBXML_OUTPUT_ENABLEDXMLPUBFUN void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table);XMLPUBFUN void xmlDumpEntityDecl (xmlBufferPtr buf, xmlEntityPtr ent);#endif /* LIBXML_OUTPUT_ENABLED */#ifdef LIBXML_LEGACY_ENABLEDXMLPUBFUN void xmlCleanupPredefinedEntities(void);#endif /* LIBXML_LEGACY_ENABLED */
#ifdef __cplusplus}#endif
# endif /* __XML_ENTITIES_H__ */