00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __XML_XMLREADER_H__
00011 #define __XML_XMLREADER_H__
00012
00013 #include <libxml/xmlversion.h>
00014 #include <libxml/tree.h>
00015 #include <libxml/xmlIO.h>
00016 #ifdef LIBXML_SCHEMAS_ENABLED
00017 #include <libxml/relaxng.h>
00018 #include <libxml/xmlschemas.h>
00019 #endif
00020
00021 #ifdef LIBXML_READER_ENABLED
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00032 typedef enum {
00033 XML_TEXTREADER_MODE_INITIAL = 0,
00034 XML_TEXTREADER_MODE_INTERACTIVE = 1,
00035 XML_TEXTREADER_MODE_ERROR = 2,
00036 XML_TEXTREADER_MODE_EOF =3,
00037 XML_TEXTREADER_MODE_CLOSED = 4,
00038 XML_TEXTREADER_MODE_READING = 5
00039 } xmlTextReaderMode;
00040
00048 typedef enum {
00049 XML_PARSER_LOADDTD = 1,
00050 XML_PARSER_DEFAULTATTRS = 2,
00051 XML_PARSER_VALIDATE = 3,
00052 XML_PARSER_SUBST_ENTITIES = 4
00053 } xmlParserProperties;
00054
00061 typedef enum {
00062 XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
00063 XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
00064 XML_PARSER_SEVERITY_WARNING = 3,
00065 XML_PARSER_SEVERITY_ERROR = 4
00066 } xmlParserSeverities;
00067
00073 typedef enum {
00074 XML_READER_TYPE_NONE = 0,
00075 XML_READER_TYPE_ELEMENT = 1,
00076 XML_READER_TYPE_ATTRIBUTE = 2,
00077 XML_READER_TYPE_TEXT = 3,
00078 XML_READER_TYPE_CDATA = 4,
00079 XML_READER_TYPE_ENTITY_REFERENCE = 5,
00080 XML_READER_TYPE_ENTITY = 6,
00081 XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
00082 XML_READER_TYPE_COMMENT = 8,
00083 XML_READER_TYPE_DOCUMENT = 9,
00084 XML_READER_TYPE_DOCUMENT_TYPE = 10,
00085 XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
00086 XML_READER_TYPE_NOTATION = 12,
00087 XML_READER_TYPE_WHITESPACE = 13,
00088 XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
00089 XML_READER_TYPE_END_ELEMENT = 15,
00090 XML_READER_TYPE_END_ENTITY = 16,
00091 XML_READER_TYPE_XML_DECLARATION = 17
00092 } xmlReaderTypes;
00093
00099 typedef struct _xmlTextReader xmlTextReader;
00100
00106 typedef xmlTextReader *xmlTextReaderPtr;
00107
00108
00109
00110
00111 XMLPUBFUN xmlTextReaderPtr XMLCALL
00112 xmlNewTextReader (xmlParserInputBufferPtr input,
00113 const char *URI);
00114 XMLPUBFUN xmlTextReaderPtr XMLCALL
00115 xmlNewTextReaderFilename(const char *URI);
00116 XMLPUBFUN void XMLCALL
00117 xmlFreeTextReader (xmlTextReaderPtr reader);
00118
00119
00120
00121
00122 XMLPUBFUN int XMLCALL
00123 xmlTextReaderRead (xmlTextReaderPtr reader);
00124
00125 #ifdef LIBXML_WRITER_ENABLED
00126 XMLPUBFUN xmlChar * XMLCALL
00127 xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
00128
00129 XMLPUBFUN xmlChar * XMLCALL
00130 xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
00131 #endif
00132
00133 XMLPUBFUN xmlChar * XMLCALL
00134 xmlTextReaderReadString (xmlTextReaderPtr reader);
00135 XMLPUBFUN int XMLCALL
00136 xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
00137
00138
00139
00140
00141 XMLPUBFUN int XMLCALL
00142 xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
00143 XMLPUBFUN int XMLCALL
00144 xmlTextReaderDepth (xmlTextReaderPtr reader);
00145 XMLPUBFUN int XMLCALL
00146 xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
00147 XMLPUBFUN int XMLCALL
00148 xmlTextReaderHasValue(xmlTextReaderPtr reader);
00149 XMLPUBFUN int XMLCALL
00150 xmlTextReaderIsDefault (xmlTextReaderPtr reader);
00151 XMLPUBFUN int XMLCALL
00152 xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
00153 XMLPUBFUN int XMLCALL
00154 xmlTextReaderNodeType (xmlTextReaderPtr reader);
00155 XMLPUBFUN int XMLCALL
00156 xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
00157 XMLPUBFUN int XMLCALL
00158 xmlTextReaderReadState (xmlTextReaderPtr reader);
00159 XMLPUBFUN int XMLCALL
00160 xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
00161
00162 XMLPUBFUN const xmlChar * XMLCALL
00163 xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
00164 XMLPUBFUN const xmlChar * XMLCALL
00165 xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
00166 XMLPUBFUN const xmlChar * XMLCALL
00167 xmlTextReaderConstName (xmlTextReaderPtr reader);
00168 XMLPUBFUN const xmlChar * XMLCALL
00169 xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
00170 XMLPUBFUN const xmlChar * XMLCALL
00171 xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
00172 XMLPUBFUN const xmlChar * XMLCALL
00173 xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
00174 XMLPUBFUN const xmlChar * XMLCALL
00175 xmlTextReaderConstString (xmlTextReaderPtr reader,
00176 const xmlChar *str);
00177 XMLPUBFUN const xmlChar * XMLCALL
00178 xmlTextReaderConstValue (xmlTextReaderPtr reader);
00179
00180
00181
00182
00183
00184 XMLPUBFUN xmlChar * XMLCALL
00185 xmlTextReaderBaseUri (xmlTextReaderPtr reader);
00186 XMLPUBFUN xmlChar * XMLCALL
00187 xmlTextReaderLocalName (xmlTextReaderPtr reader);
00188 XMLPUBFUN xmlChar * XMLCALL
00189 xmlTextReaderName (xmlTextReaderPtr reader);
00190 XMLPUBFUN xmlChar * XMLCALL
00191 xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
00192 XMLPUBFUN xmlChar * XMLCALL
00193 xmlTextReaderPrefix (xmlTextReaderPtr reader);
00194 XMLPUBFUN xmlChar * XMLCALL
00195 xmlTextReaderXmlLang (xmlTextReaderPtr reader);
00196 XMLPUBFUN xmlChar * XMLCALL
00197 xmlTextReaderValue (xmlTextReaderPtr reader);
00198
00199
00200
00201
00202 XMLPUBFUN int XMLCALL
00203 xmlTextReaderClose (xmlTextReaderPtr reader);
00204 XMLPUBFUN xmlChar * XMLCALL
00205 xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
00206 int no);
00207 XMLPUBFUN xmlChar * XMLCALL
00208 xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
00209 const xmlChar *name);
00210 XMLPUBFUN xmlChar * XMLCALL
00211 xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
00212 const xmlChar *localName,
00213 const xmlChar *namespaceURI);
00214 XMLPUBFUN xmlParserInputBufferPtr XMLCALL
00215 xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
00216 XMLPUBFUN xmlChar * XMLCALL
00217 xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
00218 const xmlChar *prefix);
00219 XMLPUBFUN int XMLCALL
00220 xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
00221 int no);
00222 XMLPUBFUN int XMLCALL
00223 xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
00224 const xmlChar *name);
00225 XMLPUBFUN int XMLCALL
00226 xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
00227 const xmlChar *localName,
00228 const xmlChar *namespaceURI);
00229 XMLPUBFUN int XMLCALL
00230 xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
00231 XMLPUBFUN int XMLCALL
00232 xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
00233 XMLPUBFUN int XMLCALL
00234 xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
00235 XMLPUBFUN int XMLCALL
00236 xmlTextReaderNormalization (xmlTextReaderPtr reader);
00237 XMLPUBFUN const xmlChar * XMLCALL
00238 xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
00239
00240
00241
00242
00243 XMLPUBFUN int XMLCALL
00244 xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
00245 int prop,
00246 int value);
00247 XMLPUBFUN int XMLCALL
00248 xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
00249 int prop);
00250 XMLPUBFUN xmlNodePtr XMLCALL
00251 xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
00252
00253 XMLPUBFUN int XMLCALL
00254 xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
00255
00256 XMLPUBFUN int XMLCALL
00257 xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
00258
00259 XMLPUBFUN xmlNodePtr XMLCALL
00260 xmlTextReaderPreserve (xmlTextReaderPtr reader);
00261 #ifdef LIBXML_PATTERN_ENABLED
00262 XMLPUBFUN int XMLCALL
00263 xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
00264 const xmlChar *pattern,
00265 const xmlChar **namespaces);
00266 #endif
00267 XMLPUBFUN xmlDocPtr XMLCALL
00268 xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
00269 XMLPUBFUN xmlNodePtr XMLCALL
00270 xmlTextReaderExpand (xmlTextReaderPtr reader);
00271 XMLPUBFUN int XMLCALL
00272 xmlTextReaderNext (xmlTextReaderPtr reader);
00273 XMLPUBFUN int XMLCALL
00274 xmlTextReaderNextSibling (xmlTextReaderPtr reader);
00275 XMLPUBFUN int XMLCALL
00276 xmlTextReaderIsValid (xmlTextReaderPtr reader);
00277 #ifdef LIBXML_SCHEMAS_ENABLED
00278 XMLPUBFUN int XMLCALL
00279 xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
00280 const char *rng);
00281 XMLPUBFUN int XMLCALL
00282 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
00283 xmlRelaxNGPtr schema);
00284 XMLPUBFUN int XMLCALL
00285 xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
00286 const char *xsd);
00287 XMLPUBFUN int XMLCALL
00288 xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
00289 xmlSchemaValidCtxtPtr ctxt,
00290 int options);
00291 XMLPUBFUN int XMLCALL
00292 xmlTextReaderSetSchema (xmlTextReaderPtr reader,
00293 xmlSchemaPtr schema);
00294 #endif
00295 XMLPUBFUN const xmlChar * XMLCALL
00296 xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
00297 XMLPUBFUN int XMLCALL
00298 xmlTextReaderStandalone (xmlTextReaderPtr reader);
00299
00300
00301
00302
00303
00304 XMLPUBFUN long XMLCALL
00305 xmlTextReaderByteConsumed (xmlTextReaderPtr reader);
00306
00307
00308
00309
00310 XMLPUBFUN xmlTextReaderPtr XMLCALL
00311 xmlReaderWalker (xmlDocPtr doc);
00312 XMLPUBFUN xmlTextReaderPtr XMLCALL
00313 xmlReaderForDoc (const xmlChar * cur,
00314 const char *URL,
00315 const char *encoding,
00316 int options);
00317 XMLPUBFUN xmlTextReaderPtr XMLCALL
00318 xmlReaderForFile (const char *filename,
00319 const char *encoding,
00320 int options);
00321 XMLPUBFUN xmlTextReaderPtr XMLCALL
00322 xmlReaderForMemory (const char *buffer,
00323 int size,
00324 const char *URL,
00325 const char *encoding,
00326 int options);
00327 XMLPUBFUN xmlTextReaderPtr XMLCALL
00328 xmlReaderForFd (int fd,
00329 const char *URL,
00330 const char *encoding,
00331 int options);
00332 XMLPUBFUN xmlTextReaderPtr XMLCALL
00333 xmlReaderForIO (xmlInputReadCallback ioread,
00334 xmlInputCloseCallback ioclose,
00335 void *ioctx,
00336 const char *URL,
00337 const char *encoding,
00338 int options);
00339
00340 XMLPUBFUN int XMLCALL
00341 xmlReaderNewWalker (xmlTextReaderPtr reader,
00342 xmlDocPtr doc);
00343 XMLPUBFUN int XMLCALL
00344 xmlReaderNewDoc (xmlTextReaderPtr reader,
00345 const xmlChar * cur,
00346 const char *URL,
00347 const char *encoding,
00348 int options);
00349 XMLPUBFUN int XMLCALL
00350 xmlReaderNewFile (xmlTextReaderPtr reader,
00351 const char *filename,
00352 const char *encoding,
00353 int options);
00354 XMLPUBFUN int XMLCALL
00355 xmlReaderNewMemory (xmlTextReaderPtr reader,
00356 const char *buffer,
00357 int size,
00358 const char *URL,
00359 const char *encoding,
00360 int options);
00361 XMLPUBFUN int XMLCALL
00362 xmlReaderNewFd (xmlTextReaderPtr reader,
00363 int fd,
00364 const char *URL,
00365 const char *encoding,
00366 int options);
00367 XMLPUBFUN int XMLCALL
00368 xmlReaderNewIO (xmlTextReaderPtr reader,
00369 xmlInputReadCallback ioread,
00370 xmlInputCloseCallback ioclose,
00371 void *ioctx,
00372 const char *URL,
00373 const char *encoding,
00374 int options);
00375
00376
00377
00378 typedef void * xmlTextReaderLocatorPtr;
00379 typedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg,
00380 const char *msg,
00381 xmlParserSeverities severity,
00382 xmlTextReaderLocatorPtr locator);
00383 XMLPUBFUN int XMLCALL
00384 xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
00385
00386 XMLPUBFUN xmlChar * XMLCALL
00387 xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
00388 XMLPUBFUN void XMLCALL
00389 xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
00390 xmlTextReaderErrorFunc f,
00391 void *arg);
00392 XMLPUBFUN void XMLCALL
00393 xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
00394 xmlStructuredErrorFunc f,
00395 void *arg);
00396 XMLPUBFUN void XMLCALL
00397 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
00398 xmlTextReaderErrorFunc *f,
00399 void **arg);
00400
00401 #ifdef __cplusplus
00402 }
00403 #endif
00404
00405 #endif
00406
00407 #endif
00408