blob: 0047f06420ca642655fa9fae8eff7b853a5eb220 [file] [log] [blame]
Daniel Veillarda11001b2001-11-12 22:45:36 +00001#include <libxml/parser.h>
2
Owen Taylor3473f882001-02-23 17:55:21 +00003#ifndef __XML_ERROR_H__
4#define __XML_ERROR_H__
5
Owen Taylor3473f882001-02-23 17:55:21 +00006#ifdef __cplusplus
7extern "C" {
8#endif
9
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000010/**
11 * xmlErrorLevel:
12 *
13 * Indicates the level of an error
14 */
15typedef enum {
16 XML_ERR_NONE = 0,
17 XML_ERR_WARNING = 1, /* A simple warning */
18 XML_ERR_ERROR = 2, /* A recoverable error */
19 XML_ERR_FATAL = 3 /* A fatal error */
20} xmlErrorLevel;
21
22/**
23 * xmlErrorDomain:
24 *
25 * Indicates where an error may have come from
26 */
27typedef enum {
28 XML_FROM_NONE = 0,
29 XML_FROM_PARSER, /* The XML parser */
Daniel Veillard18ec16e2003-10-07 23:16:40 +000030 XML_FROM_TREE, /* The tree module */
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000031 XML_FROM_NAMESPACE, /* The XML Namespace module */
32 XML_FROM_DTD, /* The XML DTD validation */
33 XML_FROM_HTML, /* The HTML parser */
34 XML_FROM_MEMORY, /* The memory allocator */
35 XML_FROM_OUTPUT, /* The serialization code */
36 XML_FROM_IO, /* The Input/Output stack */
37 XML_FROM_XINCLUDE, /* The XInclude processing */
38 XML_FROM_XPATH, /* The XPath module */
39 XML_FROM_XPOINTER, /* The XPointer module */
40 XML_FROM_REGEXP, /* The regular expressions module */
41 XML_FROM_SCHEMAS, /* The W3C XML Schemas module */
Daniel Veillard4c004142003-10-07 11:33:24 +000042 XML_FROM_RELAXNGP, /* The Relax-NG parser module */
43 XML_FROM_RELAXNGV, /* The Relax-NG validator module */
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000044 XML_FROM_CATALOG, /* The Catalog module */
45 XML_FROM_C14N, /* The Canonicalization module */
46 XML_FROM_XSLT /* The XSLT engine from libxslt */
47} xmlErrorDomain;
48
49/**
50 * xmlError:
51 *
52 * An XML Error instance.
53 */
54
55typedef struct _xmlError xmlError;
56typedef xmlError *xmlErrorPtr;
57struct _xmlError {
58 int domain; /* What part of the library raised this error */
59 int code; /* The error code, e.g. an xmlParserError */
60 char *message;/* human-readable informative error message */
61 xmlErrorLevel level;/* how consequent is the error */
62 char *file; /* the filename */
63 int line; /* the line number if available */
64 char *str1; /* extra string information */
65 char *str2; /* extra string information */
66 char *str3; /* extra string information */
67 int int1; /* extra number information */
68 int int2; /* extra number information */
Daniel Veillard4c004142003-10-07 11:33:24 +000069 void *ctxt; /* the parser context if available */
70 void *node; /* the node in the tree */
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000071};
72
73/**
74 * xmlParserError:
75 *
76 * This is an error that the XML (or HTML) parser can generate
77 */
Owen Taylor3473f882001-02-23 17:55:21 +000078typedef enum {
79 XML_ERR_OK = 0,
Daniel Veillarde2238d52003-10-09 13:14:55 +000080 XML_ERR_INTERNAL_ERROR, /* 1 */
81 XML_ERR_NO_MEMORY, /* 2 */
Owen Taylor3473f882001-02-23 17:55:21 +000082 XML_ERR_DOCUMENT_START, /* 3 */
Daniel Veillarde2238d52003-10-09 13:14:55 +000083 XML_ERR_DOCUMENT_EMPTY, /* 4 */
84 XML_ERR_DOCUMENT_END, /* 5 */
Owen Taylor3473f882001-02-23 17:55:21 +000085 XML_ERR_INVALID_HEX_CHARREF, /* 6 */
Daniel Veillarde2238d52003-10-09 13:14:55 +000086 XML_ERR_INVALID_DEC_CHARREF, /* 7 */
87 XML_ERR_INVALID_CHARREF, /* 8 */
88 XML_ERR_INVALID_CHAR, /* 9 */
Owen Taylor3473f882001-02-23 17:55:21 +000089 XML_ERR_CHARREF_AT_EOF, /* 10 */
Daniel Veillarde2238d52003-10-09 13:14:55 +000090 XML_ERR_CHARREF_IN_PROLOG, /* 11 */
91 XML_ERR_CHARREF_IN_EPILOG, /* 12 */
92 XML_ERR_CHARREF_IN_DTD, /* 13 */
93 XML_ERR_ENTITYREF_AT_EOF, /* 14 */
94 XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */
95 XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */
96 XML_ERR_ENTITYREF_IN_DTD, /* 17 */
97 XML_ERR_PEREF_AT_EOF, /* 18 */
98 XML_ERR_PEREF_IN_PROLOG, /* 19 */
99 XML_ERR_PEREF_IN_EPILOG, /* 20 */
100 XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */
Owen Taylor3473f882001-02-23 17:55:21 +0000101 XML_ERR_ENTITYREF_NO_NAME, /* 22 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000102 XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */
Owen Taylor3473f882001-02-23 17:55:21 +0000103 XML_ERR_PEREF_NO_NAME, /* 24 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000104 XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */
Owen Taylor3473f882001-02-23 17:55:21 +0000105 XML_ERR_UNDECLARED_ENTITY, /* 26 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000106 XML_WAR_UNDECLARED_ENTITY, /* 27 */
107 XML_ERR_UNPARSED_ENTITY, /* 28 */
108 XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */
109 XML_ERR_ENTITY_IS_PARAMETER, /* 30 */
Owen Taylor3473f882001-02-23 17:55:21 +0000110 XML_ERR_UNKNOWN_ENCODING, /* 31 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000111 XML_ERR_UNSUPPORTED_ENCODING, /* 32 */
Owen Taylor3473f882001-02-23 17:55:21 +0000112 XML_ERR_STRING_NOT_STARTED, /* 33 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000113 XML_ERR_STRING_NOT_CLOSED, /* 34 */
114 XML_ERR_NS_DECL_ERROR, /* 35 */
Owen Taylor3473f882001-02-23 17:55:21 +0000115 XML_ERR_ENTITY_NOT_STARTED, /* 36 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000116 XML_ERR_ENTITY_NOT_FINISHED, /* 37 */
Owen Taylor3473f882001-02-23 17:55:21 +0000117 XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000118 XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */
119 XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */
120 XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */
121 XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */
Owen Taylor3473f882001-02-23 17:55:21 +0000122 XML_ERR_LITERAL_NOT_STARTED, /* 43 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000123 XML_ERR_LITERAL_NOT_FINISHED, /* 44 */
Owen Taylor3473f882001-02-23 17:55:21 +0000124 XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000125 XML_ERR_PI_NOT_STARTED, /* 46 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000126 XML_ERR_PI_NOT_FINISHED, /* 47 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000127 XML_ERR_NOTATION_NOT_STARTED, /* 48 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000128 XML_ERR_NOTATION_NOT_FINISHED, /* 49 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000129 XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000130 XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000131 XML_ERR_MIXED_NOT_STARTED, /* 52 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000132 XML_ERR_MIXED_NOT_FINISHED, /* 53 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000133 XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000134 XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000135 XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000136 XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000137 XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000138 XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000139 XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000140 XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000141 XML_ERR_MISPLACED_CDATA_END, /* 62 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000142 XML_ERR_CDATA_NOT_FINISHED, /* 63 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000143 XML_ERR_RESERVED_XML_NAME, /* 64 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000144 XML_ERR_SPACE_REQUIRED, /* 65 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000145 XML_ERR_SEPARATOR_REQUIRED, /* 66 */
146 XML_ERR_NMTOKEN_REQUIRED, /* 67 */
147 XML_ERR_NAME_REQUIRED, /* 68 */
148 XML_ERR_PCDATA_REQUIRED, /* 69 */
149 XML_ERR_URI_REQUIRED, /* 70 */
150 XML_ERR_PUBID_REQUIRED, /* 71 */
151 XML_ERR_LT_REQUIRED, /* 72 */
152 XML_ERR_GT_REQUIRED, /* 73 */
153 XML_ERR_LTSLASH_REQUIRED, /* 74 */
154 XML_ERR_EQUAL_REQUIRED, /* 75 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000155 XML_ERR_TAG_NAME_MISMATCH, /* 76 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000156 XML_ERR_TAG_NOT_FINISHED, /* 77 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000157 XML_ERR_STANDALONE_VALUE, /* 78 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000158 XML_ERR_ENCODING_NAME, /* 79 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000159 XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000160 XML_ERR_INVALID_ENCODING, /* 81 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000161 XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000162 XML_ERR_CONDSEC_INVALID, /* 83 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000163 XML_ERR_VALUE_REQUIRED, /* 84 */
Daniel Veillard9ec26532003-09-23 07:43:19 +0000164 XML_ERR_NOT_WELL_BALANCED, /* 85 */
165 XML_ERR_EXTRA_CONTENT, /* 86 */
166 XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
Owen Taylor3473f882001-02-23 17:55:21 +0000167 XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
168 XML_ERR_ENTITY_LOOP, /* 89 */
169 XML_ERR_ENTITY_BOUNDARY, /* 90 */
170 XML_ERR_INVALID_URI, /* 91 */
Daniel Veillard5d90b6c2001-08-22 14:29:45 +0000171 XML_ERR_URI_FRAGMENT, /* 92 */
Daniel Veillard7a51d6d2001-09-10 14:40:43 +0000172 XML_WAR_CATALOG_PI, /* 93 */
Daniel Veillarde2238d52003-10-09 13:14:55 +0000173 XML_ERR_NO_DTD, /* 94 */
174 XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */
175 XML_ERR_VERSION_MISSING, /* 96 */
176 XML_WAR_UNKNOWN_VERSION, /* 97 */
177 XML_WAR_LANG_VALUE, /* 98 */
178 XML_WAR_NS_URI, /* 99 */
179 XML_WAR_NS_URI_RELATIVE, /* 100 */
Daniel Veillard4c004142003-10-07 11:33:24 +0000180 XML_NS_ERR_XML_NAMESPACE = 200,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000181 XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
182 XML_NS_ERR_QNAME, /* 202 */
183 XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */
Daniel Veillard4c004142003-10-07 11:33:24 +0000184 XML_DTD_ATTRIBUTE_DEFAULT = 500,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000185 XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */
186 XML_DTD_ATTRIBUTE_VALUE, /* 502 */
187 XML_DTD_CONTENT_ERROR, /* 503 */
188 XML_DTD_CONTENT_MODEL, /* 504 */
189 XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */
190 XML_DTD_DIFFERENT_PREFIX, /* 506 */
191 XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */
192 XML_DTD_ELEM_NAMESPACE, /* 508 */
193 XML_DTD_ELEM_REDEFINED, /* 509 */
194 XML_DTD_EMPTY_NOTATION, /* 510 */
195 XML_DTD_ENTITY_TYPE, /* 511 */
196 XML_DTD_ID_FIXED, /* 512 */
197 XML_DTD_ID_REDEFINED, /* 513 */
198 XML_DTD_ID_SUBSET, /* 514 */
199 XML_DTD_INVALID_CHILD, /* 515 */
200 XML_DTD_INVALID_DEFAULT, /* 516 */
201 XML_DTD_LOAD_ERROR, /* 517 */
202 XML_DTD_MISSING_ATTRIBUTE, /* 518 */
203 XML_DTD_MIXED_CORRUPT, /* 519 */
204 XML_DTD_MULTIPLE_ID, /* 520 */
205 XML_DTD_NO_DOC, /* 521 */
206 XML_DTD_NO_DTD, /* 522 */
207 XML_DTD_NO_ELEM_NAME, /* 523 */
208 XML_DTD_NO_PREFIX, /* 524 */
209 XML_DTD_NO_ROOT, /* 525 */
210 XML_DTD_NOTATION_REDEFINED, /* 526 */
211 XML_DTD_NOTATION_VALUE, /* 527 */
212 XML_DTD_NOT_EMPTY, /* 528 */
213 XML_DTD_NOT_PCDATA, /* 529 */
214 XML_DTD_NOT_STANDALONE, /* 530 */
215 XML_DTD_ROOT_NAME, /* 531 */
216 XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */
217 XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */
218 XML_DTD_UNKNOWN_ELEM, /* 534 */
219 XML_DTD_UNKNOWN_ENTITY, /* 535 */
220 XML_DTD_UNKNOWN_ID, /* 536 */
221 XML_DTD_UNKNOWN_NOTATION, /* 537 */
Daniel Veillard4c004142003-10-07 11:33:24 +0000222 XML_HTML_STRUCURE_ERROR = 800,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000223 XML_HTML_UNKNOWN_TAG, /* 801 */
Daniel Veillard4c004142003-10-07 11:33:24 +0000224 XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000225 XML_RNGP_ATTR_CONFLICT, /* 1001 */
226 XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */
227 XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */
228 XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */
229 XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */
230 XML_RNGP_CHOICE_CONTENT, /* 1006 */
231 XML_RNGP_CHOICE_EMPTY, /* 1007 */
232 XML_RNGP_CREATE_FAILURE, /* 1008 */
233 XML_RNGP_DATA_CONTENT, /* 1009 */
234 XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */
235 XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */
236 XML_RNGP_DEFINE_EMPTY, /* 1012 */
237 XML_RNGP_DEFINE_MISSING, /* 1013 */
238 XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */
239 XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */
240 XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */
241 XML_RNGP_ELEMENT_EMPTY, /* 1017 */
242 XML_RNGP_ELEMENT_CONTENT, /* 1018 */
243 XML_RNGP_ELEMENT_NAME, /* 1019 */
244 XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */
245 XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */
246 XML_RNGP_EMPTY, /* 1022 */
247 XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */
248 XML_RNGP_EMPTY_CONTENT, /* 1024 */
249 XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */
250 XML_RNGP_ERROR_TYPE_LIB, /* 1026 */
251 XML_RNGP_EXCEPT_EMPTY, /* 1027 */
252 XML_RNGP_EXCEPT_MISSING, /* 1028 */
253 XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */
254 XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */
255 XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */
256 XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */
257 XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */
258 XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */
259 XML_RNGP_FOREIGN_ELEMENT, /* 1035 */
260 XML_RNGP_GRAMMAR_CONTENT, /* 1036 */
261 XML_RNGP_GRAMMAR_EMPTY, /* 1037 */
262 XML_RNGP_GRAMMAR_MISSING, /* 1038 */
263 XML_RNGP_GRAMMAR_NO_START, /* 1039 */
264 XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */
265 XML_RNGP_HREF_ERROR, /* 1041 */
266 XML_RNGP_INCLUDE_EMPTY, /* 1042 */
267 XML_RNGP_INCLUDE_FAILURE, /* 1043 */
268 XML_RNGP_INCLUDE_RECURSE, /* 1044 */
269 XML_RNGP_INTERLEAVE_ADD, /* 1045 */
270 XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */
271 XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */
272 XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */
273 XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */
274 XML_RNGP_INVALID_URI, /* 1050 */
275 XML_RNGP_INVALID_VALUE, /* 1051 */
276 XML_RNGP_MISSING_HREF, /* 1052 */
277 XML_RNGP_NAME_MISSING, /* 1053 */
278 XML_RNGP_NEED_COMBINE, /* 1054 */
279 XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */
280 XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */
281 XML_RNGP_NSNAME_NO_NS, /* 1057 */
282 XML_RNGP_PARAM_FORBIDDEN, /* 1058 */
283 XML_RNGP_PARAM_NAME_MISSING, /* 1059 */
284 XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */
285 XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */
286 XML_RNGP_PARENTREF_NO_NAME, /* 1062 */
287 XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */
288 XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */
289 XML_RNGP_PARSE_ERROR, /* 1065 */
290 XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */
291 XML_RNGP_PAT_ATTR_ATTR, /* 1067 */
292 XML_RNGP_PAT_ATTR_ELEM, /* 1068 */
293 XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */
294 XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */
295 XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */
296 XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */
297 XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */
298 XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */
299 XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */
300 XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */
301 XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */
302 XML_RNGP_PAT_LIST_ATTR, /* 1078 */
303 XML_RNGP_PAT_LIST_ELEM, /* 1079 */
304 XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */
305 XML_RNGP_PAT_LIST_LIST, /* 1081 */
306 XML_RNGP_PAT_LIST_REF, /* 1082 */
307 XML_RNGP_PAT_LIST_TEXT, /* 1083 */
308 XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */
309 XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */
310 XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */
311 XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */
312 XML_RNGP_PAT_START_ATTR, /* 1088 */
313 XML_RNGP_PAT_START_DATA, /* 1089 */
314 XML_RNGP_PAT_START_EMPTY, /* 1090 */
315 XML_RNGP_PAT_START_GROUP, /* 1091 */
316 XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */
317 XML_RNGP_PAT_START_LIST, /* 1093 */
318 XML_RNGP_PAT_START_ONEMORE, /* 1094 */
319 XML_RNGP_PAT_START_TEXT, /* 1095 */
320 XML_RNGP_PAT_START_VALUE, /* 1096 */
321 XML_RNGP_PREFIX_UNDEFINED, /* 1097 */
322 XML_RNGP_REF_CREATE_FAILED, /* 1098 */
323 XML_RNGP_REF_CYCLE, /* 1099 */
324 XML_RNGP_REF_NAME_INVALID, /* 1100 */
325 XML_RNGP_REF_NO_DEF, /* 1101 */
326 XML_RNGP_REF_NO_NAME, /* 1102 */
327 XML_RNGP_REF_NOT_EMPTY, /* 1103 */
328 XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */
329 XML_RNGP_START_CONTENT, /* 1105 */
330 XML_RNGP_START_EMPTY, /* 1106 */
331 XML_RNGP_START_MISSING, /* 1107 */
332 XML_RNGP_TEXT_EXPECTED, /* 1108 */
333 XML_RNGP_TEXT_HAS_CHILD, /* 1109 */
334 XML_RNGP_TYPE_MISSING, /* 1110 */
335 XML_RNGP_TYPE_NOT_FOUND, /* 1111 */
336 XML_RNGP_TYPE_VALUE, /* 1112 */
337 XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */
338 XML_RNGP_UNKNOWN_COMBINE, /* 1114 */
339 XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */
340 XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */
341 XML_RNGP_URI_FRAGMENT, /* 1117 */
342 XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */
343 XML_RNGP_VALUE_EMPTY, /* 1119 */
344 XML_RNGP_VALUE_NO_CONTENT, /* 1120 */
345 XML_RNGP_XMLNS_NAME, /* 1121 */
346 XML_RNGP_XML_NS, /* 1122 */
Daniel Veillardd96f6d32003-10-07 21:25:12 +0000347 XML_XPATH_EXPRESSION_OK = 1200,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000348 XML_XPATH_NUMBER_ERROR, /* 1201 */
349 XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */
350 XML_XPATH_START_LITERAL_ERROR, /* 1203 */
351 XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */
352 XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */
353 XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */
354 XML_XPATH_EXPR_ERROR, /* 1207 */
355 XML_XPATH_UNCLOSED_ERROR, /* 1208 */
356 XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */
357 XML_XPATH_INVALID_OPERAND, /* 1210 */
358 XML_XPATH_INVALID_TYPE, /* 1211 */
359 XML_XPATH_INVALID_ARITY, /* 1212 */
360 XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */
361 XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */
362 XML_XPATH_MEMORY_ERROR, /* 1215 */
363 XML_XPTR_SYNTAX_ERROR, /* 1216 */
364 XML_XPTR_RESOURCE_ERROR, /* 1217 */
365 XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */
366 XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */
367 XML_XPATH_ENCODING_ERROR, /* 1220 */
368 XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */
Daniel Veillard18ec16e2003-10-07 23:16:40 +0000369 XML_TREE_INVALID_HEX = 1300,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000370 XML_TREE_INVALID_DEC, /* 1301 */
371 XML_TREE_UNTERMINATED_ENTITY, /* 1302 */
Daniel Veillard18ec16e2003-10-07 23:16:40 +0000372 XML_SAVE_NOT_UTF8 = 1400,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000373 XML_SAVE_CHAR_INVALID, /* 1401 */
374 XML_SAVE_NO_DOCTYPE, /* 1402 */
375 XML_SAVE_UNKNOWN_ENCODING, /* 1403 */
Daniel Veillard05d987b2003-10-08 11:54:57 +0000376 XML_REGEXP_COMPILE_ERROR = 1450,
377 XML_IO_UNKNOWN = 1500,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000378 XML_IO_EACCES, /* 1501 */
379 XML_IO_EAGAIN, /* 1502 */
380 XML_IO_EBADF, /* 1503 */
381 XML_IO_EBADMSG, /* 1504 */
382 XML_IO_EBUSY, /* 1505 */
383 XML_IO_ECANCELED, /* 1506 */
384 XML_IO_ECHILD, /* 1507 */
385 XML_IO_EDEADLK, /* 1508 */
386 XML_IO_EDOM, /* 1509 */
387 XML_IO_EEXIST, /* 1510 */
388 XML_IO_EFAULT, /* 1511 */
389 XML_IO_EFBIG, /* 1512 */
390 XML_IO_EINPROGRESS, /* 1513 */
391 XML_IO_EINTR, /* 1514 */
392 XML_IO_EINVAL, /* 1515 */
393 XML_IO_EIO, /* 1516 */
394 XML_IO_EISDIR, /* 1517 */
395 XML_IO_EMFILE, /* 1518 */
396 XML_IO_EMLINK, /* 1519 */
397 XML_IO_EMSGSIZE, /* 1520 */
398 XML_IO_ENAMETOOLONG, /* 1521 */
399 XML_IO_ENFILE, /* 1522 */
400 XML_IO_ENODEV, /* 1523 */
401 XML_IO_ENOENT, /* 1524 */
402 XML_IO_ENOEXEC, /* 1525 */
403 XML_IO_ENOLCK, /* 1526 */
404 XML_IO_ENOMEM, /* 1527 */
405 XML_IO_ENOSPC, /* 1528 */
406 XML_IO_ENOSYS, /* 1529 */
407 XML_IO_ENOTDIR, /* 1530 */
408 XML_IO_ENOTEMPTY, /* 1531 */
409 XML_IO_ENOTSUP, /* 1532 */
410 XML_IO_ENOTTY, /* 1533 */
411 XML_IO_ENXIO, /* 1534 */
412 XML_IO_EPERM, /* 1535 */
413 XML_IO_EPIPE, /* 1536 */
414 XML_IO_ERANGE, /* 1537 */
415 XML_IO_EROFS, /* 1538 */
416 XML_IO_ESPIPE, /* 1539 */
417 XML_IO_ESRCH, /* 1540 */
418 XML_IO_ETIMEDOUT, /* 1541 */
419 XML_IO_EXDEV, /* 1542 */
420 XML_IO_NETWORK_ATTEMPT, /* 1543 */
421 XML_IO_ENCODER, /* 1544 */
422 XML_IO_FLUSH, /* 1545 */
423 XML_IO_WRITE, /* 1546 */
424 XML_IO_NO_INPUT, /* 1547 */
425 XML_IO_BUFFER_FULL, /* 1548 */
426 XML_IO_LOAD_ERROR, /* 1549 */
Daniel Veillardcd6ff282003-10-08 22:38:13 +0000427 XML_XINCLUDE_RECURSION=1600,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000428 XML_XINCLUDE_PARSE_VALUE, /* 1601 */
429 XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */
430 XML_XINCLUDE_NO_HREF, /* 1603 */
431 XML_XINCLUDE_NO_FALLBACK, /* 1604 */
432 XML_XINCLUDE_HREF_URI, /* 1605 */
433 XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */
434 XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */
435 XML_XINCLUDE_INVALID_CHAR, /* 1608 */
436 XML_XINCLUDE_BUILD_FAILED, /* 1609 */
437 XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */
438 XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */
439 XML_XINCLUDE_XPTR_FAILED, /* 1612 */
440 XML_XINCLUDE_XPTR_RESULT, /* 1613 */
441 XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */
442 XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */
443 XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */
Daniel Veillard69d2c172003-10-09 11:46:07 +0000444 XML_CATALOG_MISSING_ATTR = 1650,
Daniel Veillarde2238d52003-10-09 13:14:55 +0000445 XML_CATALOG_ENTRY_BROKEN, /* 1651 */
446 XML_CATALOG_PREFER_VALUE, /* 1652 */
447 XML_CATALOG_NOT_CATALOG, /* 1653 */
448 XML_CATALOG_RECURSION /* 1654 */
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000449} xmlParserErrors;
Owen Taylor3473f882001-02-23 17:55:21 +0000450
Daniel Veillard9d06d302002-01-22 18:15:52 +0000451/**
452 * xmlGenericErrorFunc:
453 * @ctx: a parsing context
454 * @msg: the message
455 * @...: the extra arguments of the varags to format the message
456 *
Owen Taylor3473f882001-02-23 17:55:21 +0000457 * Signature of the function to use when there is an error and
Daniel Veillard61f26172002-03-12 18:46:39 +0000458 * no parsing or validity context available .
Owen Taylor3473f882001-02-23 17:55:21 +0000459 */
Daniel Veillard9d06d302002-01-22 18:15:52 +0000460typedef void (*xmlGenericErrorFunc) (void *ctx,
461 const char *msg,
Daniel Veillardd96f6d32003-10-07 21:25:12 +0000462 ...);
463/**
464 * xmlStructuredErrorFunc:
465 * @userData: user provided data for the error callback
466 * @error: the error being raised.
467 *
468 * Signature of the function to use when there is an error and
469 * the module handles the new error reporting mechanism.
470 */
471typedef void (*xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
Owen Taylor3473f882001-02-23 17:55:21 +0000472
473/*
Daniel Veillardd0463562001-10-13 09:15:48 +0000474 * Use the following function to reset the two global variables
475 * xmlGenericError and xmlGenericErrorContext.
Owen Taylor3473f882001-02-23 17:55:21 +0000476 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000477XMLPUBFUN void XMLCALL
478 xmlSetGenericErrorFunc (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000479 xmlGenericErrorFunc handler);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000480XMLPUBFUN void XMLCALL
481 initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
Owen Taylor3473f882001-02-23 17:55:21 +0000482
483/*
484 * Default message routines used by SAX and Valid context for error
Daniel Veillard61f26172002-03-12 18:46:39 +0000485 * and warning reporting.
Owen Taylor3473f882001-02-23 17:55:21 +0000486 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000487XMLPUBFUN void XMLCALL
488 xmlParserError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000489 const char *msg,
490 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000491XMLPUBFUN void XMLCALL
492 xmlParserWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000493 const char *msg,
494 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000495XMLPUBFUN void XMLCALL
496 xmlParserValidityError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000497 const char *msg,
498 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000499XMLPUBFUN void XMLCALL
500 xmlParserValidityWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000501 const char *msg,
502 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000503XMLPUBFUN void XMLCALL
504 xmlParserPrintFileInfo (xmlParserInputPtr input);
505XMLPUBFUN void XMLCALL
506 xmlParserPrintFileContext (xmlParserInputPtr input);
Owen Taylor3473f882001-02-23 17:55:21 +0000507
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000508/*
509 * Extended error information routines
510 */
511XMLPUBFUN xmlErrorPtr XMLCALL
512 xmlGetLastError (void);
513XMLPUBFUN void XMLCALL
514 xmlResetLastError (void);
515XMLPUBFUN xmlErrorPtr XMLCALL
516 xmlCtxtGetLastError (void *ctx);
517XMLPUBFUN void XMLCALL
518 xmlCtxtResetLastError (void *ctx);
519XMLPUBFUN void XMLCALL
520 xmlResetError (xmlErrorPtr err);
521XMLPUBFUN int XMLCALL
522 xmlCopyError (xmlErrorPtr from,
523 xmlErrorPtr to);
524
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000525#ifdef IN_LIBXML
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000526/*
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000527 * Internal callback reporting routine
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000528 */
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000529XMLPUBFUN void XMLCALL
530 __xmlRaiseError (xmlGenericErrorFunc channel,
531 void *data,
532 void *ctx,
533 void *node,
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000534 int domain,
535 int code,
536 xmlErrorLevel level,
537 const char *file,
538 int line,
539 const char *str1,
540 const char *str2,
541 const char *str3,
542 int int1,
543 int int2,
544 const char *msg,
545 ...);
Daniel Veillard18ec16e2003-10-07 23:16:40 +0000546XMLPUBFUN void XMLCALL
547 __xmlSimpleError (int domain,
548 int code,
549 xmlNodePtr node,
550 const char *msg,
551 const char *extra);
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000552#endif
Owen Taylor3473f882001-02-23 17:55:21 +0000553#ifdef __cplusplus
554}
555#endif
556#endif /* __XML_ERROR_H__ */