source: trunk/third/expat/lib/xmlrole.h @ 18502

Revision 18502, 3.0 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18501, which included commits to RCS files with non-trunk default branches.
Line 
1/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2   See the file COPYING for copying permission.
3*/
4
5#ifndef XmlRole_INCLUDED
6#define XmlRole_INCLUDED 1
7
8#ifdef __VMS
9/*      0        1         2         3      0        1         2         3
10        1234567890123456789012345678901     1234567890123456789012345678901 */
11#define XmlPrologStateInitExternalEntity    XmlPrologStateInitExternalEnt   
12#endif
13
14#include "xmltok.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20enum {
21  XML_ROLE_ERROR = -1,
22  XML_ROLE_NONE = 0,
23  XML_ROLE_XML_DECL,
24  XML_ROLE_INSTANCE_START,
25  XML_ROLE_DOCTYPE_NONE,
26  XML_ROLE_DOCTYPE_NAME,
27  XML_ROLE_DOCTYPE_SYSTEM_ID,
28  XML_ROLE_DOCTYPE_PUBLIC_ID,
29  XML_ROLE_DOCTYPE_INTERNAL_SUBSET,
30  XML_ROLE_DOCTYPE_CLOSE,
31  XML_ROLE_GENERAL_ENTITY_NAME,
32  XML_ROLE_PARAM_ENTITY_NAME,
33  XML_ROLE_ENTITY_NONE,
34  XML_ROLE_ENTITY_VALUE,
35  XML_ROLE_ENTITY_SYSTEM_ID,
36  XML_ROLE_ENTITY_PUBLIC_ID,
37  XML_ROLE_ENTITY_COMPLETE,
38  XML_ROLE_ENTITY_NOTATION_NAME,
39  XML_ROLE_NOTATION_NONE,
40  XML_ROLE_NOTATION_NAME,
41  XML_ROLE_NOTATION_SYSTEM_ID,
42  XML_ROLE_NOTATION_NO_SYSTEM_ID,
43  XML_ROLE_NOTATION_PUBLIC_ID,
44  XML_ROLE_ATTRIBUTE_NAME,
45  XML_ROLE_ATTRIBUTE_TYPE_CDATA,
46  XML_ROLE_ATTRIBUTE_TYPE_ID,
47  XML_ROLE_ATTRIBUTE_TYPE_IDREF,
48  XML_ROLE_ATTRIBUTE_TYPE_IDREFS,
49  XML_ROLE_ATTRIBUTE_TYPE_ENTITY,
50  XML_ROLE_ATTRIBUTE_TYPE_ENTITIES,
51  XML_ROLE_ATTRIBUTE_TYPE_NMTOKEN,
52  XML_ROLE_ATTRIBUTE_TYPE_NMTOKENS,
53  XML_ROLE_ATTRIBUTE_ENUM_VALUE,
54  XML_ROLE_ATTRIBUTE_NOTATION_VALUE,
55  XML_ROLE_ATTLIST_NONE,
56  XML_ROLE_ATTLIST_ELEMENT_NAME,
57  XML_ROLE_IMPLIED_ATTRIBUTE_VALUE,
58  XML_ROLE_REQUIRED_ATTRIBUTE_VALUE,
59  XML_ROLE_DEFAULT_ATTRIBUTE_VALUE,
60  XML_ROLE_FIXED_ATTRIBUTE_VALUE,
61  XML_ROLE_ELEMENT_NONE,
62  XML_ROLE_ELEMENT_NAME,
63  XML_ROLE_CONTENT_ANY,
64  XML_ROLE_CONTENT_EMPTY,
65  XML_ROLE_CONTENT_PCDATA,
66  XML_ROLE_GROUP_OPEN,
67  XML_ROLE_GROUP_CLOSE,
68  XML_ROLE_GROUP_CLOSE_REP,
69  XML_ROLE_GROUP_CLOSE_OPT,
70  XML_ROLE_GROUP_CLOSE_PLUS,
71  XML_ROLE_GROUP_CHOICE,
72  XML_ROLE_GROUP_SEQUENCE,
73  XML_ROLE_CONTENT_ELEMENT,
74  XML_ROLE_CONTENT_ELEMENT_REP,
75  XML_ROLE_CONTENT_ELEMENT_OPT,
76  XML_ROLE_CONTENT_ELEMENT_PLUS,
77  XML_ROLE_PI,
78  XML_ROLE_COMMENT,
79#ifdef XML_DTD
80  XML_ROLE_TEXT_DECL,
81  XML_ROLE_IGNORE_SECT,
82  XML_ROLE_INNER_PARAM_ENTITY_REF,
83#endif /* XML_DTD */
84  XML_ROLE_PARAM_ENTITY_REF
85};
86
87typedef struct prolog_state {
88  int (FASTCALL *handler) (struct prolog_state *state,
89                          int tok,
90                          const char *ptr,
91                          const char *end,
92                          const ENCODING *enc);
93  unsigned level;
94  int role_none;
95#ifdef XML_DTD
96  unsigned includeLevel;
97  int documentEntity;
98  int inEntityValue;
99#endif /* XML_DTD */
100} PROLOG_STATE;
101
102void XmlPrologStateInit(PROLOG_STATE *);
103#ifdef XML_DTD
104void XmlPrologStateInitExternalEntity(PROLOG_STATE *);
105#endif /* XML_DTD */
106
107#define XmlTokenRole(state, tok, ptr, end, enc) \
108 (((state)->handler)(state, tok, ptr, end, enc))
109
110#ifdef __cplusplus
111}
112#endif
113
114#endif /* not XmlRole_INCLUDED */
Note: See TracBrowser for help on using the repository browser.