00001 00038 #ifndef PARSER_H_0211250057 00039 #define PARSER_H_0211250057 00040 00041 #include "export.h" 00042 00043 #include "bool.h" 00044 #include "reader.h" 00045 #include "tree.h" 00046 00047 #include <expat.h> 00048 00049 #include <stdio.h> 00050 00051 #ifdef __cplusplus 00052 extern "C" { 00053 #endif /* __cplusplus */ 00054 00060 typedef struct scew_parser scew_parser; 00061 00080 typedef scew_bool (*scew_parser_load_hook) (scew_parser *, void *, void *); 00081 00082 00100 extern SCEW_API scew_parser* scew_parser_create (void); 00101 00116 extern SCEW_API scew_parser* scew_parser_namespace_create (XML_Char separator); 00117 00124 extern SCEW_API void scew_parser_free (scew_parser *parser); 00125 00126 00158 extern SCEW_API scew_tree* scew_parser_load (scew_parser *parser, 00159 scew_reader *reader); 00160 00191 extern SCEW_API scew_bool scew_parser_load_stream (scew_parser *parser, 00192 scew_reader *reader); 00193 00206 extern SCEW_API void scew_parser_reset (scew_parser *parser); 00207 00230 extern SCEW_API void scew_parser_set_element_hook (scew_parser *parser, 00231 scew_parser_load_hook hook, 00232 void *user_data); 00233 00253 extern SCEW_API void scew_parser_set_tree_hook (scew_parser *parser, 00254 scew_parser_load_hook hook, 00255 void *user_data); 00256 00280 extern SCEW_API void scew_parser_ignore_whitespaces (scew_parser *parser, 00281 scew_bool ignore); 00282 00283 00301 extern SCEW_API XML_Parser scew_parser_expat (scew_parser *parser); 00302 00303 #ifdef __cplusplus 00304 } 00305 #endif /* __cplusplus */ 00306 00307 #endif /* PARSER_H_0211250057 */
1.6.1