ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

entities.h
Go to the documentation of this file.
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__ */

Generated on Sun May 27 2012 04:33:13 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.