31 #ifndef XmlParse_INCLUDED
32 #define XmlParse_INCLUDED 1
42 typedef void *XML_Parser;
44 #ifdef XML_UNICODE_WCHAR_T
55 typedef wchar_t XML_Char;
56 typedef wchar_t XML_LChar;
63 typedef unsigned short XML_Char;
64 typedef char XML_LChar;
69 typedef char XML_Char;
70 typedef char XML_LChar;
80 XML_Parser XMLPARSEAPI
81 XML_ParserCreate(
const XML_Char *
encoding);
93 XML_Parser XMLPARSEAPI
94 XML_ParserCreateNS(
const XML_Char *
encoding, XML_Char namespaceSeparator);
100 typedef void (*XML_StartElementHandler)(
void *userData,
101 const XML_Char *name,
102 const XML_Char **atts);
104 typedef void (*XML_EndElementHandler)(
void *userData,
105 const XML_Char *name);
108 typedef void (*XML_CharacterDataHandler)(
void *userData,
113 typedef void (*XML_ProcessingInstructionHandler)(
void *userData,
114 const XML_Char *target,
115 const XML_Char *data);
118 typedef void (*XML_CommentHandler)(
void *userData,
const XML_Char *data);
120 typedef void (*XML_StartCdataSectionHandler)(
void *userData);
121 typedef void (*XML_EndCdataSectionHandler)(
void *userData);
136 typedef void (*XML_DefaultHandler)(
void *userData,
145 typedef void (*XML_UnparsedEntityDeclHandler)(
void *userData,
146 const XML_Char *entityName,
147 const XML_Char *base,
148 const XML_Char *systemId,
149 const XML_Char *publicId,
150 const XML_Char *notationName);
156 typedef void (*XML_NotationDeclHandler)(
void *userData,
157 const XML_Char *notationName,
158 const XML_Char *base,
159 const XML_Char *systemId,
160 const XML_Char *publicId);
168 typedef void (*XML_StartNamespaceDeclHandler)(
void *userData,
170 const XML_Char *uri);
172 typedef void (*XML_EndNamespaceDeclHandler)(
void *userData,
173 const XML_Char *prefix);
181 typedef int (*XML_NotStandaloneHandler)(
void *userData);
207 typedef int (*XML_ExternalEntityRefHandler)(XML_Parser parser,
208 const XML_Char *context,
209 const XML_Char *base,
210 const XML_Char *systemId,
211 const XML_Char *publicId);
257 int (*convert)(
void *data,
const char *s);
258 void (*release)(
void *data);
272 typedef int (*XML_UnknownEncodingHandler)(
void *encodingHandlerData,
273 const XML_Char *name,
277 XML_SetElementHandler(XML_Parser parser,
278 XML_StartElementHandler start,
279 XML_EndElementHandler end);
282 XML_SetCharacterDataHandler(XML_Parser parser,
283 XML_CharacterDataHandler handler);
286 XML_SetProcessingInstructionHandler(XML_Parser parser,
287 XML_ProcessingInstructionHandler handler);
289 XML_SetCommentHandler(XML_Parser parser,
290 XML_CommentHandler handler);
293 XML_SetCdataSectionHandler(XML_Parser parser,
294 XML_StartCdataSectionHandler start,
295 XML_EndCdataSectionHandler end);
301 XML_SetDefaultHandler(XML_Parser parser,
302 XML_DefaultHandler handler);
308 XML_SetDefaultHandlerExpand(XML_Parser parser,
309 XML_DefaultHandler handler);
312 XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
313 XML_UnparsedEntityDeclHandler handler);
316 XML_SetNotationDeclHandler(XML_Parser parser,
317 XML_NotationDeclHandler handler);
320 XML_SetNamespaceDeclHandler(XML_Parser parser,
321 XML_StartNamespaceDeclHandler start,
322 XML_EndNamespaceDeclHandler end);
325 XML_SetNotStandaloneHandler(XML_Parser parser,
326 XML_NotStandaloneHandler handler);
329 XML_SetExternalEntityRefHandler(XML_Parser parser,
330 XML_ExternalEntityRefHandler handler);
336 XML_SetExternalEntityRefHandlerArg(XML_Parser,
void *arg);
339 XML_SetUnknownEncodingHandler(XML_Parser parser,
340 XML_UnknownEncodingHandler handler,
341 void *encodingHandlerData);
346 void XMLPARSEAPI XML_DefaultCurrent(XML_Parser parser);
350 XML_SetUserData(XML_Parser parser,
void *userData);
353 #define XML_GetUserData(parser) (*(void **)(parser))
360 XML_SetEncoding(XML_Parser parser,
const XML_Char *
encoding);
367 XML_UseParserAsHandlerArg(XML_Parser parser);
377 XML_SetBase(XML_Parser parser,
const XML_Char *base);
379 const XML_Char XMLPARSEAPI *
380 XML_GetBase(XML_Parser parser);
386 int XMLPARSEAPI XML_GetSpecifiedAttributeCount(XML_Parser parser);
392 XML_Parse(XML_Parser parser,
const char *s,
int len,
int isFinal);
395 XML_GetBuffer(XML_Parser parser,
int len);
398 XML_ParseBuffer(XML_Parser parser,
int len,
int isFinal);
413 XML_Parser XMLPARSEAPI
414 XML_ExternalEntityParserCreate(XML_Parser parser,
415 const XML_Char *context,
422 XML_ERROR_NO_ELEMENTS,
423 XML_ERROR_INVALID_TOKEN,
424 XML_ERROR_UNCLOSED_TOKEN,
425 XML_ERROR_PARTIAL_CHAR,
426 XML_ERROR_TAG_MISMATCH,
427 XML_ERROR_DUPLICATE_ATTRIBUTE,
428 XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
429 XML_ERROR_PARAM_ENTITY_REF,
430 XML_ERROR_UNDEFINED_ENTITY,
431 XML_ERROR_RECURSIVE_ENTITY_REF,
432 XML_ERROR_ASYNC_ENTITY,
433 XML_ERROR_BAD_CHAR_REF,
434 XML_ERROR_BINARY_ENTITY_REF,
435 XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
436 XML_ERROR_MISPLACED_XML_PI,
437 XML_ERROR_UNKNOWN_ENCODING,
438 XML_ERROR_INCORRECT_ENCODING,
439 XML_ERROR_UNCLOSED_CDATA_SECTION,
440 XML_ERROR_EXTERNAL_ENTITY_HANDLING,
441 XML_ERROR_NOT_STANDALONE
447 enum XML_Error XMLPARSEAPI XML_GetErrorCode(XML_Parser parser);
457 int XMLPARSEAPI XML_GetCurrentLineNumber(XML_Parser parser);
458 int XMLPARSEAPI XML_GetCurrentColumnNumber(XML_Parser parser);
459 long XMLPARSEAPI XML_GetCurrentByteIndex(XML_Parser parser);
464 int XMLPARSEAPI XML_GetCurrentByteCount(XML_Parser parser);
467 #define XML_GetErrorLineNumber XML_GetCurrentLineNumber
468 #define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
469 #define XML_GetErrorByteIndex XML_GetCurrentByteIndex
473 XML_ParserFree(XML_Parser parser);
476 const XML_LChar XMLPARSEAPI *XML_ErrorString(
int code);