blob: 9e1a16dd76d447191eb3e8b6ebf8fb90b625b194 [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
10typedef enum {
11 XML_ERR_OK = 0,
12 XML_ERR_INTERNAL_ERROR,
13 XML_ERR_NO_MEMORY,
14
15 XML_ERR_DOCUMENT_START, /* 3 */
16 XML_ERR_DOCUMENT_EMPTY,
17 XML_ERR_DOCUMENT_END,
18
19 XML_ERR_INVALID_HEX_CHARREF, /* 6 */
20 XML_ERR_INVALID_DEC_CHARREF,
21 XML_ERR_INVALID_CHARREF,
22 XML_ERR_INVALID_CHAR,
23
24 XML_ERR_CHARREF_AT_EOF, /* 10 */
25 XML_ERR_CHARREF_IN_PROLOG,
26 XML_ERR_CHARREF_IN_EPILOG,
27 XML_ERR_CHARREF_IN_DTD,
28 XML_ERR_ENTITYREF_AT_EOF,
29 XML_ERR_ENTITYREF_IN_PROLOG,
30 XML_ERR_ENTITYREF_IN_EPILOG,
31 XML_ERR_ENTITYREF_IN_DTD,
32 XML_ERR_PEREF_AT_EOF,
33 XML_ERR_PEREF_IN_PROLOG,
34 XML_ERR_PEREF_IN_EPILOG,
35 XML_ERR_PEREF_IN_INT_SUBSET,
36
37 XML_ERR_ENTITYREF_NO_NAME, /* 22 */
38 XML_ERR_ENTITYREF_SEMICOL_MISSING,
39
40 XML_ERR_PEREF_NO_NAME, /* 24 */
41 XML_ERR_PEREF_SEMICOL_MISSING,
42
43 XML_ERR_UNDECLARED_ENTITY, /* 26 */
44 XML_WAR_UNDECLARED_ENTITY,
45 XML_ERR_UNPARSED_ENTITY,
46 XML_ERR_ENTITY_IS_EXTERNAL,
47 XML_ERR_ENTITY_IS_PARAMETER,
48
49 XML_ERR_UNKNOWN_ENCODING, /* 31 */
50 XML_ERR_UNSUPPORTED_ENCODING,
51
52 XML_ERR_STRING_NOT_STARTED, /* 33 */
53 XML_ERR_STRING_NOT_CLOSED,
54 XML_ERR_NS_DECL_ERROR,
55
56 XML_ERR_ENTITY_NOT_STARTED, /* 36 */
57 XML_ERR_ENTITY_NOT_FINISHED,
58
59 XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
60 XML_ERR_ATTRIBUTE_NOT_STARTED,
61 XML_ERR_ATTRIBUTE_NOT_FINISHED,
62 XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
63 XML_ERR_ATTRIBUTE_REDEFINED,
64
65 XML_ERR_LITERAL_NOT_STARTED, /* 43 */
66 XML_ERR_LITERAL_NOT_FINISHED,
67
68 XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
69
Daniel Veillard9ec26532003-09-23 07:43:19 +000070 XML_ERR_PI_NOT_STARTED, /* 46 */
Owen Taylor3473f882001-02-23 17:55:21 +000071 XML_ERR_PI_NOT_FINISHED,
72
Daniel Veillard9ec26532003-09-23 07:43:19 +000073 XML_ERR_NOTATION_NOT_STARTED, /* 48 */
Owen Taylor3473f882001-02-23 17:55:21 +000074 XML_ERR_NOTATION_NOT_FINISHED,
75
Daniel Veillard9ec26532003-09-23 07:43:19 +000076 XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
Owen Taylor3473f882001-02-23 17:55:21 +000077 XML_ERR_ATTLIST_NOT_FINISHED,
78
Daniel Veillard9ec26532003-09-23 07:43:19 +000079 XML_ERR_MIXED_NOT_STARTED, /* 52 */
Owen Taylor3473f882001-02-23 17:55:21 +000080 XML_ERR_MIXED_NOT_FINISHED,
81
Daniel Veillard9ec26532003-09-23 07:43:19 +000082 XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
Owen Taylor3473f882001-02-23 17:55:21 +000083 XML_ERR_ELEMCONTENT_NOT_FINISHED,
84
Daniel Veillard9ec26532003-09-23 07:43:19 +000085 XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
Owen Taylor3473f882001-02-23 17:55:21 +000086 XML_ERR_XMLDECL_NOT_FINISHED,
87
Daniel Veillard9ec26532003-09-23 07:43:19 +000088 XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
Owen Taylor3473f882001-02-23 17:55:21 +000089 XML_ERR_CONDSEC_NOT_FINISHED,
90
Daniel Veillard9ec26532003-09-23 07:43:19 +000091 XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
Owen Taylor3473f882001-02-23 17:55:21 +000092
Daniel Veillard9ec26532003-09-23 07:43:19 +000093 XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
Owen Taylor3473f882001-02-23 17:55:21 +000094
Daniel Veillard9ec26532003-09-23 07:43:19 +000095 XML_ERR_MISPLACED_CDATA_END, /* 62 */
Owen Taylor3473f882001-02-23 17:55:21 +000096 XML_ERR_CDATA_NOT_FINISHED,
97
Daniel Veillard9ec26532003-09-23 07:43:19 +000098 XML_ERR_RESERVED_XML_NAME, /* 64 */
Owen Taylor3473f882001-02-23 17:55:21 +000099
Daniel Veillard9ec26532003-09-23 07:43:19 +0000100 XML_ERR_SPACE_REQUIRED, /* 65 */
Owen Taylor3473f882001-02-23 17:55:21 +0000101 XML_ERR_SEPARATOR_REQUIRED,
102 XML_ERR_NMTOKEN_REQUIRED,
103 XML_ERR_NAME_REQUIRED,
104 XML_ERR_PCDATA_REQUIRED,
105 XML_ERR_URI_REQUIRED,
106 XML_ERR_PUBID_REQUIRED,
107 XML_ERR_LT_REQUIRED,
108 XML_ERR_GT_REQUIRED,
109 XML_ERR_LTSLASH_REQUIRED,
110 XML_ERR_EQUAL_REQUIRED,
111
Daniel Veillard9ec26532003-09-23 07:43:19 +0000112 XML_ERR_TAG_NAME_MISMATCH, /* 76 */
Daniel Veillard5344c602001-12-31 16:37:34 +0000113 XML_ERR_TAG_NOT_FINISHED,
Owen Taylor3473f882001-02-23 17:55:21 +0000114
Daniel Veillard9ec26532003-09-23 07:43:19 +0000115 XML_ERR_STANDALONE_VALUE, /* 78 */
Owen Taylor3473f882001-02-23 17:55:21 +0000116
Daniel Veillard9ec26532003-09-23 07:43:19 +0000117 XML_ERR_ENCODING_NAME, /* 79 */
Owen Taylor3473f882001-02-23 17:55:21 +0000118
Daniel Veillard9ec26532003-09-23 07:43:19 +0000119 XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
Owen Taylor3473f882001-02-23 17:55:21 +0000120
Daniel Veillard9ec26532003-09-23 07:43:19 +0000121 XML_ERR_INVALID_ENCODING, /* 81 */
Owen Taylor3473f882001-02-23 17:55:21 +0000122
Daniel Veillard9ec26532003-09-23 07:43:19 +0000123 XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
Owen Taylor3473f882001-02-23 17:55:21 +0000124
Daniel Veillard9ec26532003-09-23 07:43:19 +0000125 XML_ERR_CONDSEC_INVALID, /* 83 */
Owen Taylor3473f882001-02-23 17:55:21 +0000126
Daniel Veillard9ec26532003-09-23 07:43:19 +0000127 XML_ERR_VALUE_REQUIRED, /* 84 */
Owen Taylor3473f882001-02-23 17:55:21 +0000128
Daniel Veillard9ec26532003-09-23 07:43:19 +0000129 XML_ERR_NOT_WELL_BALANCED, /* 85 */
130 XML_ERR_EXTRA_CONTENT, /* 86 */
131 XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
Owen Taylor3473f882001-02-23 17:55:21 +0000132 XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
133 XML_ERR_ENTITY_LOOP, /* 89 */
134 XML_ERR_ENTITY_BOUNDARY, /* 90 */
135 XML_ERR_INVALID_URI, /* 91 */
Daniel Veillard5d90b6c2001-08-22 14:29:45 +0000136 XML_ERR_URI_FRAGMENT, /* 92 */
Daniel Veillard7a51d6d2001-09-10 14:40:43 +0000137 XML_WAR_CATALOG_PI, /* 93 */
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000138 XML_ERR_NO_DTD, /* 94 */
139 XML_NS_ERR_XML_NAMESPACE,
140 XML_NS_ERR_UNDEFINED_NAMESPACE,
141 XML_NS_ERR_QNAME,
Daniel Veillard1afc9f32003-09-13 12:44:05 +0000142 XML_NS_ERR_ATTRIBUTE_REDEFINED,
Daniel Veillardbdbe0d42003-09-14 19:56:14 +0000143 XML_ERR_CONDSEC_INVALID_KEYWORD,
144 XML_ERR_VERSION_MISSING
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000145} xmlParserErrors;
Owen Taylor3473f882001-02-23 17:55:21 +0000146
Daniel Veillard9d06d302002-01-22 18:15:52 +0000147/**
148 * xmlGenericErrorFunc:
149 * @ctx: a parsing context
150 * @msg: the message
151 * @...: the extra arguments of the varags to format the message
152 *
Owen Taylor3473f882001-02-23 17:55:21 +0000153 * Signature of the function to use when there is an error and
Daniel Veillard61f26172002-03-12 18:46:39 +0000154 * no parsing or validity context available .
Owen Taylor3473f882001-02-23 17:55:21 +0000155 */
Daniel Veillard9d06d302002-01-22 18:15:52 +0000156typedef void (*xmlGenericErrorFunc) (void *ctx,
157 const char *msg,
158 ...);
Owen Taylor3473f882001-02-23 17:55:21 +0000159
160/*
Daniel Veillardd0463562001-10-13 09:15:48 +0000161 * Use the following function to reset the two global variables
162 * xmlGenericError and xmlGenericErrorContext.
Owen Taylor3473f882001-02-23 17:55:21 +0000163 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000164XMLPUBFUN void XMLCALL
165 xmlSetGenericErrorFunc (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000166 xmlGenericErrorFunc handler);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000167XMLPUBFUN void XMLCALL
168 initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
Owen Taylor3473f882001-02-23 17:55:21 +0000169
170/*
171 * Default message routines used by SAX and Valid context for error
Daniel Veillard61f26172002-03-12 18:46:39 +0000172 * and warning reporting.
Owen Taylor3473f882001-02-23 17:55:21 +0000173 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000174XMLPUBFUN void XMLCALL
175 xmlParserError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000176 const char *msg,
177 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000178XMLPUBFUN void XMLCALL
179 xmlParserWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000180 const char *msg,
181 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000182XMLPUBFUN void XMLCALL
183 xmlParserValidityError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000184 const char *msg,
185 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000186XMLPUBFUN void XMLCALL
187 xmlParserValidityWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000188 const char *msg,
189 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000190XMLPUBFUN void XMLCALL
191 xmlParserPrintFileInfo (xmlParserInputPtr input);
192XMLPUBFUN void XMLCALL
193 xmlParserPrintFileContext (xmlParserInputPtr input);
Owen Taylor3473f882001-02-23 17:55:21 +0000194
195#ifdef __cplusplus
196}
197#endif
198#endif /* __XML_ERROR_H__ */