5 #if defined(__clang__) || defined(__GNUC__)
6 #pragma GCC diagnostic ignored "-Wunused-parameter"
11 #ifdef COMPILED_FROM_DSP
12 #include "winconfig.h"
13 #elif defined(MACOS_CLASSIC)
14 #include "macconfig.h"
15 #elif defined(__amigaos__)
16 #include "amigaconfig.h"
17 #elif defined(__WATCOMC__)
18 #include "watcomconfig.h"
20 #ifdef HAVE_EXPAT_CONFIG_H
21 #include <expat_config.h>
25 #include "expat_external.h"
38 ASCII_A, ASCII_N, ASCII_Y,
'\0' };
40 ASCII_A, ASCII_T, ASCII_T, ASCII_L, ASCII_I, ASCII_S, ASCII_T,
'\0' };
42 ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
44 ASCII_D, ASCII_O, ASCII_C, ASCII_T, ASCII_Y, ASCII_P, ASCII_E,
'\0' };
46 ASCII_E, ASCII_L, ASCII_E, ASCII_M, ASCII_E, ASCII_N, ASCII_T,
'\0' };
48 ASCII_E, ASCII_M, ASCII_P, ASCII_T, ASCII_Y,
'\0' };
50 ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_I, ASCII_E, ASCII_S,
53 ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_Y,
'\0' };
55 ASCII_F, ASCII_I, ASCII_X, ASCII_E, ASCII_D,
'\0' };
57 ASCII_I, ASCII_D,
'\0' };
59 ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F,
'\0' };
61 ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, ASCII_S,
'\0' };
63 static const char KW_IGNORE[] = {
64 ASCII_I, ASCII_G, ASCII_N, ASCII_O, ASCII_R, ASCII_E,
'\0' };
67 ASCII_I, ASCII_M, ASCII_P, ASCII_L, ASCII_I, ASCII_E, ASCII_D,
'\0' };
69 static const char KW_INCLUDE[] = {
70 ASCII_I, ASCII_N, ASCII_C, ASCII_L, ASCII_U, ASCII_D, ASCII_E,
'\0' };
73 ASCII_N, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
75 ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N,
'\0' };
77 ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, ASCII_S,
80 { ASCII_N, ASCII_O, ASCII_T, ASCII_A, ASCII_T, ASCII_I, ASCII_O, ASCII_N,
83 ASCII_P, ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A,
'\0' };
85 ASCII_P, ASCII_U, ASCII_B, ASCII_L, ASCII_I, ASCII_C,
'\0' };
87 ASCII_R, ASCII_E, ASCII_Q, ASCII_U, ASCII_I, ASCII_R, ASCII_E, ASCII_D,
90 ASCII_S, ASCII_Y, ASCII_S, ASCII_T, ASCII_E, ASCII_M,
'\0' };
92 #ifndef MIN_BYTES_PER_CHAR
93 #define MIN_BYTES_PER_CHAR(enc) ((enc)->minBytesPerChar)
97 #define setTopLevel(state) \
98 ((state)->handler = ((state)->documentEntity \
102 #define setTopLevel(state) ((state)->handler = internalSubset)
109 const ENCODING *enc);
123 externalSubset0, externalSubset1,
124 condSect0, condSect1, condSect2,
129 static int FASTCALL
common(PROLOG_STATE *state,
int tok);
139 case XML_TOK_PROLOG_S:
141 return XML_ROLE_NONE;
142 case XML_TOK_XML_DECL:
144 return XML_ROLE_XML_DECL;
148 case XML_TOK_COMMENT:
150 return XML_ROLE_COMMENT;
152 return XML_ROLE_NONE;
153 case XML_TOK_DECL_OPEN:
154 if (!XmlNameMatchesAscii(enc,
160 return XML_ROLE_DOCTYPE_NONE;
161 case XML_TOK_INSTANCE_START:
162 state->handler =
error;
163 return XML_ROLE_INSTANCE_START;
165 return common(state, tok);
176 case XML_TOK_PROLOG_S:
177 return XML_ROLE_NONE;
180 case XML_TOK_COMMENT:
181 return XML_ROLE_COMMENT;
183 return XML_ROLE_NONE;
184 case XML_TOK_DECL_OPEN:
185 if (!XmlNameMatchesAscii(enc,
191 return XML_ROLE_DOCTYPE_NONE;
192 case XML_TOK_INSTANCE_START:
193 state->handler =
error;
194 return XML_ROLE_INSTANCE_START;
196 return common(state, tok);
207 case XML_TOK_PROLOG_S:
208 return XML_ROLE_NONE;
211 case XML_TOK_COMMENT:
212 return XML_ROLE_COMMENT;
213 case XML_TOK_INSTANCE_START:
214 state->handler =
error;
215 return XML_ROLE_INSTANCE_START;
217 return common(state, tok);
228 case XML_TOK_PROLOG_S:
229 return XML_ROLE_DOCTYPE_NONE;
231 case XML_TOK_PREFIXED_NAME:
233 return XML_ROLE_DOCTYPE_NAME;
235 return common(state, tok);
246 case XML_TOK_PROLOG_S:
247 return XML_ROLE_DOCTYPE_NONE;
248 case XML_TOK_OPEN_BRACKET:
250 return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
251 case XML_TOK_DECL_CLOSE:
253 return XML_ROLE_DOCTYPE_CLOSE;
255 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
257 return XML_ROLE_DOCTYPE_NONE;
259 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
261 return XML_ROLE_DOCTYPE_NONE;
265 return common(state, tok);
276 case XML_TOK_PROLOG_S:
277 return XML_ROLE_DOCTYPE_NONE;
278 case XML_TOK_LITERAL:
280 return XML_ROLE_DOCTYPE_PUBLIC_ID;
282 return common(state, tok);
293 case XML_TOK_PROLOG_S:
294 return XML_ROLE_DOCTYPE_NONE;
295 case XML_TOK_LITERAL:
297 return XML_ROLE_DOCTYPE_SYSTEM_ID;
299 return common(state, tok);
310 case XML_TOK_PROLOG_S:
311 return XML_ROLE_DOCTYPE_NONE;
312 case XML_TOK_OPEN_BRACKET:
314 return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
315 case XML_TOK_DECL_CLOSE:
317 return XML_ROLE_DOCTYPE_CLOSE;
319 return common(state, tok);
330 case XML_TOK_PROLOG_S:
331 return XML_ROLE_DOCTYPE_NONE;
332 case XML_TOK_DECL_CLOSE:
334 return XML_ROLE_DOCTYPE_CLOSE;
336 return common(state, tok);
347 case XML_TOK_PROLOG_S:
348 return XML_ROLE_NONE;
349 case XML_TOK_DECL_OPEN:
350 if (XmlNameMatchesAscii(enc,
355 return XML_ROLE_ENTITY_NONE;
357 if (XmlNameMatchesAscii(enc,
362 return XML_ROLE_ATTLIST_NONE;
364 if (XmlNameMatchesAscii(enc,
369 return XML_ROLE_ELEMENT_NONE;
371 if (XmlNameMatchesAscii(enc,
376 return XML_ROLE_NOTATION_NONE;
381 case XML_TOK_COMMENT:
382 return XML_ROLE_COMMENT;
383 case XML_TOK_PARAM_ENTITY_REF:
384 return XML_ROLE_PARAM_ENTITY_REF;
385 case XML_TOK_CLOSE_BRACKET:
387 return XML_ROLE_DOCTYPE_NONE;
389 return XML_ROLE_NONE;
391 return common(state, tok);
397 externalSubset0(PROLOG_STATE *state,
403 state->handler = externalSubset1;
404 if (tok == XML_TOK_XML_DECL)
405 return XML_ROLE_TEXT_DECL;
406 return externalSubset1(state, tok, ptr, end, enc);
410 externalSubset1(PROLOG_STATE *state,
417 case XML_TOK_COND_SECT_OPEN:
418 state->handler = condSect0;
419 return XML_ROLE_NONE;
420 case XML_TOK_COND_SECT_CLOSE:
421 if (state->includeLevel == 0)
423 state->includeLevel -= 1;
424 return XML_ROLE_NONE;
425 case XML_TOK_PROLOG_S:
426 return XML_ROLE_NONE;
427 case XML_TOK_CLOSE_BRACKET:
430 if (state->includeLevel)
432 return XML_ROLE_NONE;
436 return common(state, tok);
449 case XML_TOK_PROLOG_S:
450 return XML_ROLE_ENTITY_NONE;
451 case XML_TOK_PERCENT:
453 return XML_ROLE_ENTITY_NONE;
456 return XML_ROLE_GENERAL_ENTITY_NAME;
458 return common(state, tok);
469 case XML_TOK_PROLOG_S:
470 return XML_ROLE_ENTITY_NONE;
473 return XML_ROLE_PARAM_ENTITY_NAME;
475 return common(state, tok);
486 case XML_TOK_PROLOG_S:
487 return XML_ROLE_ENTITY_NONE;
489 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
491 return XML_ROLE_ENTITY_NONE;
493 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
495 return XML_ROLE_ENTITY_NONE;
498 case XML_TOK_LITERAL:
500 state->role_none = XML_ROLE_ENTITY_NONE;
501 return XML_ROLE_ENTITY_VALUE;
503 return common(state, tok);
514 case XML_TOK_PROLOG_S:
515 return XML_ROLE_ENTITY_NONE;
516 case XML_TOK_LITERAL:
518 return XML_ROLE_ENTITY_PUBLIC_ID;
520 return common(state, tok);
531 case XML_TOK_PROLOG_S:
532 return XML_ROLE_ENTITY_NONE;
533 case XML_TOK_LITERAL:
535 return XML_ROLE_ENTITY_SYSTEM_ID;
537 return common(state, tok);
548 case XML_TOK_PROLOG_S:
549 return XML_ROLE_ENTITY_NONE;
550 case XML_TOK_DECL_CLOSE:
552 return XML_ROLE_ENTITY_COMPLETE;
554 if (XmlNameMatchesAscii(enc, ptr, end,
KW_NDATA)) {
556 return XML_ROLE_ENTITY_NONE;
560 return common(state, tok);
571 case XML_TOK_PROLOG_S:
572 return XML_ROLE_ENTITY_NONE;
575 state->role_none = XML_ROLE_ENTITY_NONE;
576 return XML_ROLE_ENTITY_NOTATION_NAME;
578 return common(state, tok);
589 case XML_TOK_PROLOG_S:
590 return XML_ROLE_ENTITY_NONE;
592 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
594 return XML_ROLE_ENTITY_NONE;
596 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
598 return XML_ROLE_ENTITY_NONE;
601 case XML_TOK_LITERAL:
603 state->role_none = XML_ROLE_ENTITY_NONE;
604 return XML_ROLE_ENTITY_VALUE;
606 return common(state, tok);
617 case XML_TOK_PROLOG_S:
618 return XML_ROLE_ENTITY_NONE;
619 case XML_TOK_LITERAL:
621 return XML_ROLE_ENTITY_PUBLIC_ID;
623 return common(state, tok);
634 case XML_TOK_PROLOG_S:
635 return XML_ROLE_ENTITY_NONE;
636 case XML_TOK_LITERAL:
638 return XML_ROLE_ENTITY_SYSTEM_ID;
640 return common(state, tok);
651 case XML_TOK_PROLOG_S:
652 return XML_ROLE_ENTITY_NONE;
653 case XML_TOK_DECL_CLOSE:
655 return XML_ROLE_ENTITY_COMPLETE;
657 return common(state, tok);
668 case XML_TOK_PROLOG_S:
669 return XML_ROLE_NOTATION_NONE;
672 return XML_ROLE_NOTATION_NAME;
674 return common(state, tok);
685 case XML_TOK_PROLOG_S:
686 return XML_ROLE_NOTATION_NONE;
688 if (XmlNameMatchesAscii(enc, ptr, end,
KW_SYSTEM)) {
690 return XML_ROLE_NOTATION_NONE;
692 if (XmlNameMatchesAscii(enc, ptr, end,
KW_PUBLIC)) {
694 return XML_ROLE_NOTATION_NONE;
698 return common(state, tok);
709 case XML_TOK_PROLOG_S:
710 return XML_ROLE_NOTATION_NONE;
711 case XML_TOK_LITERAL:
713 return XML_ROLE_NOTATION_PUBLIC_ID;
715 return common(state, tok);
726 case XML_TOK_PROLOG_S:
727 return XML_ROLE_NOTATION_NONE;
728 case XML_TOK_LITERAL:
730 state->role_none = XML_ROLE_NOTATION_NONE;
731 return XML_ROLE_NOTATION_SYSTEM_ID;
733 return common(state, tok);
744 case XML_TOK_PROLOG_S:
745 return XML_ROLE_NOTATION_NONE;
746 case XML_TOK_LITERAL:
748 state->role_none = XML_ROLE_NOTATION_NONE;
749 return XML_ROLE_NOTATION_SYSTEM_ID;
750 case XML_TOK_DECL_CLOSE:
752 return XML_ROLE_NOTATION_NO_SYSTEM_ID;
754 return common(state, tok);
765 case XML_TOK_PROLOG_S:
766 return XML_ROLE_ATTLIST_NONE;
768 case XML_TOK_PREFIXED_NAME:
770 return XML_ROLE_ATTLIST_ELEMENT_NAME;
772 return common(state, tok);
783 case XML_TOK_PROLOG_S:
784 return XML_ROLE_ATTLIST_NONE;
785 case XML_TOK_DECL_CLOSE:
787 return XML_ROLE_ATTLIST_NONE;
789 case XML_TOK_PREFIXED_NAME:
791 return XML_ROLE_ATTRIBUTE_NAME;
793 return common(state, tok);
804 case XML_TOK_PROLOG_S:
805 return XML_ROLE_ATTLIST_NONE;
808 static const char *
const types[] = {
819 for (i = 0; i < (int)(
sizeof(types)/
sizeof(types[0])); i++)
820 if (XmlNameMatchesAscii(enc, ptr, end, types[i])) {
822 return XML_ROLE_ATTRIBUTE_TYPE_CDATA + i;
825 if (XmlNameMatchesAscii(enc, ptr, end,
KW_NOTATION)) {
827 return XML_ROLE_ATTLIST_NONE;
830 case XML_TOK_OPEN_PAREN:
832 return XML_ROLE_ATTLIST_NONE;
834 return common(state, tok);
845 case XML_TOK_PROLOG_S:
846 return XML_ROLE_ATTLIST_NONE;
847 case XML_TOK_NMTOKEN:
849 case XML_TOK_PREFIXED_NAME:
851 return XML_ROLE_ATTRIBUTE_ENUM_VALUE;
853 return common(state, tok);
864 case XML_TOK_PROLOG_S:
865 return XML_ROLE_ATTLIST_NONE;
866 case XML_TOK_CLOSE_PAREN:
868 return XML_ROLE_ATTLIST_NONE;
871 return XML_ROLE_ATTLIST_NONE;
873 return common(state, tok);
884 case XML_TOK_PROLOG_S:
885 return XML_ROLE_ATTLIST_NONE;
886 case XML_TOK_OPEN_PAREN:
888 return XML_ROLE_ATTLIST_NONE;
890 return common(state, tok);
901 case XML_TOK_PROLOG_S:
902 return XML_ROLE_ATTLIST_NONE;
905 return XML_ROLE_ATTRIBUTE_NOTATION_VALUE;
907 return common(state, tok);
918 case XML_TOK_PROLOG_S:
919 return XML_ROLE_ATTLIST_NONE;
920 case XML_TOK_CLOSE_PAREN:
922 return XML_ROLE_ATTLIST_NONE;
925 return XML_ROLE_ATTLIST_NONE;
927 return common(state, tok);
939 case XML_TOK_PROLOG_S:
940 return XML_ROLE_ATTLIST_NONE;
941 case XML_TOK_POUND_NAME:
942 if (XmlNameMatchesAscii(enc,
947 return XML_ROLE_IMPLIED_ATTRIBUTE_VALUE;
949 if (XmlNameMatchesAscii(enc,
954 return XML_ROLE_REQUIRED_ATTRIBUTE_VALUE;
956 if (XmlNameMatchesAscii(enc,
961 return XML_ROLE_ATTLIST_NONE;
964 case XML_TOK_LITERAL:
966 return XML_ROLE_DEFAULT_ATTRIBUTE_VALUE;
968 return common(state, tok);
979 case XML_TOK_PROLOG_S:
980 return XML_ROLE_ATTLIST_NONE;
981 case XML_TOK_LITERAL:
983 return XML_ROLE_FIXED_ATTRIBUTE_VALUE;
985 return common(state, tok);
996 case XML_TOK_PROLOG_S:
997 return XML_ROLE_ELEMENT_NONE;
999 case XML_TOK_PREFIXED_NAME:
1001 return XML_ROLE_ELEMENT_NAME;
1003 return common(state, tok);
1011 const ENCODING *enc)
1014 case XML_TOK_PROLOG_S:
1015 return XML_ROLE_ELEMENT_NONE;
1017 if (XmlNameMatchesAscii(enc, ptr, end,
KW_EMPTY)) {
1019 state->role_none = XML_ROLE_ELEMENT_NONE;
1020 return XML_ROLE_CONTENT_EMPTY;
1022 if (XmlNameMatchesAscii(enc, ptr, end,
KW_ANY)) {
1024 state->role_none = XML_ROLE_ELEMENT_NONE;
1025 return XML_ROLE_CONTENT_ANY;
1028 case XML_TOK_OPEN_PAREN:
1031 return XML_ROLE_GROUP_OPEN;
1033 return common(state, tok);
1041 const ENCODING *enc)
1044 case XML_TOK_PROLOG_S:
1045 return XML_ROLE_ELEMENT_NONE;
1046 case XML_TOK_POUND_NAME:
1047 if (XmlNameMatchesAscii(enc,
1052 return XML_ROLE_CONTENT_PCDATA;
1055 case XML_TOK_OPEN_PAREN:
1058 return XML_ROLE_GROUP_OPEN;
1060 case XML_TOK_PREFIXED_NAME:
1062 return XML_ROLE_CONTENT_ELEMENT;
1063 case XML_TOK_NAME_QUESTION:
1065 return XML_ROLE_CONTENT_ELEMENT_OPT;
1066 case XML_TOK_NAME_ASTERISK:
1068 return XML_ROLE_CONTENT_ELEMENT_REP;
1069 case XML_TOK_NAME_PLUS:
1071 return XML_ROLE_CONTENT_ELEMENT_PLUS;
1073 return common(state, tok);
1081 const ENCODING *enc)
1084 case XML_TOK_PROLOG_S:
1085 return XML_ROLE_ELEMENT_NONE;
1086 case XML_TOK_CLOSE_PAREN:
1088 state->role_none = XML_ROLE_ELEMENT_NONE;
1089 return XML_ROLE_GROUP_CLOSE;
1090 case XML_TOK_CLOSE_PAREN_ASTERISK:
1092 state->role_none = XML_ROLE_ELEMENT_NONE;
1093 return XML_ROLE_GROUP_CLOSE_REP;
1096 return XML_ROLE_ELEMENT_NONE;
1098 return common(state, tok);
1106 const ENCODING *enc)
1109 case XML_TOK_PROLOG_S:
1110 return XML_ROLE_ELEMENT_NONE;
1112 case XML_TOK_PREFIXED_NAME:
1114 return XML_ROLE_CONTENT_ELEMENT;
1116 return common(state, tok);
1124 const ENCODING *enc)
1127 case XML_TOK_PROLOG_S:
1128 return XML_ROLE_ELEMENT_NONE;
1129 case XML_TOK_CLOSE_PAREN_ASTERISK:
1131 state->role_none = XML_ROLE_ELEMENT_NONE;
1132 return XML_ROLE_GROUP_CLOSE_REP;
1135 return XML_ROLE_ELEMENT_NONE;
1137 return common(state, tok);
1145 const ENCODING *enc)
1148 case XML_TOK_PROLOG_S:
1149 return XML_ROLE_ELEMENT_NONE;
1150 case XML_TOK_OPEN_PAREN:
1152 return XML_ROLE_GROUP_OPEN;
1154 case XML_TOK_PREFIXED_NAME:
1156 return XML_ROLE_CONTENT_ELEMENT;
1157 case XML_TOK_NAME_QUESTION:
1159 return XML_ROLE_CONTENT_ELEMENT_OPT;
1160 case XML_TOK_NAME_ASTERISK:
1162 return XML_ROLE_CONTENT_ELEMENT_REP;
1163 case XML_TOK_NAME_PLUS:
1165 return XML_ROLE_CONTENT_ELEMENT_PLUS;
1167 return common(state, tok);
1175 const ENCODING *enc)
1178 case XML_TOK_PROLOG_S:
1179 return XML_ROLE_ELEMENT_NONE;
1180 case XML_TOK_CLOSE_PAREN:
1182 if (state->level == 0) {
1184 state->role_none = XML_ROLE_ELEMENT_NONE;
1186 return XML_ROLE_GROUP_CLOSE;
1187 case XML_TOK_CLOSE_PAREN_ASTERISK:
1189 if (state->level == 0) {
1191 state->role_none = XML_ROLE_ELEMENT_NONE;
1193 return XML_ROLE_GROUP_CLOSE_REP;
1194 case XML_TOK_CLOSE_PAREN_QUESTION:
1196 if (state->level == 0) {
1198 state->role_none = XML_ROLE_ELEMENT_NONE;
1200 return XML_ROLE_GROUP_CLOSE_OPT;
1201 case XML_TOK_CLOSE_PAREN_PLUS:
1203 if (state->level == 0) {
1205 state->role_none = XML_ROLE_ELEMENT_NONE;
1207 return XML_ROLE_GROUP_CLOSE_PLUS;
1210 return XML_ROLE_GROUP_SEQUENCE;
1213 return XML_ROLE_GROUP_CHOICE;
1215 return common(state, tok);
1221 condSect0(PROLOG_STATE *state,
1225 const ENCODING *enc)
1228 case XML_TOK_PROLOG_S:
1229 return XML_ROLE_NONE;
1231 if (XmlNameMatchesAscii(enc, ptr, end, KW_INCLUDE)) {
1232 state->handler = condSect1;
1233 return XML_ROLE_NONE;
1235 if (XmlNameMatchesAscii(enc, ptr, end, KW_IGNORE)) {
1236 state->handler = condSect2;
1237 return XML_ROLE_NONE;
1241 return common(state, tok);
1245 condSect1(PROLOG_STATE *state,
1249 const ENCODING *enc)
1252 case XML_TOK_PROLOG_S:
1253 return XML_ROLE_NONE;
1254 case XML_TOK_OPEN_BRACKET:
1255 state->handler = externalSubset1;
1256 state->includeLevel += 1;
1257 return XML_ROLE_NONE;
1259 return common(state, tok);
1263 condSect2(PROLOG_STATE *state,
1267 const ENCODING *enc)
1270 case XML_TOK_PROLOG_S:
1271 return XML_ROLE_NONE;
1272 case XML_TOK_OPEN_BRACKET:
1273 state->handler = externalSubset1;
1274 return XML_ROLE_IGNORE_SECT;
1276 return common(state, tok);
1286 const ENCODING *enc)
1289 case XML_TOK_PROLOG_S:
1290 return state->role_none;
1291 case XML_TOK_DECL_CLOSE:
1293 return state->role_none;
1295 return common(state, tok);
1303 const ENCODING *enc)
1305 return XML_ROLE_NONE;
1312 if (!state->documentEntity && tok == XML_TOK_PARAM_ENTITY_REF)
1313 return XML_ROLE_INNER_PARAM_ENTITY_REF;
1315 state->handler =
error;
1316 return XML_ROLE_ERROR;
1324 state->documentEntity = 1;
1325 state->includeLevel = 0;
1326 state->inEntityValue = 0;
1333 XmlPrologStateInitExternalEntity(PROLOG_STATE *state)
1335 state->handler = externalSubset0;
1336 state->documentEntity = 0;
1337 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