/* * 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__ /** DOC_DISABLE */ #include <libxml/xmlversion.h> #define XML_TREE_INTERNALS #include <libxml/tree.h> #undef XML_TREE_INTERNALS /** DOC_ENABLE */ #ifdef __cplusplus extern "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; /* unused */ 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_ENABLED XML_DEPRECATED XMLPUBFUN 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 int xmlAddEntity (xmlDocPtr doc, int extSubset, const xmlChar *name, int type, const xmlChar *ExternalID, const xmlChar *SystemID, const xmlChar *content, xmlEntityPtr *out); 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_ENABLED XML_DEPRECATED XMLPUBFUN 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_ENABLED XMLPUBFUN xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table); #endif /* LIBXML_TREE_ENABLED */ XMLPUBFUN void xmlFreeEntitiesTable (xmlEntitiesTablePtr table); #ifdef LIBXML_OUTPUT_ENABLED XMLPUBFUN void xmlDumpEntitiesTable (xmlBufferPtr buf, xmlEntitiesTablePtr table); XMLPUBFUN void xmlDumpEntityDecl (xmlBufferPtr buf, xmlEntityPtr ent); #endif /* LIBXML_OUTPUT_ENABLED */ #ifdef LIBXML_LEGACY_ENABLED XMLPUBFUN void xmlCleanupPredefinedEntities(void); #endif /* LIBXML_LEGACY_ENABLED */ #ifdef __cplusplus } #endif # endif /* __XML_ENTITIES_H__ */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
HTMLparser.h | File | 9.62 KB | 0644 |
|
HTMLtree.h | File | 3.42 KB | 0644 |
|
SAX.h | File | 4.31 KB | 0644 |
|
SAX2.h | File | 4.33 KB | 0644 |
|
c14n.h | File | 2.68 KB | 0644 |
|
catalog.h | File | 4.51 KB | 0644 |
|
chvalid.h | File | 4.97 KB | 0644 |
|
debugXML.h | File | 4.82 KB | 0644 |
|
dict.h | File | 1.73 KB | 0644 |
|
encoding.h | File | 8.17 KB | 0644 |
|
entities.h | File | 4.79 KB | 0644 |
|
globals.h | File | 890 B | 0644 |
|
hash.h | File | 6.85 KB | 0644 |
|
list.h | File | 3.05 KB | 0644 |
|
nanoftp.h | File | 3.92 KB | 0644 |
|
nanohttp.h | File | 2.07 KB | 0644 |
|
parser.h | File | 43.12 KB | 0644 |
|
parserInternals.h | File | 16.42 KB | 0644 |
|
pattern.h | File | 2.58 KB | 0644 |
|
relaxng.h | File | 5.69 KB | 0644 |
|
schemasInternals.h | File | 25.62 KB | 0644 |
|
schematron.h | File | 4.16 KB | 0644 |
|
threads.h | File | 1.69 KB | 0644 |
|
tree.h | File | 37.96 KB | 0644 |
|
uri.h | File | 2.79 KB | 0644 |
|
valid.h | File | 12.99 KB | 0644 |
|
xinclude.h | File | 3.04 KB | 0644 |
|
xlink.h | File | 4.88 KB | 0644 |
|
xmlIO.h | File | 12.16 KB | 0644 |
|
xmlautomata.h | File | 3.7 KB | 0644 |
|
xmlerror.h | File | 36.82 KB | 0644 |
|
xmlexports.h | File | 3.2 KB | 0644 |
|
xmlmemory.h | File | 4.79 KB | 0644 |
|
xmlmodule.h | File | 1.11 KB | 0644 |
|
xmlreader.h | File | 11.92 KB | 0644 |
|
xmlregexp.h | File | 5.03 KB | 0644 |
|
xmlsave.h | File | 2.51 KB | 0644 |
|
xmlschemas.h | File | 6.74 KB | 0644 |
|
xmlschemastypes.h | File | 4.48 KB | 0644 |
|
xmlstring.h | File | 5.15 KB | 0644 |
|
xmlunicode.h | File | 10.86 KB | 0644 |
|
xmlversion.h | File | 5.27 KB | 0644 |
|
xmlwriter.h | File | 20.2 KB | 0644 |
|
xpath.h | File | 16.19 KB | 0644 |
|
xpathInternals.h | File | 17.99 KB | 0644 |
|
xpointer.h | File | 3.56 KB | 0644 |
|