Annotation of embedaddon/libxml2/include/libxml/entities.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Summary: interface for the XML entities handling
! 3: * Description: this module provides some of the entity API needed
! 4: * for the parser and applications.
! 5: *
! 6: * Copy: See Copyright for the status of this software.
! 7: *
! 8: * Author: Daniel Veillard
! 9: */
! 10:
! 11: #ifndef __XML_ENTITIES_H__
! 12: #define __XML_ENTITIES_H__
! 13:
! 14: #include <libxml/xmlversion.h>
! 15: #include <libxml/tree.h>
! 16:
! 17: #ifdef __cplusplus
! 18: extern "C" {
! 19: #endif
! 20:
! 21: /*
! 22: * The different valid entity types.
! 23: */
! 24: typedef enum {
! 25: XML_INTERNAL_GENERAL_ENTITY = 1,
! 26: XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
! 27: XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
! 28: XML_INTERNAL_PARAMETER_ENTITY = 4,
! 29: XML_EXTERNAL_PARAMETER_ENTITY = 5,
! 30: XML_INTERNAL_PREDEFINED_ENTITY = 6
! 31: } xmlEntityType;
! 32:
! 33: /*
! 34: * An unit of storage for an entity, contains the string, the value
! 35: * and the linkind data needed for the linking in the hash table.
! 36: */
! 37:
! 38: struct _xmlEntity {
! 39: void *_private; /* application data */
! 40: xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
! 41: const xmlChar *name; /* Entity name */
! 42: struct _xmlNode *children; /* First child link */
! 43: struct _xmlNode *last; /* Last child link */
! 44: struct _xmlDtd *parent; /* -> DTD */
! 45: struct _xmlNode *next; /* next sibling link */
! 46: struct _xmlNode *prev; /* previous sibling link */
! 47: struct _xmlDoc *doc; /* the containing document */
! 48:
! 49: xmlChar *orig; /* content without ref substitution */
! 50: xmlChar *content; /* content or ndata if unparsed */
! 51: int length; /* the content length */
! 52: xmlEntityType etype; /* The entity type */
! 53: const xmlChar *ExternalID; /* External identifier for PUBLIC */
! 54: const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
! 55:
! 56: struct _xmlEntity *nexte; /* unused */
! 57: const xmlChar *URI; /* the full URI as computed */
! 58: int owner; /* does the entity own the childrens */
! 59: int checked; /* was the entity content checked */
! 60: /* this is also used to count entites
! 61: * references done from that entity */
! 62: };
! 63:
! 64: /*
! 65: * All entities are stored in an hash table.
! 66: * There is 2 separate hash tables for global and parameter entities.
! 67: */
! 68:
! 69: typedef struct _xmlHashTable xmlEntitiesTable;
! 70: typedef xmlEntitiesTable *xmlEntitiesTablePtr;
! 71:
! 72: /*
! 73: * External functions:
! 74: */
! 75:
! 76: #ifdef LIBXML_LEGACY_ENABLED
! 77: XMLPUBFUN void XMLCALL
! 78: xmlInitializePredefinedEntities (void);
! 79: #endif /* LIBXML_LEGACY_ENABLED */
! 80:
! 81: XMLPUBFUN xmlEntityPtr XMLCALL
! 82: xmlNewEntity (xmlDocPtr doc,
! 83: const xmlChar *name,
! 84: int type,
! 85: const xmlChar *ExternalID,
! 86: const xmlChar *SystemID,
! 87: const xmlChar *content);
! 88: XMLPUBFUN xmlEntityPtr XMLCALL
! 89: xmlAddDocEntity (xmlDocPtr doc,
! 90: const xmlChar *name,
! 91: int type,
! 92: const xmlChar *ExternalID,
! 93: const xmlChar *SystemID,
! 94: const xmlChar *content);
! 95: XMLPUBFUN xmlEntityPtr XMLCALL
! 96: xmlAddDtdEntity (xmlDocPtr doc,
! 97: const xmlChar *name,
! 98: int type,
! 99: const xmlChar *ExternalID,
! 100: const xmlChar *SystemID,
! 101: const xmlChar *content);
! 102: XMLPUBFUN xmlEntityPtr XMLCALL
! 103: xmlGetPredefinedEntity (const xmlChar *name);
! 104: XMLPUBFUN xmlEntityPtr XMLCALL
! 105: xmlGetDocEntity (xmlDocPtr doc,
! 106: const xmlChar *name);
! 107: XMLPUBFUN xmlEntityPtr XMLCALL
! 108: xmlGetDtdEntity (xmlDocPtr doc,
! 109: const xmlChar *name);
! 110: XMLPUBFUN xmlEntityPtr XMLCALL
! 111: xmlGetParameterEntity (xmlDocPtr doc,
! 112: const xmlChar *name);
! 113: #ifdef LIBXML_LEGACY_ENABLED
! 114: XMLPUBFUN const xmlChar * XMLCALL
! 115: xmlEncodeEntities (xmlDocPtr doc,
! 116: const xmlChar *input);
! 117: #endif /* LIBXML_LEGACY_ENABLED */
! 118: XMLPUBFUN xmlChar * XMLCALL
! 119: xmlEncodeEntitiesReentrant(xmlDocPtr doc,
! 120: const xmlChar *input);
! 121: XMLPUBFUN xmlChar * XMLCALL
! 122: xmlEncodeSpecialChars (xmlDocPtr doc,
! 123: const xmlChar *input);
! 124: XMLPUBFUN xmlEntitiesTablePtr XMLCALL
! 125: xmlCreateEntitiesTable (void);
! 126: #ifdef LIBXML_TREE_ENABLED
! 127: XMLPUBFUN xmlEntitiesTablePtr XMLCALL
! 128: xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
! 129: #endif /* LIBXML_TREE_ENABLED */
! 130: XMLPUBFUN void XMLCALL
! 131: xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
! 132: #ifdef LIBXML_OUTPUT_ENABLED
! 133: XMLPUBFUN void XMLCALL
! 134: xmlDumpEntitiesTable (xmlBufferPtr buf,
! 135: xmlEntitiesTablePtr table);
! 136: XMLPUBFUN void XMLCALL
! 137: xmlDumpEntityDecl (xmlBufferPtr buf,
! 138: xmlEntityPtr ent);
! 139: #endif /* LIBXML_OUTPUT_ENABLED */
! 140: #ifdef LIBXML_LEGACY_ENABLED
! 141: XMLPUBFUN void XMLCALL
! 142: xmlCleanupPredefinedEntities(void);
! 143: #endif /* LIBXML_LEGACY_ENABLED */
! 144:
! 145:
! 146: #ifdef __cplusplus
! 147: }
! 148: #endif
! 149:
! 150: # endif /* __XML_ENTITIES_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>