blob: 7fe6a8d16090b2ef8d69d41c1b5cdf66bb525739 [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 */
30 XML_FROM_NAMESPACE, /* The XML Namespace module */
31 XML_FROM_DTD, /* The XML DTD validation */
32 XML_FROM_HTML, /* The HTML parser */
33 XML_FROM_MEMORY, /* The memory allocator */
34 XML_FROM_OUTPUT, /* The serialization code */
35 XML_FROM_IO, /* The Input/Output stack */
36 XML_FROM_XINCLUDE, /* The XInclude processing */
37 XML_FROM_XPATH, /* The XPath module */
38 XML_FROM_XPOINTER, /* The XPointer module */
39 XML_FROM_REGEXP, /* The regular expressions module */
40 XML_FROM_SCHEMAS, /* The W3C XML Schemas module */
Daniel Veillard4c004142003-10-07 11:33:24 +000041 XML_FROM_RELAXNGP, /* The Relax-NG parser module */
42 XML_FROM_RELAXNGV, /* The Relax-NG validator module */
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000043 XML_FROM_CATALOG, /* The Catalog module */
44 XML_FROM_C14N, /* The Canonicalization module */
45 XML_FROM_XSLT /* The XSLT engine from libxslt */
46} xmlErrorDomain;
47
48/**
49 * xmlError:
50 *
51 * An XML Error instance.
52 */
53
54typedef struct _xmlError xmlError;
55typedef xmlError *xmlErrorPtr;
56struct _xmlError {
57 int domain; /* What part of the library raised this error */
58 int code; /* The error code, e.g. an xmlParserError */
59 char *message;/* human-readable informative error message */
60 xmlErrorLevel level;/* how consequent is the error */
61 char *file; /* the filename */
62 int line; /* the line number if available */
63 char *str1; /* extra string information */
64 char *str2; /* extra string information */
65 char *str3; /* extra string information */
66 int int1; /* extra number information */
67 int int2; /* extra number information */
Daniel Veillard4c004142003-10-07 11:33:24 +000068 void *ctxt; /* the parser context if available */
69 void *node; /* the node in the tree */
Daniel Veillard2b8c4a12003-10-02 22:28:19 +000070};
71
72/**
73 * xmlParserError:
74 *
75 * This is an error that the XML (or HTML) parser can generate
76 */
Owen Taylor3473f882001-02-23 17:55:21 +000077typedef enum {
78 XML_ERR_OK = 0,
79 XML_ERR_INTERNAL_ERROR,
80 XML_ERR_NO_MEMORY,
81
82 XML_ERR_DOCUMENT_START, /* 3 */
83 XML_ERR_DOCUMENT_EMPTY,
84 XML_ERR_DOCUMENT_END,
85
86 XML_ERR_INVALID_HEX_CHARREF, /* 6 */
87 XML_ERR_INVALID_DEC_CHARREF,
88 XML_ERR_INVALID_CHARREF,
89 XML_ERR_INVALID_CHAR,
90
91 XML_ERR_CHARREF_AT_EOF, /* 10 */
92 XML_ERR_CHARREF_IN_PROLOG,
93 XML_ERR_CHARREF_IN_EPILOG,
94 XML_ERR_CHARREF_IN_DTD,
95 XML_ERR_ENTITYREF_AT_EOF,
96 XML_ERR_ENTITYREF_IN_PROLOG,
97 XML_ERR_ENTITYREF_IN_EPILOG,
98 XML_ERR_ENTITYREF_IN_DTD,
99 XML_ERR_PEREF_AT_EOF,
100 XML_ERR_PEREF_IN_PROLOG,
101 XML_ERR_PEREF_IN_EPILOG,
102 XML_ERR_PEREF_IN_INT_SUBSET,
103
104 XML_ERR_ENTITYREF_NO_NAME, /* 22 */
105 XML_ERR_ENTITYREF_SEMICOL_MISSING,
106
107 XML_ERR_PEREF_NO_NAME, /* 24 */
108 XML_ERR_PEREF_SEMICOL_MISSING,
109
110 XML_ERR_UNDECLARED_ENTITY, /* 26 */
111 XML_WAR_UNDECLARED_ENTITY,
112 XML_ERR_UNPARSED_ENTITY,
113 XML_ERR_ENTITY_IS_EXTERNAL,
114 XML_ERR_ENTITY_IS_PARAMETER,
115
116 XML_ERR_UNKNOWN_ENCODING, /* 31 */
117 XML_ERR_UNSUPPORTED_ENCODING,
118
119 XML_ERR_STRING_NOT_STARTED, /* 33 */
120 XML_ERR_STRING_NOT_CLOSED,
121 XML_ERR_NS_DECL_ERROR,
122
123 XML_ERR_ENTITY_NOT_STARTED, /* 36 */
124 XML_ERR_ENTITY_NOT_FINISHED,
125
126 XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
127 XML_ERR_ATTRIBUTE_NOT_STARTED,
128 XML_ERR_ATTRIBUTE_NOT_FINISHED,
129 XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
130 XML_ERR_ATTRIBUTE_REDEFINED,
131
132 XML_ERR_LITERAL_NOT_STARTED, /* 43 */
133 XML_ERR_LITERAL_NOT_FINISHED,
134
135 XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
136
Daniel Veillard9ec26532003-09-23 07:43:19 +0000137 XML_ERR_PI_NOT_STARTED, /* 46 */
Owen Taylor3473f882001-02-23 17:55:21 +0000138 XML_ERR_PI_NOT_FINISHED,
139
Daniel Veillard9ec26532003-09-23 07:43:19 +0000140 XML_ERR_NOTATION_NOT_STARTED, /* 48 */
Owen Taylor3473f882001-02-23 17:55:21 +0000141 XML_ERR_NOTATION_NOT_FINISHED,
142
Daniel Veillard9ec26532003-09-23 07:43:19 +0000143 XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
Owen Taylor3473f882001-02-23 17:55:21 +0000144 XML_ERR_ATTLIST_NOT_FINISHED,
145
Daniel Veillard9ec26532003-09-23 07:43:19 +0000146 XML_ERR_MIXED_NOT_STARTED, /* 52 */
Owen Taylor3473f882001-02-23 17:55:21 +0000147 XML_ERR_MIXED_NOT_FINISHED,
148
Daniel Veillard9ec26532003-09-23 07:43:19 +0000149 XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
Owen Taylor3473f882001-02-23 17:55:21 +0000150 XML_ERR_ELEMCONTENT_NOT_FINISHED,
151
Daniel Veillard9ec26532003-09-23 07:43:19 +0000152 XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
Owen Taylor3473f882001-02-23 17:55:21 +0000153 XML_ERR_XMLDECL_NOT_FINISHED,
154
Daniel Veillard9ec26532003-09-23 07:43:19 +0000155 XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
Owen Taylor3473f882001-02-23 17:55:21 +0000156 XML_ERR_CONDSEC_NOT_FINISHED,
157
Daniel Veillard9ec26532003-09-23 07:43:19 +0000158 XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
Owen Taylor3473f882001-02-23 17:55:21 +0000159
Daniel Veillard9ec26532003-09-23 07:43:19 +0000160 XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
Owen Taylor3473f882001-02-23 17:55:21 +0000161
Daniel Veillard9ec26532003-09-23 07:43:19 +0000162 XML_ERR_MISPLACED_CDATA_END, /* 62 */
Owen Taylor3473f882001-02-23 17:55:21 +0000163 XML_ERR_CDATA_NOT_FINISHED,
164
Daniel Veillard9ec26532003-09-23 07:43:19 +0000165 XML_ERR_RESERVED_XML_NAME, /* 64 */
Owen Taylor3473f882001-02-23 17:55:21 +0000166
Daniel Veillard9ec26532003-09-23 07:43:19 +0000167 XML_ERR_SPACE_REQUIRED, /* 65 */
Owen Taylor3473f882001-02-23 17:55:21 +0000168 XML_ERR_SEPARATOR_REQUIRED,
169 XML_ERR_NMTOKEN_REQUIRED,
170 XML_ERR_NAME_REQUIRED,
171 XML_ERR_PCDATA_REQUIRED,
172 XML_ERR_URI_REQUIRED,
173 XML_ERR_PUBID_REQUIRED,
174 XML_ERR_LT_REQUIRED,
175 XML_ERR_GT_REQUIRED,
176 XML_ERR_LTSLASH_REQUIRED,
177 XML_ERR_EQUAL_REQUIRED,
178
Daniel Veillard9ec26532003-09-23 07:43:19 +0000179 XML_ERR_TAG_NAME_MISMATCH, /* 76 */
Daniel Veillard5344c602001-12-31 16:37:34 +0000180 XML_ERR_TAG_NOT_FINISHED,
Owen Taylor3473f882001-02-23 17:55:21 +0000181
Daniel Veillard9ec26532003-09-23 07:43:19 +0000182 XML_ERR_STANDALONE_VALUE, /* 78 */
Owen Taylor3473f882001-02-23 17:55:21 +0000183
Daniel Veillard9ec26532003-09-23 07:43:19 +0000184 XML_ERR_ENCODING_NAME, /* 79 */
Owen Taylor3473f882001-02-23 17:55:21 +0000185
Daniel Veillard9ec26532003-09-23 07:43:19 +0000186 XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
Owen Taylor3473f882001-02-23 17:55:21 +0000187
Daniel Veillard9ec26532003-09-23 07:43:19 +0000188 XML_ERR_INVALID_ENCODING, /* 81 */
Owen Taylor3473f882001-02-23 17:55:21 +0000189
Daniel Veillard9ec26532003-09-23 07:43:19 +0000190 XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
Owen Taylor3473f882001-02-23 17:55:21 +0000191
Daniel Veillard9ec26532003-09-23 07:43:19 +0000192 XML_ERR_CONDSEC_INVALID, /* 83 */
Owen Taylor3473f882001-02-23 17:55:21 +0000193
Daniel Veillard9ec26532003-09-23 07:43:19 +0000194 XML_ERR_VALUE_REQUIRED, /* 84 */
Owen Taylor3473f882001-02-23 17:55:21 +0000195
Daniel Veillard9ec26532003-09-23 07:43:19 +0000196 XML_ERR_NOT_WELL_BALANCED, /* 85 */
197 XML_ERR_EXTRA_CONTENT, /* 86 */
198 XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
Owen Taylor3473f882001-02-23 17:55:21 +0000199 XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
200 XML_ERR_ENTITY_LOOP, /* 89 */
201 XML_ERR_ENTITY_BOUNDARY, /* 90 */
202 XML_ERR_INVALID_URI, /* 91 */
Daniel Veillard5d90b6c2001-08-22 14:29:45 +0000203 XML_ERR_URI_FRAGMENT, /* 92 */
Daniel Veillard7a51d6d2001-09-10 14:40:43 +0000204 XML_WAR_CATALOG_PI, /* 93 */
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000205 XML_ERR_NO_DTD, /* 94 */
Daniel Veillard4c004142003-10-07 11:33:24 +0000206 XML_ERR_CONDSEC_INVALID_KEYWORD,
207 XML_ERR_VERSION_MISSING,
208 XML_WAR_UNKNOWN_VERSION,
209 XML_WAR_LANG_VALUE,
210 XML_WAR_NS_URI,
211 XML_WAR_NS_URI_RELATIVE,
212 XML_NS_ERR_XML_NAMESPACE = 200,
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000213 XML_NS_ERR_UNDEFINED_NAMESPACE,
214 XML_NS_ERR_QNAME,
Daniel Veillard1afc9f32003-09-13 12:44:05 +0000215 XML_NS_ERR_ATTRIBUTE_REDEFINED,
Daniel Veillard4c004142003-10-07 11:33:24 +0000216 XML_DTD_ATTRIBUTE_DEFAULT = 500,
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000217 XML_DTD_ATTRIBUTE_REDEFINED,
218 XML_DTD_ATTRIBUTE_VALUE,
219 XML_DTD_CONTENT_ERROR,
220 XML_DTD_CONTENT_MODEL,
221 XML_DTD_CONTENT_NOT_DETERMINIST,
222 XML_DTD_DIFFERENT_PREFIX,
223 XML_DTD_ELEM_DEFAULT_NAMESPACE,
224 XML_DTD_ELEM_NAMESPACE,
225 XML_DTD_ELEM_REDEFINED,
226 XML_DTD_EMPTY_NOTATION,
227 XML_DTD_ENTITY_TYPE,
228 XML_DTD_ID_FIXED,
229 XML_DTD_ID_REDEFINED,
230 XML_DTD_ID_SUBSET,
231 XML_DTD_INVALID_CHILD,
232 XML_DTD_INVALID_DEFAULT,
233 XML_DTD_LOAD_ERROR,
234 XML_DTD_MISSING_ATTRIBUTE,
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000235 XML_DTD_MIXED_CORRUPT,
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000236 XML_DTD_MULTIPLE_ID,
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000237 XML_DTD_NO_DOC,
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000238 XML_DTD_NO_DTD,
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000239 XML_DTD_NO_ELEM_NAME,
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000240 XML_DTD_NO_PREFIX,
241 XML_DTD_NO_ROOT,
242 XML_DTD_NOTATION_REDEFINED,
243 XML_DTD_NOTATION_VALUE,
244 XML_DTD_NOT_EMPTY,
245 XML_DTD_NOT_PCDATA,
246 XML_DTD_NOT_STANDALONE,
247 XML_DTD_ROOT_NAME,
248 XML_DTD_STANDALONE_WHITE_SPACE,
249 XML_DTD_UNKNOWN_ATTRIBUTE,
250 XML_DTD_UNKNOWN_ELEM,
251 XML_DTD_UNKNOWN_ENTITY,
252 XML_DTD_UNKNOWN_ID,
Daniel Veillard24eb9782003-10-04 21:08:09 +0000253 XML_DTD_UNKNOWN_NOTATION,
Daniel Veillard4c004142003-10-07 11:33:24 +0000254 XML_HTML_STRUCURE_ERROR = 800,
255 XML_HTML_UNKNOWN_TAG,
256 XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
257 XML_RNGP_ATTR_CONFLICT,
258 XML_RNGP_ATTRIBUTE_CHILDREN,
259 XML_RNGP_ATTRIBUTE_CONTENT,
260 XML_RNGP_ATTRIBUTE_EMPTY,
261 XML_RNGP_ATTRIBUTE_NOOP,
262 XML_RNGP_CHOICE_CONTENT,
263 XML_RNGP_CHOICE_EMPTY,
264 XML_RNGP_CREATE_FAILURE,
265 XML_RNGP_DATA_CONTENT,
266 XML_RNGP_DEF_CHOICE_AND_INTERLEAVE,
267 XML_RNGP_DEFINE_CREATE_FAILED,
268 XML_RNGP_DEFINE_EMPTY,
269 XML_RNGP_DEFINE_MISSING,
270 XML_RNGP_DEFINE_NAME_MISSING,
271 XML_RNGP_ELEM_CONTENT_EMPTY,
272 XML_RNGP_ELEM_CONTENT_ERROR,
273 XML_RNGP_ELEMENT_EMPTY,
274 XML_RNGP_ELEMENT_CONTENT,
275 XML_RNGP_ELEMENT_NO_CONTENT,
276 XML_RNGP_ELEM_TEXT_CONFLICT,
277 XML_RNGP_EMPTY,
278 XML_RNGP_EMPTY_CONSTRUCT,
279 XML_RNGP_EMPTY_CONTENT,
280 XML_RNGP_EMPTY_NOT_EMPTY,
281 XML_RNGP_ERROR_TYPE_LIB,
282 XML_RNGP_EXCEPT_EMPTY,
283 XML_RNGP_EXCEPT_MISSING,
284 XML_RNGP_EXCEPT_MULTIPLE,
285 XML_RNGP_EXCEPT_NO_CONTENT,
286 XML_RNGP_EXTERNALREF_EMTPY,
287 XML_RNGP_EXTERNAL_REF_FAILURE,
288 XML_RNGP_EXTERNALREF_RECURSE,
289 XML_RNGP_FORBIDDEN_ATTRIBUTE,
290 XML_RNGP_FOREIGN_ELEMENT,
291 XML_RNGP_GRAMMAR_CONTENT,
292 XML_RNGP_GRAMMAR_EMPTY,
293 XML_RNGP_GRAMMAR_MISSING,
294 XML_RNGP_GRAMMAR_NO_START,
295 XML_RNGP_GROUP_ATTR_CONFLICT,
296 XML_RNGP_HREF_ERROR,
297 XML_RNGP_INCLUDE_EMPTY,
298 XML_RNGP_INCLUDE_FAILURE,
299 XML_RNGP_INCLUDE_RECURSE,
300 XML_RNGP_INTERLEAVE_ADD,
301 XML_RNGP_INTERLEAVE_CREATE_FAILED,
302 XML_RNGP_INTERLEAVE_EMPTY,
303 XML_RNGP_INTERLEAVE_NO_CONTENT,
304 XML_RNGP_INVALID_DEFINE_NAME,
305 XML_RNGP_INVALID_URI,
306 XML_RNGP_INVALID_VALUE,
307 XML_RNGP_MISSING_HREF,
308 XML_RNGP_NAME_MISSING,
309 XML_RNGP_NEED_COMBINE,
310 XML_RNGP_NOTALLOWED_NOT_EMPTY,
311 XML_RNGP_NSNAME_ATTR_ANCESTOR,
312 XML_RNGP_NSNAME_NO_NS,
313 XML_RNGP_PARAM_FORBIDDEN,
314 XML_RNGP_PARAM_NAME_MISSING,
315 XML_RNGP_PARENTREF_CREATE_FAILED,
316 XML_RNGP_PARENTREF_NAME_INVALID,
317 XML_RNGP_PARENTREF_NO_NAME,
318 XML_RNGP_PARENTREF_NO_PARENT,
319 XML_RNGP_PARENTREF_NOT_EMPTY,
320 XML_RNGP_PARSE_ERROR,
321 XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME,
322 XML_RNGP_PAT_ATTR_ATTR,
323 XML_RNGP_PAT_ATTR_ELEM,
324 XML_RNGP_PAT_DATA_EXCEPT_ATTR,
325 XML_RNGP_PAT_DATA_EXCEPT_ELEM,
326 XML_RNGP_PAT_DATA_EXCEPT_EMPTY,
327 XML_RNGP_PAT_DATA_EXCEPT_GROUP,
328 XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE,
329 XML_RNGP_PAT_DATA_EXCEPT_LIST,
330 XML_RNGP_PAT_DATA_EXCEPT_ONEMORE,
331 XML_RNGP_PAT_DATA_EXCEPT_REF,
332 XML_RNGP_PAT_DATA_EXCEPT_TEXT,
333 XML_RNGP_PAT_LIST_ATTR,
334 XML_RNGP_PAT_LIST_ELEM,
335 XML_RNGP_PAT_LIST_INTERLEAVE,
336 XML_RNGP_PAT_LIST_LIST,
337 XML_RNGP_PAT_LIST_REF,
338 XML_RNGP_PAT_LIST_TEXT,
339 XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME,
340 XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME,
341 XML_RNGP_PAT_ONEMORE_GROUP_ATTR,
342 XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR,
343 XML_RNGP_PAT_START_ATTR,
344 XML_RNGP_PAT_START_DATA,
345 XML_RNGP_PAT_START_EMPTY,
346 XML_RNGP_PAT_START_GROUP,
347 XML_RNGP_PAT_START_INTERLEAVE,
348 XML_RNGP_PAT_START_LIST,
349 XML_RNGP_PAT_START_ONEMORE,
350 XML_RNGP_PAT_START_TEXT,
351 XML_RNGP_PAT_START_VALUE,
352 XML_RNGP_PREFIX_UNDEFINED,
353 XML_RNGP_REF_CREATE_FAILED,
354 XML_RNGP_REF_CYCLE,
355 XML_RNGP_REF_NAME_INVALID,
356 XML_RNGP_REF_NO_DEF,
357 XML_RNGP_REF_NO_NAME,
358 XML_RNGP_REF_NOT_EMPTY,
359 XML_RNGP_START_CHOICE_AND_INTERLEAVE,
360 XML_RNGP_START_CONTENT,
361 XML_RNGP_START_EMPTY,
362 XML_RNGP_START_MISSING,
363 XML_RNGP_TEXT_EXPECTED,
364 XML_RNGP_TEXT_HAS_CHILD,
365 XML_RNGP_TYPE_MISSING,
366 XML_RNGP_TYPE_NOT_FOUND,
367 XML_RNGP_TYPE_VALUE,
368 XML_RNGP_UNKNOWN_ATTRIBUTE,
369 XML_RNGP_UNKNOWN_COMBINE,
370 XML_RNGP_UNKNOWN_CONSTRUCT,
371 XML_RNGP_UNKNOWN_TYPE_LIB,
372 XML_RNGP_URI_FRAGMENT,
373 XML_RNGP_URI_NOT_ABSOLUTE,
374 XML_RNGP_VALUE_EMPTY,
375 XML_RNGP_VALUE_NO_CONTENT,
376 XML_RNGP_XML_NS
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000377} xmlParserErrors;
Owen Taylor3473f882001-02-23 17:55:21 +0000378
Daniel Veillard9d06d302002-01-22 18:15:52 +0000379/**
380 * xmlGenericErrorFunc:
381 * @ctx: a parsing context
382 * @msg: the message
383 * @...: the extra arguments of the varags to format the message
384 *
Owen Taylor3473f882001-02-23 17:55:21 +0000385 * Signature of the function to use when there is an error and
Daniel Veillard61f26172002-03-12 18:46:39 +0000386 * no parsing or validity context available .
Owen Taylor3473f882001-02-23 17:55:21 +0000387 */
Daniel Veillard9d06d302002-01-22 18:15:52 +0000388typedef void (*xmlGenericErrorFunc) (void *ctx,
389 const char *msg,
390 ...);
Owen Taylor3473f882001-02-23 17:55:21 +0000391
392/*
Daniel Veillardd0463562001-10-13 09:15:48 +0000393 * Use the following function to reset the two global variables
394 * xmlGenericError and xmlGenericErrorContext.
Owen Taylor3473f882001-02-23 17:55:21 +0000395 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000396XMLPUBFUN void XMLCALL
397 xmlSetGenericErrorFunc (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000398 xmlGenericErrorFunc handler);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000399XMLPUBFUN void XMLCALL
400 initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
Owen Taylor3473f882001-02-23 17:55:21 +0000401
402/*
403 * Default message routines used by SAX and Valid context for error
Daniel Veillard61f26172002-03-12 18:46:39 +0000404 * and warning reporting.
Owen Taylor3473f882001-02-23 17:55:21 +0000405 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000406XMLPUBFUN void XMLCALL
407 xmlParserError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000408 const char *msg,
409 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000410XMLPUBFUN void XMLCALL
411 xmlParserWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000412 const char *msg,
413 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000414XMLPUBFUN void XMLCALL
415 xmlParserValidityError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000416 const char *msg,
417 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000418XMLPUBFUN void XMLCALL
419 xmlParserValidityWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000420 const char *msg,
421 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000422XMLPUBFUN void XMLCALL
423 xmlParserPrintFileInfo (xmlParserInputPtr input);
424XMLPUBFUN void XMLCALL
425 xmlParserPrintFileContext (xmlParserInputPtr input);
Owen Taylor3473f882001-02-23 17:55:21 +0000426
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000427/*
428 * Extended error information routines
429 */
430XMLPUBFUN xmlErrorPtr XMLCALL
431 xmlGetLastError (void);
432XMLPUBFUN void XMLCALL
433 xmlResetLastError (void);
434XMLPUBFUN xmlErrorPtr XMLCALL
435 xmlCtxtGetLastError (void *ctx);
436XMLPUBFUN void XMLCALL
437 xmlCtxtResetLastError (void *ctx);
438XMLPUBFUN void XMLCALL
439 xmlResetError (xmlErrorPtr err);
440XMLPUBFUN int XMLCALL
441 xmlCopyError (xmlErrorPtr from,
442 xmlErrorPtr to);
443
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000444#ifdef IN_LIBXML
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000445/*
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000446 * Internal callback reporting routine
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000447 */
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000448XMLPUBFUN void XMLCALL
449 __xmlRaiseError (xmlGenericErrorFunc channel,
450 void *data,
451 void *ctx,
452 void *node,
Daniel Veillard2b8c4a12003-10-02 22:28:19 +0000453 int domain,
454 int code,
455 xmlErrorLevel level,
456 const char *file,
457 int line,
458 const char *str1,
459 const char *str2,
460 const char *str3,
461 int int1,
462 int int2,
463 const char *msg,
464 ...);
Daniel Veillardbb5abab2003-10-03 22:21:51 +0000465#endif
Owen Taylor3473f882001-02-23 17:55:21 +0000466#ifdef __cplusplus
467}
468#endif
469#endif /* __XML_ERROR_H__ */