7 #ifdef COMPILED_FROM_DSP
9 #elif defined(MACOS_CLASSIC)
10 #include "macconfig.h"
11 #elif defined(__amigaos4__)
12 #include "amigaconfig.h"
13 #elif defined(__WATCOMC__)
14 #include "watcomconfig.h"
16 #ifdef HAVE_EXPAT_CONFIG_H
17 #include <expat_config.h>
21 #include "expat_external.h"
34 ASCII_A, ASCII_N, ASCII_Y,
'\0' };
36 ASCII_A, ASCII_T, ASCII_T, ASCII_L, ASCII_I, ASCII_S, ASCII_T,
'\0' };
38 ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
40 ASCII_D, ASCII_O, ASCII_C, ASCII_T, ASCII_Y, ASCII_P, ASCII_E,
'\0' };
42 ASCII_E, ASCII_L, ASCII_E, ASCII_M, ASCII_E, ASCII_N, ASCII_T,
'\0' };
44 ASCII_E, ASCII_M, ASCII_P, ASCII_T, ASCII_Y,
'\0' };
46 ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_I, ASCII_E, ASCII_S,
49 ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_Y,
'\0' };
51 ASCII_F, ASCII_I, ASCII_X, ASCII_E, ASCII_D,
'\0' };
53 ASCII_I, ASCII_D,
'\0' };
55 ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F,
'\0' };
57 ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, ASCII_S,
'\0' };
59 static const char KW_IGNORE[] = {
60 ASCII_I, ASCII_G, ASCII_N, ASCII_O, ASCII_R, ASCII_E,
'\0' };
63 ASCII_I, ASCII_M, ASCII_P, ASCII_L, ASCII_I, ASCII_E, ASCII_D,
'\0' };
65 static const char KW_INCLUDE[] = {
66 ASCII_I, ASCII_N, ASCII_C, ASCII_L, ASCII_U, ASCII_D, ASCII_E,
'\0' };
69 ASCII_N, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
71 ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N,
'\0' };
73 ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, ASCII_S,
76 { ASCII_N, ASCII_O, ASCII_T, ASCII_A, ASCII_T, ASCII_I, ASCII_O, ASCII_N,
79 ASCII_P, ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
81 ASCII_P, ASCII_U, ASCII_B, ASCII_L, ASCII_I, ASCII_C,
'\0' };
83 ASCII_R, ASCII_E, ASCII_Q, ASCII_U, ASCII_I, ASCII_R, ASCII_E, ASCII_D,
86 ASCII_S, ASCII_Y, ASCII_S, ASCII_T, ASCII_E, ASCII_M,
'\0' };
88 #ifndef MIN_BYTES_PER_CHAR
89 #define MIN_BYTES_PER_CHAR(enc) ((enc)->minBytesPerChar)
93 #define setTopLevel(state) \
94 ((state)->handler = ((state)->documentEntity \
98 #define setTopLevel(state) ((state)->handler = internalSubset)
105 const ENCODING *enc);
119 externalSubset0, externalSubset1,
120 condSect0, condSect1, condSect2,
125 static int FASTCALL
common(PROLOG_STATE *state,
int tok);
135 case XML_TOK_PROLOG_S:
137 return XML_ROLE_NONE;
138 case XML_TOK_XML_DECL:
140 return XML_ROLE_XML_DECL;
144 case XML_TOK_COMMENT:
146 return XML_ROLE_COMMENT;
148 return XML_ROLE_NONE;
149 case XML_TOK_DECL_OPEN:
150 if (!XmlNameMatchesAscii(enc,
156 return XML_ROLE_DOCTYPE_NONE;
157 case XML_TOK_INSTANCE_START:
158 state->handler =
error;
159 return XML_ROLE_INSTANCE_START;
161 return common(state, tok);
172 case XML_TOK_PROLOG_S:
173 return XML_ROLE_NONE;
176 case XML_TOK_COMMENT:
177 return XML_ROLE_COMMENT;
179 return XML_ROLE_NONE;
180 case XML_TOK_DECL_OPEN:
181 if (!XmlNameMatchesAscii(enc,
187 return XML_ROLE_DOCTYPE_NONE;
188 case XML_TOK_INSTANCE_START:
189 state->handler =
error;
190 return XML_ROLE_INSTANCE_START;
192 return common(state, tok);
203 case XML_TOK_PROLOG_S:
204 return XML_ROLE_NONE;
207 case XML_TOK_COMMENT:
208 return XML_ROLE_COMMENT;
209 case XML_TOK_INSTANCE_START:
210 state->handler =
error;
211 return XML_ROLE_INSTANCE_START;
213 return common(state, tok);
224 case XML_TOK_PROLOG_S:
225 return XML_ROLE_DOCTYPE_NONE;
227 case XML_TOK_PREFIXED_NAME:
229 return XML_ROLE_DOCTYPE_NAME;
231 return common(state, tok);
242 case XML_TOK_PROLOG_S:
243 return XML_ROLE_DOCTYPE_NONE;
244 case XML_TOK_OPEN_BRACKET:
246 return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
247 case XML_TOK_DECL_CLOSE:
249 return XML_ROLE_DOCTYPE_CLOSE;
251 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
253 return XML_ROLE_DOCTYPE_NONE;
255 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
257 return XML_ROLE_DOCTYPE_NONE;
261 return common(state, tok);
272 case XML_TOK_PROLOG_S:
273 return XML_ROLE_DOCTYPE_NONE;
274 case XML_TOK_LITERAL:
276 return XML_ROLE_DOCTYPE_PUBLIC_ID;
278 return common(state, tok);
289 case XML_TOK_PROLOG_S:
290 return XML_ROLE_DOCTYPE_NONE;
291 case XML_TOK_LITERAL:
293 return XML_ROLE_DOCTYPE_SYSTEM_ID;
295 return common(state, tok);
306 case XML_TOK_PROLOG_S:
307 return XML_ROLE_DOCTYPE_NONE;
308 case XML_TOK_OPEN_BRACKET:
310 return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
311 case XML_TOK_DECL_CLOSE:
313 return XML_ROLE_DOCTYPE_CLOSE;
315 return common(state, tok);
326 case XML_TOK_PROLOG_S:
327 return XML_ROLE_DOCTYPE_NONE;
328 case XML_TOK_DECL_CLOSE:
330 return XML_ROLE_DOCTYPE_CLOSE;
332 return common(state, tok);
343 case XML_TOK_PROLOG_S:
344 return XML_ROLE_NONE;
345 case XML_TOK_DECL_OPEN:
346 if (XmlNameMatchesAscii(enc,
351 return XML_ROLE_ENTITY_NONE;
353 if (XmlNameMatchesAscii(enc,
358 return XML_ROLE_ATTLIST_NONE;
360 if (XmlNameMatchesAscii(enc,
365 return XML_ROLE_ELEMENT_NONE;
367 if (XmlNameMatchesAscii(enc,
372 return XML_ROLE_NOTATION_NONE;
377 case XML_TOK_COMMENT:
378 return XML_ROLE_COMMENT;
379 case XML_TOK_PARAM_ENTITY_REF:
380 return XML_ROLE_PARAM_ENTITY_REF;
381 case XML_TOK_CLOSE_BRACKET:
383 return XML_ROLE_DOCTYPE_NONE;
385 return XML_ROLE_NONE;
387 return common(state, tok);
393 externalSubset0(PROLOG_STATE *state,
399 state->handler = externalSubset1;
400 if (tok == XML_TOK_XML_DECL)
401 return XML_ROLE_TEXT_DECL;
402 return externalSubset1(state, tok, ptr, end, enc);
406 externalSubset1(PROLOG_STATE *state,
413 case XML_TOK_COND_SECT_OPEN:
414 state->handler = condSect0;
415 return XML_ROLE_NONE;
416 case XML_TOK_COND_SECT_CLOSE:
417 if (state->includeLevel == 0)
419 state->includeLevel -= 1;
420 return XML_ROLE_NONE;
421 case XML_TOK_PROLOG_S:
422 return XML_ROLE_NONE;
423 case XML_TOK_CLOSE_BRACKET:
426 if (state->includeLevel)
428 return XML_ROLE_NONE;
432 return common(state, tok);
445 case XML_TOK_PROLOG_S:
446 return XML_ROLE_ENTITY_NONE;
447 case XML_TOK_PERCENT:
449 return XML_ROLE_ENTITY_NONE;
452 return XML_ROLE_GENERAL_ENTITY_NAME;
454 return common(state, tok);
465 case XML_TOK_PROLOG_S:
466 return XML_ROLE_ENTITY_NONE;
469 return XML_ROLE_PARAM_ENTITY_NAME;
471 return common(state, tok);
482 case XML_TOK_PROLOG_S:
483 return XML_ROLE_ENTITY_NONE;
485 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
487 return XML_ROLE_ENTITY_NONE;
489 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
491 return XML_ROLE_ENTITY_NONE;
494 case XML_TOK_LITERAL:
496 state->role_none = XML_ROLE_ENTITY_NONE;
497 return XML_ROLE_ENTITY_VALUE;
499 return common(state, tok);
510 case XML_TOK_PROLOG_S:
511 return XML_ROLE_ENTITY_NONE;
512 case XML_TOK_LITERAL:
514 return XML_ROLE_ENTITY_PUBLIC_ID;
516 return common(state, tok);
527 case XML_TOK_PROLOG_S:
528 return XML_ROLE_ENTITY_NONE;
529 case XML_TOK_LITERAL:
531 return XML_ROLE_ENTITY_SYSTEM_ID;
533 return common(state, tok);
544 case XML_TOK_PROLOG_S:
545 return XML_ROLE_ENTITY_NONE;
546 case XML_TOK_DECL_CLOSE:
548 return XML_ROLE_ENTITY_COMPLETE;
550 if (XmlNameMatchesAscii(enc, ptr, end,
KW_NDATA)) {
552 return XML_ROLE_ENTITY_NONE;
556 return common(state, tok);
567 case XML_TOK_PROLOG_S:
568 return XML_ROLE_ENTITY_NONE;
571 state->role_none = XML_ROLE_ENTITY_NONE;
572 return XML_ROLE_ENTITY_NOTATION_NAME;
574 return common(state, tok);
585 case XML_TOK_PROLOG_S:
586 return XML_ROLE_ENTITY_NONE;
588 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
590 return XML_ROLE_ENTITY_NONE;
592 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
594 return XML_ROLE_ENTITY_NONE;
597 case XML_TOK_LITERAL:
599 state->role_none = XML_ROLE_ENTITY_NONE;
600 return XML_ROLE_ENTITY_VALUE;
602 return common(state, tok);
613 case XML_TOK_PROLOG_S:
614 return XML_ROLE_ENTITY_NONE;
615 case XML_TOK_LITERAL:
617 return XML_ROLE_ENTITY_PUBLIC_ID;
619 return common(state, tok);
630 case XML_TOK_PROLOG_S:
631 return XML_ROLE_ENTITY_NONE;
632 case XML_TOK_LITERAL:
634 return XML_ROLE_ENTITY_SYSTEM_ID;
636 return common(state, tok);
647 case XML_TOK_PROLOG_S:
648 return XML_ROLE_ENTITY_NONE;
649 case XML_TOK_DECL_CLOSE:
651 return XML_ROLE_ENTITY_COMPLETE;
653 return common(state, tok);
664 case XML_TOK_PROLOG_S:
665 return XML_ROLE_NOTATION_NONE;
668 return XML_ROLE_NOTATION_NAME;
670 return common(state, tok);
681 case XML_TOK_PROLOG_S:
682 return XML_ROLE_NOTATION_NONE;
684 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
686 return XML_ROLE_NOTATION_NONE;
688 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
690 return XML_ROLE_NOTATION_NONE;
694 return common(state, tok);
705 case XML_TOK_PROLOG_S:
706 return XML_ROLE_NOTATION_NONE;
707 case XML_TOK_LITERAL:
709 return XML_ROLE_NOTATION_PUBLIC_ID;
711 return common(state, tok);
722 case XML_TOK_PROLOG_S:
723 return XML_ROLE_NOTATION_NONE;
724 case XML_TOK_LITERAL:
726 state->role_none = XML_ROLE_NOTATION_NONE;
727 return XML_ROLE_NOTATION_SYSTEM_ID;
729 return common(state, tok);
740 case XML_TOK_PROLOG_S:
741 return XML_ROLE_NOTATION_NONE;
742 case XML_TOK_LITERAL:
744 state->role_none = XML_ROLE_NOTATION_NONE;
745 return XML_ROLE_NOTATION_SYSTEM_ID;
746 case XML_TOK_DECL_CLOSE:
748 return XML_ROLE_NOTATION_NO_SYSTEM_ID;
750 return common(state, tok);
761 case XML_TOK_PROLOG_S:
762 return XML_ROLE_ATTLIST_NONE;
764 case XML_TOK_PREFIXED_NAME:
766 return XML_ROLE_ATTLIST_ELEMENT_NAME;
768 return common(state, tok);
779 case XML_TOK_PROLOG_S:
780 return XML_ROLE_ATTLIST_NONE;
781 case XML_TOK_DECL_CLOSE:
783 return XML_ROLE_ATTLIST_NONE;
785 case XML_TOK_PREFIXED_NAME:
787 return XML_ROLE_ATTRIBUTE_NAME;
789 return common(state, tok);
800 case XML_TOK_PROLOG_S:
801 return XML_ROLE_ATTLIST_NONE;
804 static const char *
const types[] = {
815 for (i = 0; i < (int)(
sizeof(types)/
sizeof(types[0])); i++)
816 if (XmlNameMatchesAscii(enc, ptr, end, types[i])) {
818 return XML_ROLE_ATTRIBUTE_TYPE_CDATA + i;
821 if (XmlNameMatchesAscii(enc, ptr, end,
KW_NOTATION)) {
823 return XML_ROLE_ATTLIST_NONE;
826 case XML_TOK_OPEN_PAREN:
828 return XML_ROLE_ATTLIST_NONE;
830 return common(state, tok);
841 case XML_TOK_PROLOG_S:
842 return XML_ROLE_ATTLIST_NONE;
843 case XML_TOK_NMTOKEN:
845 case XML_TOK_PREFIXED_NAME:
847 return XML_ROLE_ATTRIBUTE_ENUM_VALUE;
849 return common(state, tok);
860 case XML_TOK_PROLOG_S:
861 return XML_ROLE_ATTLIST_NONE;
862 case XML_TOK_CLOSE_PAREN:
864 return XML_ROLE_ATTLIST_NONE;
867 return XML_ROLE_ATTLIST_NONE;
869 return common(state, tok);
880 case XML_TOK_PROLOG_S:
881 return XML_ROLE_ATTLIST_NONE;
882 case XML_TOK_OPEN_PAREN:
884 return XML_ROLE_ATTLIST_NONE;
886 return common(state, tok);
897 case XML_TOK_PROLOG_S:
898 return XML_ROLE_ATTLIST_NONE;
901 return XML_ROLE_ATTRIBUTE_NOTATION_VALUE;
903 return common(state, tok);
914 case XML_TOK_PROLOG_S:
915 return XML_ROLE_ATTLIST_NONE;
916 case XML_TOK_CLOSE_PAREN:
918 return XML_ROLE_ATTLIST_NONE;
921 return XML_ROLE_ATTLIST_NONE;
923 return common(state, tok);
935 case XML_TOK_PROLOG_S:
936 return XML_ROLE_ATTLIST_NONE;
937 case XML_TOK_POUND_NAME:
938 if (XmlNameMatchesAscii(enc,
943 return XML_ROLE_IMPLIED_ATTRIBUTE_VALUE;
945 if (XmlNameMatchesAscii(enc,
950 return XML_ROLE_REQUIRED_ATTRIBUTE_VALUE;
952 if (XmlNameMatchesAscii(enc,
957 return XML_ROLE_ATTLIST_NONE;
960 case XML_TOK_LITERAL:
962 return XML_ROLE_DEFAULT_ATTRIBUTE_VALUE;
964 return common(state, tok);
975 case XML_TOK_PROLOG_S:
976 return XML_ROLE_ATTLIST_NONE;
977 case XML_TOK_LITERAL:
979 return XML_ROLE_FIXED_ATTRIBUTE_VALUE;
981 return common(state, tok);
992 case XML_TOK_PROLOG_S:
993 return XML_ROLE_ELEMENT_NONE;
995 case XML_TOK_PREFIXED_NAME:
997 return XML_ROLE_ELEMENT_NAME;
999 return common(state, tok);
1007 const ENCODING *enc)
1010 case XML_TOK_PROLOG_S:
1011 return XML_ROLE_ELEMENT_NONE;
1013 if (XmlNameMatchesAscii(enc, ptr, end,
KW_EMPTY)) {
1015 state->role_none = XML_ROLE_ELEMENT_NONE;
1016 return XML_ROLE_CONTENT_EMPTY;
1018 if (XmlNameMatchesAscii(enc, ptr, end,
KW_ANY)) {
1020 state->role_none = XML_ROLE_ELEMENT_NONE;
1021 return XML_ROLE_CONTENT_ANY;
1024 case XML_TOK_OPEN_PAREN:
1027 return XML_ROLE_GROUP_OPEN;
1029 return common(state, tok);
1037 const ENCODING *enc)
1040 case XML_TOK_PROLOG_S:
1041 return XML_ROLE_ELEMENT_NONE;
1042 case XML_TOK_POUND_NAME:
1043 if (XmlNameMatchesAscii(enc,
1048 return XML_ROLE_CONTENT_PCDATA;
1051 case XML_TOK_OPEN_PAREN:
1054 return XML_ROLE_GROUP_OPEN;
1056 case XML_TOK_PREFIXED_NAME:
1058 return XML_ROLE_CONTENT_ELEMENT;
1059 case XML_TOK_NAME_QUESTION:
1061 return XML_ROLE_CONTENT_ELEMENT_OPT;
1062 case XML_TOK_NAME_ASTERISK:
1064 return XML_ROLE_CONTENT_ELEMENT_REP;
1065 case XML_TOK_NAME_PLUS:
1067 return XML_ROLE_CONTENT_ELEMENT_PLUS;
1069 return common(state, tok);
1077 const ENCODING *enc)
1080 case XML_TOK_PROLOG_S:
1081 return XML_ROLE_ELEMENT_NONE;
1082 case XML_TOK_CLOSE_PAREN:
1084 state->role_none = XML_ROLE_ELEMENT_NONE;
1085 return XML_ROLE_GROUP_CLOSE;
1086 case XML_TOK_CLOSE_PAREN_ASTERISK:
1088 state->role_none = XML_ROLE_ELEMENT_NONE;
1089 return XML_ROLE_GROUP_CLOSE_REP;
1092 return XML_ROLE_ELEMENT_NONE;
1094 return common(state, tok);
1102 const ENCODING *enc)
1105 case XML_TOK_PROLOG_S:
1106 return XML_ROLE_ELEMENT_NONE;
1108 case XML_TOK_PREFIXED_NAME:
1110 return XML_ROLE_CONTENT_ELEMENT;
1112 return common(state, tok);
1120 const ENCODING *enc)
1123 case XML_TOK_PROLOG_S:
1124 return XML_ROLE_ELEMENT_NONE;
1125 case XML_TOK_CLOSE_PAREN_ASTERISK:
1127 state->role_none = XML_ROLE_ELEMENT_NONE;
1128 return XML_ROLE_GROUP_CLOSE_REP;
1131 return XML_ROLE_ELEMENT_NONE;
1133 return common(state, tok);
1141 const ENCODING *enc)
1144 case XML_TOK_PROLOG_S:
1145 return XML_ROLE_ELEMENT_NONE;
1146 case XML_TOK_OPEN_PAREN:
1148 return XML_ROLE_GROUP_OPEN;
1150 case XML_TOK_PREFIXED_NAME:
1152 return XML_ROLE_CONTENT_ELEMENT;
1153 case XML_TOK_NAME_QUESTION:
1155 return XML_ROLE_CONTENT_ELEMENT_OPT;
1156 case XML_TOK_NAME_ASTERISK:
1158 return XML_ROLE_CONTENT_ELEMENT_REP;
1159 case XML_TOK_NAME_PLUS:
1161 return XML_ROLE_CONTENT_ELEMENT_PLUS;
1163 return common(state, tok);
1171 const ENCODING *enc)
1174 case XML_TOK_PROLOG_S:
1175 return XML_ROLE_ELEMENT_NONE;
1176 case XML_TOK_CLOSE_PAREN:
1178 if (state->level == 0) {
1180 state->role_none = XML_ROLE_ELEMENT_NONE;
1182 return XML_ROLE_GROUP_CLOSE;
1183 case XML_TOK_CLOSE_PAREN_ASTERISK:
1185 if (state->level == 0) {
1187 state->role_none = XML_ROLE_ELEMENT_NONE;
1189 return XML_ROLE_GROUP_CLOSE_REP;
1190 case XML_TOK_CLOSE_PAREN_QUESTION:
1192 if (state->level == 0) {
1194 state->role_none = XML_ROLE_ELEMENT_NONE;
1196 return XML_ROLE_GROUP_CLOSE_OPT;
1197 case XML_TOK_CLOSE_PAREN_PLUS:
1199 if (state->level == 0) {
1201 state->role_none = XML_ROLE_ELEMENT_NONE;
1203 return XML_ROLE_GROUP_CLOSE_PLUS;
1206 return XML_ROLE_GROUP_SEQUENCE;
1209 return XML_ROLE_GROUP_CHOICE;
1211 return common(state, tok);
1217 condSect0(PROLOG_STATE *state,
1221 const ENCODING *enc)
1224 case XML_TOK_PROLOG_S:
1225 return XML_ROLE_NONE;
1227 if (XmlNameMatchesAscii(enc, ptr, end, KW_INCLUDE)) {
1228 state->handler = condSect1;
1229 return XML_ROLE_NONE;
1231 if (XmlNameMatchesAscii(enc, ptr, end, KW_IGNORE)) {
1232 state->handler = condSect2;
1233 return XML_ROLE_NONE;
1237 return common(state, tok);
1241 condSect1(PROLOG_STATE *state,
1245 const ENCODING *enc)
1248 case XML_TOK_PROLOG_S:
1249 return XML_ROLE_NONE;
1250 case XML_TOK_OPEN_BRACKET:
1251 state->handler = externalSubset1;
1252 state->includeLevel += 1;
1253 return XML_ROLE_NONE;
1255 return common(state, tok);
1259 condSect2(PROLOG_STATE *state,
1263 const ENCODING *enc)
1266 case XML_TOK_PROLOG_S:
1267 return XML_ROLE_NONE;
1268 case XML_TOK_OPEN_BRACKET:
1269 state->handler = externalSubset1;
1270 return XML_ROLE_IGNORE_SECT;
1272 return common(state, tok);
1282 const ENCODING *enc)
1285 case XML_TOK_PROLOG_S:
1286 return state->role_none;
1287 case XML_TOK_DECL_CLOSE:
1289 return state->role_none;
1291 return common(state, tok);
1299 const ENCODING *enc)
1301 return XML_ROLE_NONE;
1308 if (!state->documentEntity && tok == XML_TOK_PARAM_ENTITY_REF)
1309 return XML_ROLE_INNER_PARAM_ENTITY_REF;
1311 state->handler =
error;
1312 return XML_ROLE_ERROR;
1320 state->documentEntity = 1;
1321 state->includeLevel = 0;
1322 state->inEntityValue = 0;
1329 XmlPrologStateInitExternalEntity(PROLOG_STATE *state)
1331 state->handler = externalSubset0;
1332 state->documentEntity = 0;
1333 state->includeLevel = 0;
static const char KW_FIXED[]
static PROLOG_HANDLER attlist1
static const char KW_ELEMENT[]
static PROLOG_HANDLER doctype4
static PROLOG_HANDLER attlist7
static const char KW_ENTITY[]
static const char KW_PUBLIC[]
static PROLOG_HANDLER attlist6
static PROLOG_HANDLER attlist0
static PROLOG_HANDLER doctype5
#define setTopLevel(state)
int PTRCALL PROLOG_HANDLER(PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int FASTCALL common(PROLOG_STATE *state, int tok)
static PROLOG_HANDLER attlist9
static const char KW_ID[]
static PROLOG_HANDLER attlist5
static const char KW_DOCTYPE[]
static PROLOG_HANDLER internalSubset
static const char KW_IDREF[]
static PROLOG_HANDLER entity6
static const char KW_SYSTEM[]
static PROLOG_HANDLER entity3
static PROLOG_HANDLER attlist3
#define MIN_BYTES_PER_CHAR(enc)
static const char KW_NMTOKENS[]
static PROLOG_HANDLER doctype0
static PROLOG_HANDLER notation2
static const char KW_ATTLIST[]
static PROLOG_HANDLER notation3
static PROLOG_HANDLER entity4
static PROLOG_HANDLER entity2
static PROLOG_HANDLER entity1
static const char KW_PCDATA[]
static const char KW_IMPLIED[]
static const char KW_CDATA[]
static PROLOG_HANDLER prolog2
static const char KW_ENTITIES[]
static PROLOG_HANDLER entity5
static PROLOG_HANDLER element6
static PROLOG_HANDLER element1
static const char KW_NOTATION[]
void XmlPrologStateInit(PROLOG_STATE *state)
static PROLOG_HANDLER doctype1
static PROLOG_HANDLER entity10
static PROLOG_HANDLER notation4
static PROLOG_HANDLER element5
static PROLOG_HANDLER entity0
static const char KW_REQUIRED[]
static PROLOG_HANDLER entity7
static PROLOG_HANDLER attlist4
static const char KW_IDREFS[]
static PROLOG_HANDLER element7
static PROLOG_HANDLER element4
static PROLOG_HANDLER prolog1
static PROLOG_HANDLER error
static PROLOG_HANDLER doctype2
static PROLOG_HANDLER entity8
static const char KW_NDATA[]
static PROLOG_HANDLER prolog0
static PROLOG_HANDLER attlist8
static PROLOG_HANDLER notation0
static const char KW_ANY[]
static PROLOG_HANDLER declClose
static const char KW_NMTOKEN[]
static PROLOG_HANDLER notation1
static PROLOG_HANDLER doctype3
static PROLOG_HANDLER attlist2
static PROLOG_HANDLER element3
static PROLOG_HANDLER element0
static const char KW_EMPTY[]
static PROLOG_HANDLER entity9
static PROLOG_HANDLER element2