Eneboo - Documentación para desarrolladores
src/libdigidoc/libxml2/include/libxml/entities.h
Ir a la documentación de este archivo.
00001 /*
00002  * Summary: interface for the XML entities handling
00003  * Description: this module provides some of the entity API needed
00004  *              for the parser and applications.
00005  *
00006  * Copy: See Copyright for the status of this software.
00007  *
00008  * Author: Daniel Veillard
00009  */
00010 
00011 #ifndef __XML_ENTITIES_H__
00012 #define __XML_ENTITIES_H__
00013 
00014 #include <libxml/xmlversion.h>
00015 #include <libxml/tree.h>
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00021 /*
00022  * The different valid entity types.
00023  */
00024 typedef enum {
00025     XML_INTERNAL_GENERAL_ENTITY = 1,
00026     XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
00027     XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
00028     XML_INTERNAL_PARAMETER_ENTITY = 4,
00029     XML_EXTERNAL_PARAMETER_ENTITY = 5,
00030     XML_INTERNAL_PREDEFINED_ENTITY = 6
00031 } xmlEntityType;
00032 
00033 /*
00034  * An unit of storage for an entity, contains the string, the value
00035  * and the linkind data needed for the linking in the hash table.
00036  */
00037 
00038 struct _xmlEntity {
00039     void           *_private;           /* application data */
00040     xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
00041     const xmlChar          *name;       /* Entity name */
00042     struct _xmlNode    *children;       /* First child link */
00043     struct _xmlNode        *last;       /* Last child link */
00044     struct _xmlDtd       *parent;       /* -> DTD */
00045     struct _xmlNode        *next;       /* next sibling link  */
00046     struct _xmlNode        *prev;       /* previous sibling link  */
00047     struct _xmlDoc          *doc;       /* the containing document */
00048 
00049     xmlChar                *orig;       /* content without ref substitution */
00050     xmlChar             *content;       /* content or ndata if unparsed */
00051     int                   length;       /* the content length */
00052     xmlEntityType          etype;       /* The entity type */
00053     const xmlChar    *ExternalID;       /* External identifier for PUBLIC */
00054     const xmlChar      *SystemID;       /* URI for a SYSTEM or PUBLIC Entity */
00055 
00056     struct _xmlEntity     *nexte;       /* unused */
00057     const xmlChar           *URI;       /* the full URI as computed */
00058     int                    owner;       /* does the entity own the childrens */
00059     int                  checked;       /* was the entity content checked */
00060                                         /* this is also used to count entites
00061                                          * references done from that entity */
00062 };
00063 
00064 /*
00065  * All entities are stored in an hash table.
00066  * There is 2 separate hash tables for global and parameter entities.
00067  */
00068 
00069 typedef struct _xmlHashTable xmlEntitiesTable;
00070 typedef xmlEntitiesTable *xmlEntitiesTablePtr;
00071 
00072 /*
00073  * External functions:
00074  */
00075 
00076 #ifdef LIBXML_LEGACY_ENABLED
00077 XMLPUBFUN void XMLCALL
00078                 xmlInitializePredefinedEntities (void);
00079 #endif /* LIBXML_LEGACY_ENABLED */
00080 
00081 XMLPUBFUN xmlEntityPtr XMLCALL
00082                         xmlNewEntity            (xmlDocPtr doc,
00083                                                  const xmlChar *name,
00084                                                  int type,
00085                                                  const xmlChar *ExternalID,
00086                                                  const xmlChar *SystemID,
00087                                                  const xmlChar *content);
00088 XMLPUBFUN xmlEntityPtr XMLCALL
00089                         xmlAddDocEntity         (xmlDocPtr doc,
00090                                                  const xmlChar *name,
00091                                                  int type,
00092                                                  const xmlChar *ExternalID,
00093                                                  const xmlChar *SystemID,
00094                                                  const xmlChar *content);
00095 XMLPUBFUN xmlEntityPtr XMLCALL
00096                         xmlAddDtdEntity         (xmlDocPtr doc,
00097                                                  const xmlChar *name,
00098                                                  int type,
00099                                                  const xmlChar *ExternalID,
00100                                                  const xmlChar *SystemID,
00101                                                  const xmlChar *content);
00102 XMLPUBFUN xmlEntityPtr XMLCALL
00103                         xmlGetPredefinedEntity  (const xmlChar *name);
00104 XMLPUBFUN xmlEntityPtr XMLCALL
00105                         xmlGetDocEntity         (xmlDocPtr doc,
00106                                                  const xmlChar *name);
00107 XMLPUBFUN xmlEntityPtr XMLCALL
00108                         xmlGetDtdEntity         (xmlDocPtr doc,
00109                                                  const xmlChar *name);
00110 XMLPUBFUN xmlEntityPtr XMLCALL
00111                         xmlGetParameterEntity   (xmlDocPtr doc,
00112                                                  const xmlChar *name);
00113 #ifdef LIBXML_LEGACY_ENABLED
00114 XMLPUBFUN const xmlChar * XMLCALL
00115                         xmlEncodeEntities       (xmlDocPtr doc,
00116                                                  const xmlChar *input);
00117 #endif /* LIBXML_LEGACY_ENABLED */
00118 XMLPUBFUN xmlChar * XMLCALL
00119                         xmlEncodeEntitiesReentrant(xmlDocPtr doc,
00120                                                  const xmlChar *input);
00121 XMLPUBFUN xmlChar * XMLCALL
00122                         xmlEncodeSpecialChars   (xmlDocPtr doc,
00123                                                  const xmlChar *input);
00124 XMLPUBFUN xmlEntitiesTablePtr XMLCALL
00125                         xmlCreateEntitiesTable  (void);
00126 #ifdef LIBXML_TREE_ENABLED
00127 XMLPUBFUN xmlEntitiesTablePtr XMLCALL
00128                         xmlCopyEntitiesTable    (xmlEntitiesTablePtr table);
00129 #endif /* LIBXML_TREE_ENABLED */
00130 XMLPUBFUN void XMLCALL
00131                         xmlFreeEntitiesTable    (xmlEntitiesTablePtr table);
00132 #ifdef LIBXML_OUTPUT_ENABLED
00133 XMLPUBFUN void XMLCALL
00134                         xmlDumpEntitiesTable    (xmlBufferPtr buf,
00135                                                  xmlEntitiesTablePtr table);
00136 XMLPUBFUN void XMLCALL
00137                         xmlDumpEntityDecl       (xmlBufferPtr buf,
00138                                                  xmlEntityPtr ent);
00139 #endif /* LIBXML_OUTPUT_ENABLED */
00140 #ifdef LIBXML_LEGACY_ENABLED
00141 XMLPUBFUN void XMLCALL
00142                         xmlCleanupPredefinedEntities(void);
00143 #endif /* LIBXML_LEGACY_ENABLED */
00144 
00145 
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149 
00150 # endif /* __XML_ENTITIES_H__ */
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'