Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Summary: interface for the XML entities handling | 2 * Summary: interface for the XML entities handling |
| 3 * Description: this module provides some of the entity API needed | 3 * Description: this module provides some of the entity API needed |
| 4 * for the parser and applications. | 4 * for the parser and applications. |
| 5 * | 5 * |
| 6 * Copy: See Copyright for the status of this software. | 6 * Copy: See Copyright for the status of this software. |
| 7 * | 7 * |
| 8 * Author: Daniel Veillard | 8 * Author: Daniel Veillard |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 XML_INTERNAL_PARAMETER_ENTITY = 4, | 28 XML_INTERNAL_PARAMETER_ENTITY = 4, |
| 29 XML_EXTERNAL_PARAMETER_ENTITY = 5, | 29 XML_EXTERNAL_PARAMETER_ENTITY = 5, |
| 30 XML_INTERNAL_PREDEFINED_ENTITY = 6 | 30 XML_INTERNAL_PREDEFINED_ENTITY = 6 |
| 31 } xmlEntityType; | 31 } xmlEntityType; |
| 32 | 32 |
| 33 /* | 33 /* |
| 34 * An unit of storage for an entity, contains the string, the value | 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. | 35 * and the linkind data needed for the linking in the hash table. |
| 36 */ | 36 */ |
| 37 | 37 |
| 38 typedef enum { | |
| 39 XML_ENTITY_NOT_BEING_CHECKED, | |
| 40 XML_ENTITY_BEING_CHECKED /* entity check is in progress */ | |
| 41 } xmlEntityRecursionGuard; | |
| 42 | |
| 38 struct _xmlEntity { | 43 struct _xmlEntity { |
| 39 void *_private;» /* application data */ | 44 void *_private;» /* application data */ |
| 40 xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ | 45 xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ |
| 41 const xmlChar *name; /* Entity name */ | 46 const xmlChar *name; /* Entity name */ |
| 42 struct _xmlNode *children; /* First child link */ | 47 struct _xmlNode *children; /* First child link */ |
| 43 struct _xmlNode *last; /* Last child link */ | 48 struct _xmlNode *last; /* Last child link */ |
| 44 struct _xmlDtd *parent; /* -> DTD */ | 49 struct _xmlDtd *parent; /* -> DTD */ |
| 45 struct _xmlNode *next; /* next sibling link */ | 50 struct _xmlNode *next; /* next sibling link */ |
| 46 struct _xmlNode *prev; /* previous sibling link */ | 51 struct _xmlNode *prev; /* previous sibling link */ |
| 47 struct _xmlDoc *doc; /* the containing document */ | 52 struct _xmlDoc *doc; /* the containing document */ |
| 48 | 53 |
| 49 xmlChar *orig; /* content without ref substitution */ | 54 xmlChar *orig; /* content without ref substitution */ |
| 50 xmlChar *content; /* content or ndata if unparsed */ | 55 xmlChar *content; /* content or ndata if unparsed */ |
| 51 int length; /* the content length */ | 56 int length; /* the content length */ |
| 52 xmlEntityType etype; /* The entity type */ | 57 xmlEntityType etype; /* The entity type */ |
| 53 const xmlChar *ExternalID; /* External identifier for PUBLIC */ | 58 const xmlChar *ExternalID; /* External identifier for PUBLIC */ |
| 54 const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ | 59 const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ |
| 55 | 60 |
| 56 struct _xmlEntity *nexte; /* unused */ | 61 struct _xmlEntity *nexte; /* unused */ |
| 57 const xmlChar *URI; /* the full URI as computed */ | 62 const xmlChar *URI; /* the full URI as computed */ |
| 58 int owner; /* does the entity own the childrens */ | 63 int owner; /* does the entity own the childrens */ |
| 59 int»» » checked;» /* was the entity content checked */ | 64 int checked;» /* was the entity content checked and */ |
| 60 » » » » » /* this is also used to count entities | 65 » » » » » /* l.o. bit: replacement contains '<' */ |
| 61 » » » » » * references done from that entity | 66 » » » » » /* remaining bits: one plus count of */ |
| 62 » » » » » * and if it contains '<' */ | 67 /* entity references from this entity */ |
| 68 xmlEntityRecursionGuard guard; | |
|
ddkilzer
2016/11/30 23:30:22
FYI, changing struct _xmlEntity (which is vended a
| |
| 63 }; | 69 }; |
| 64 | 70 |
| 65 /* | 71 /* |
| 66 * All entities are stored in an hash table. | 72 * All entities are stored in an hash table. |
| 67 * There is 2 separate hash tables for global and parameter entities. | 73 * There is 2 separate hash tables for global and parameter entities. |
| 68 */ | 74 */ |
| 69 | 75 |
| 70 typedef struct _xmlHashTable xmlEntitiesTable; | 76 typedef struct _xmlHashTable xmlEntitiesTable; |
| 71 typedef xmlEntitiesTable *xmlEntitiesTablePtr; | 77 typedef xmlEntitiesTable *xmlEntitiesTablePtr; |
| 72 | 78 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 XMLPUBFUN void XMLCALL | 148 XMLPUBFUN void XMLCALL |
| 143 xmlCleanupPredefinedEntities(void); | 149 xmlCleanupPredefinedEntities(void); |
| 144 #endif /* LIBXML_LEGACY_ENABLED */ | 150 #endif /* LIBXML_LEGACY_ENABLED */ |
| 145 | 151 |
| 146 | 152 |
| 147 #ifdef __cplusplus | 153 #ifdef __cplusplus |
| 148 } | 154 } |
| 149 #endif | 155 #endif |
| 150 | 156 |
| 151 # endif /* __XML_ENTITIES_H__ */ | 157 # endif /* __XML_ENTITIES_H__ */ |
| OLD | NEW |