114 lines · 3.0 KB · C
RawDownload
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd   See the file COPYING for copying permission.*/ #ifndef XmlRole_INCLUDED#define XmlRole_INCLUDED 1 #ifdef __VMS/*      0        1         2         3      0        1         2         3        1234567890123456789012345678901     1234567890123456789012345678901 */#define XmlPrologStateInitExternalEntity    XmlPrologStateInitExternalEnt#endif #include "xmltok.h" #ifdef __cplusplusextern "C" {#endif enum {  XML_ROLE_ERROR = -1,  XML_ROLE_NONE = 0,  XML_ROLE_XML_DECL,  XML_ROLE_INSTANCE_START,  XML_ROLE_DOCTYPE_NONE,  XML_ROLE_DOCTYPE_NAME,  XML_ROLE_DOCTYPE_SYSTEM_ID,  XML_ROLE_DOCTYPE_PUBLIC_ID,  XML_ROLE_DOCTYPE_INTERNAL_SUBSET,  XML_ROLE_DOCTYPE_CLOSE,  XML_ROLE_GENERAL_ENTITY_NAME,  XML_ROLE_PARAM_ENTITY_NAME,  XML_ROLE_ENTITY_NONE,  XML_ROLE_ENTITY_VALUE,  XML_ROLE_ENTITY_SYSTEM_ID,  XML_ROLE_ENTITY_PUBLIC_ID,  XML_ROLE_ENTITY_COMPLETE,  XML_ROLE_ENTITY_NOTATION_NAME,  XML_ROLE_NOTATION_NONE,  XML_ROLE_NOTATION_NAME,  XML_ROLE_NOTATION_SYSTEM_ID,  XML_ROLE_NOTATION_NO_SYSTEM_ID,  XML_ROLE_NOTATION_PUBLIC_ID,  XML_ROLE_ATTRIBUTE_NAME,  XML_ROLE_ATTRIBUTE_TYPE_CDATA,  XML_ROLE_ATTRIBUTE_TYPE_ID,  XML_ROLE_ATTRIBUTE_TYPE_IDREF,  XML_ROLE_ATTRIBUTE_TYPE_IDREFS,  XML_ROLE_ATTRIBUTE_TYPE_ENTITY,  XML_ROLE_ATTRIBUTE_TYPE_ENTITIES,  XML_ROLE_ATTRIBUTE_TYPE_NMTOKEN,  XML_ROLE_ATTRIBUTE_TYPE_NMTOKENS,  XML_ROLE_ATTRIBUTE_ENUM_VALUE,  XML_ROLE_ATTRIBUTE_NOTATION_VALUE,  XML_ROLE_ATTLIST_NONE,  XML_ROLE_ATTLIST_ELEMENT_NAME,  XML_ROLE_IMPLIED_ATTRIBUTE_VALUE,  XML_ROLE_REQUIRED_ATTRIBUTE_VALUE,  XML_ROLE_DEFAULT_ATTRIBUTE_VALUE,  XML_ROLE_FIXED_ATTRIBUTE_VALUE,  XML_ROLE_ELEMENT_NONE,  XML_ROLE_ELEMENT_NAME,  XML_ROLE_CONTENT_ANY,  XML_ROLE_CONTENT_EMPTY,  XML_ROLE_CONTENT_PCDATA,  XML_ROLE_GROUP_OPEN,  XML_ROLE_GROUP_CLOSE,  XML_ROLE_GROUP_CLOSE_REP,  XML_ROLE_GROUP_CLOSE_OPT,  XML_ROLE_GROUP_CLOSE_PLUS,  XML_ROLE_GROUP_CHOICE,  XML_ROLE_GROUP_SEQUENCE,  XML_ROLE_CONTENT_ELEMENT,  XML_ROLE_CONTENT_ELEMENT_REP,  XML_ROLE_CONTENT_ELEMENT_OPT,  XML_ROLE_CONTENT_ELEMENT_PLUS,  XML_ROLE_PI,  XML_ROLE_COMMENT,#ifdef XML_DTD  XML_ROLE_TEXT_DECL,  XML_ROLE_IGNORE_SECT,  XML_ROLE_INNER_PARAM_ENTITY_REF,#endif /* XML_DTD */  XML_ROLE_PARAM_ENTITY_REF}; typedef struct prolog_state {  int (PTRCALL *handler) (struct prolog_state *state,                          int tok,                          const char *ptr,                          const char *end,                          const ENCODING *enc);  unsigned level;  int role_none;#ifdef XML_DTD  unsigned includeLevel;  int documentEntity;  int inEntityValue;#endif /* XML_DTD */} PROLOG_STATE; void XmlPrologStateInit(PROLOG_STATE *);#ifdef XML_DTDvoid XmlPrologStateInitExternalEntity(PROLOG_STATE *);#endif /* XML_DTD */ #define XmlTokenRole(state, tok, ptr, end, enc) \ (((state)->handler)(state, tok, ptr, end, enc)) #ifdef __cplusplus}#endif #endif /* not XmlRole_INCLUDED */