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