00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __XML_XMLREADER_H__
00020
00021 #define __XML_XMLREADER_H__
00022
00023
00024
00025 #include <libxml/xmlversion.h>
00026
00027 #include <libxml/tree.h>
00028
00029 #include <libxml/xmlIO.h>
00030
00031 #ifdef LIBXML_SCHEMAS_ENABLED
00032
00033 #include <libxml/relaxng.h>
00034
00035 #endif
00036
00037
00038
00039 #ifdef LIBXML_READER_ENABLED
00040
00041
00042
00043 #ifdef __cplusplus
00044
00045 extern "C" {
00046
00047 #endif
00048
00049
00050
00061 typedef enum {
00062
00063 XML_TEXTREADER_MODE_INITIAL = 0,
00064
00065 XML_TEXTREADER_MODE_INTERACTIVE = 1,
00066
00067 XML_TEXTREADER_MODE_ERROR = 2,
00068
00069 XML_TEXTREADER_MODE_EOF =3,
00070
00071 XML_TEXTREADER_MODE_CLOSED = 4,
00072
00073 XML_TEXTREADER_MODE_READING = 5
00074
00075 } xmlTextReaderMode;
00076
00077
00078
00093 typedef enum {
00094
00095 XML_PARSER_LOADDTD = 1,
00096
00097 XML_PARSER_DEFAULTATTRS = 2,
00098
00099 XML_PARSER_VALIDATE = 3,
00100
00101 XML_PARSER_SUBST_ENTITIES = 4
00102
00103 } xmlParserProperties;
00104
00105
00106
00119 typedef enum {
00120
00121 XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
00122
00123 XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
00124
00125 XML_PARSER_SEVERITY_WARNING = 3,
00126
00127 XML_PARSER_SEVERITY_ERROR = 4
00128
00129 } xmlParserSeverities;
00130
00131
00132
00143 typedef enum {
00144
00145 XML_READER_TYPE_NONE = 0,
00146
00147 XML_READER_TYPE_ELEMENT = 1,
00148
00149 XML_READER_TYPE_ATTRIBUTE = 2,
00150
00151 XML_READER_TYPE_TEXT = 3,
00152
00153 XML_READER_TYPE_CDATA = 4,
00154
00155 XML_READER_TYPE_ENTITY_REFERENCE = 5,
00156
00157 XML_READER_TYPE_ENTITY = 6,
00158
00159 XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
00160
00161 XML_READER_TYPE_COMMENT = 8,
00162
00163 XML_READER_TYPE_DOCUMENT = 9,
00164
00165 XML_READER_TYPE_DOCUMENT_TYPE = 10,
00166
00167 XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
00168
00169 XML_READER_TYPE_NOTATION = 12,
00170
00171 XML_READER_TYPE_WHITESPACE = 13,
00172
00173 XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
00174
00175 XML_READER_TYPE_END_ELEMENT = 15,
00176
00177 XML_READER_TYPE_END_ENTITY = 16,
00178
00179 XML_READER_TYPE_XML_DECLARATION = 17
00180
00181 } xmlReaderTypes;
00182
00183
00184
00195 typedef struct _xmlTextReader xmlTextReader;
00196
00197
00198
00209 typedef xmlTextReader *xmlTextReaderPtr;
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219 XMLPUBFUN xmlTextReaderPtr XMLCALL
00220
00221 xmlNewTextReader (xmlParserInputBufferPtr input,
00222
00223 const char *URI);
00224
00225 XMLPUBFUN xmlTextReaderPtr XMLCALL
00226
00227 xmlNewTextReaderFilename(const char *URI);
00228
00229 XMLPUBFUN void XMLCALL
00230
00231 xmlFreeTextReader (xmlTextReaderPtr reader);
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241 XMLPUBFUN int XMLCALL
00242
00243 xmlTextReaderRead (xmlTextReaderPtr reader);
00244
00245 XMLPUBFUN xmlChar * XMLCALL
00246
00247 xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
00248
00249 XMLPUBFUN xmlChar * XMLCALL
00250
00251 xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
00252
00253 XMLPUBFUN xmlChar * XMLCALL
00254
00255 xmlTextReaderReadString (xmlTextReaderPtr reader);
00256
00257 XMLPUBFUN int XMLCALL
00258
00259 xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269 XMLPUBFUN int XMLCALL
00270
00271 xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
00272
00273 XMLPUBFUN int XMLCALL
00274
00275 xmlTextReaderDepth (xmlTextReaderPtr reader);
00276
00277 XMLPUBFUN int XMLCALL
00278
00279 xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
00280
00281 XMLPUBFUN int XMLCALL
00282
00283 xmlTextReaderHasValue(xmlTextReaderPtr reader);
00284
00285 XMLPUBFUN int XMLCALL
00286
00287 xmlTextReaderIsDefault (xmlTextReaderPtr reader);
00288
00289 XMLPUBFUN int XMLCALL
00290
00291 xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
00292
00293 XMLPUBFUN int XMLCALL
00294
00295 xmlTextReaderNodeType (xmlTextReaderPtr reader);
00296
00297 XMLPUBFUN int XMLCALL
00298
00299 xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
00300
00301 XMLPUBFUN int XMLCALL
00302
00303 xmlTextReaderReadState (xmlTextReaderPtr reader);
00304
00305 XMLPUBFUN int XMLCALL
00306
00307 xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
00308
00309
00310
00311 XMLPUBFUN const xmlChar * XMLCALL
00312
00313 xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
00314
00315 XMLPUBFUN const xmlChar * XMLCALL
00316
00317 xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
00318
00319 XMLPUBFUN const xmlChar * XMLCALL
00320
00321 xmlTextReaderConstName (xmlTextReaderPtr reader);
00322
00323 XMLPUBFUN const xmlChar * XMLCALL
00324
00325 xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
00326
00327 XMLPUBFUN const xmlChar * XMLCALL
00328
00329 xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
00330
00331 XMLPUBFUN const xmlChar * XMLCALL
00332
00333 xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
00334
00335 XMLPUBFUN const xmlChar * XMLCALL
00336
00337 xmlTextReaderConstString (xmlTextReaderPtr reader,
00338
00339 const xmlChar *str);
00340
00341 XMLPUBFUN const xmlChar * XMLCALL
00342
00343 xmlTextReaderConstValue (xmlTextReaderPtr reader);
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355 XMLPUBFUN xmlChar * XMLCALL
00356
00357 xmlTextReaderBaseUri (xmlTextReaderPtr reader);
00358
00359 XMLPUBFUN xmlChar * XMLCALL
00360
00361 xmlTextReaderLocalName (xmlTextReaderPtr reader);
00362
00363 XMLPUBFUN xmlChar * XMLCALL
00364
00365 xmlTextReaderName (xmlTextReaderPtr reader);
00366
00367 XMLPUBFUN xmlChar * XMLCALL
00368
00369 xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
00370
00371 XMLPUBFUN xmlChar * XMLCALL
00372
00373 xmlTextReaderPrefix (xmlTextReaderPtr reader);
00374
00375 XMLPUBFUN xmlChar * XMLCALL
00376
00377 xmlTextReaderXmlLang (xmlTextReaderPtr reader);
00378
00379 XMLPUBFUN xmlChar * XMLCALL
00380
00381 xmlTextReaderValue (xmlTextReaderPtr reader);
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391 XMLPUBFUN int XMLCALL
00392
00393 xmlTextReaderClose (xmlTextReaderPtr reader);
00394
00395 XMLPUBFUN xmlChar * XMLCALL
00396
00397 xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
00398
00399 int no);
00400
00401 XMLPUBFUN xmlChar * XMLCALL
00402
00403 xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
00404
00405 const xmlChar *name);
00406
00407 XMLPUBFUN xmlChar * XMLCALL
00408
00409 xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
00410
00411 const xmlChar *localName,
00412
00413 const xmlChar *namespaceURI);
00414
00415 XMLPUBFUN xmlParserInputBufferPtr XMLCALL
00416
00417 xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
00418
00419 XMLPUBFUN xmlChar * XMLCALL
00420
00421 xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
00422
00423 const xmlChar *prefix);
00424
00425 XMLPUBFUN int XMLCALL
00426
00427 xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
00428
00429 int no);
00430
00431 XMLPUBFUN int XMLCALL
00432
00433 xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
00434
00435 const xmlChar *name);
00436
00437 XMLPUBFUN int XMLCALL
00438
00439 xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
00440
00441 const xmlChar *localName,
00442
00443 const xmlChar *namespaceURI);
00444
00445 XMLPUBFUN int XMLCALL
00446
00447 xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
00448
00449 XMLPUBFUN int XMLCALL
00450
00451 xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
00452
00453 XMLPUBFUN int XMLCALL
00454
00455 xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
00456
00457 XMLPUBFUN int XMLCALL
00458
00459 xmlTextReaderNormalization (xmlTextReaderPtr reader);
00460
00461 XMLPUBFUN const xmlChar * XMLCALL
00462
00463 xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473 XMLPUBFUN int XMLCALL
00474
00475 xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
00476
00477 int prop,
00478
00479 int value);
00480
00481 XMLPUBFUN int XMLCALL
00482
00483 xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
00484
00485 int prop);
00486
00487 XMLPUBFUN xmlNodePtr XMLCALL
00488
00489 xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
00490
00491
00492
00493 XMLPUBFUN int XMLCALL
00494
00495 xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
00496
00497
00498
00499 XMLPUBFUN int XMLCALL
00500
00501 xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
00502
00503
00504
00505 XMLPUBFUN xmlNodePtr XMLCALL
00506
00507 xmlTextReaderPreserve (xmlTextReaderPtr reader);
00508
00509 #ifdef LIBXML_PATTERN_ENABLED
00510
00511 XMLPUBFUN int XMLCALL
00512
00513 xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
00514
00515 const xmlChar *pattern,
00516
00517 const xmlChar **namespaces);
00518
00519 #endif
00520
00521 XMLPUBFUN xmlDocPtr XMLCALL
00522
00523 xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
00524
00525 XMLPUBFUN xmlNodePtr XMLCALL
00526
00527 xmlTextReaderExpand (xmlTextReaderPtr reader);
00528
00529 XMLPUBFUN int XMLCALL
00530
00531 xmlTextReaderNext (xmlTextReaderPtr reader);
00532
00533 XMLPUBFUN int XMLCALL
00534
00535 xmlTextReaderNextSibling (xmlTextReaderPtr reader);
00536
00537 XMLPUBFUN int XMLCALL
00538
00539 xmlTextReaderIsValid (xmlTextReaderPtr reader);
00540
00541 #ifdef LIBXML_SCHEMAS_ENABLED
00542
00543 XMLPUBFUN int XMLCALL
00544
00545 xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
00546
00547 const char *rng);
00548
00549 XMLPUBFUN int XMLCALL
00550
00551 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
00552
00553 xmlRelaxNGPtr schema);
00554
00555 #endif
00556
00557 XMLPUBFUN const xmlChar * XMLCALL
00558
00559 xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
00560
00561 XMLPUBFUN int XMLCALL
00562
00563 xmlTextReaderStandalone (xmlTextReaderPtr reader);
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573 XMLPUBFUN xmlTextReaderPtr XMLCALL
00574
00575 xmlReaderWalker (xmlDocPtr doc);
00576
00577 XMLPUBFUN xmlTextReaderPtr XMLCALL
00578
00579 xmlReaderForDoc (const xmlChar * cur,
00580
00581 const char *URL,
00582
00583 const char *encoding,
00584
00585 int options);
00586
00587 XMLPUBFUN xmlTextReaderPtr XMLCALL
00588
00589 xmlReaderForFile (const char *filename,
00590
00591 const char *encoding,
00592
00593 int options);
00594
00595 XMLPUBFUN xmlTextReaderPtr XMLCALL
00596
00597 xmlReaderForMemory (const char *buffer,
00598
00599 int size,
00600
00601 const char *URL,
00602
00603 const char *encoding,
00604
00605 int options);
00606
00607 XMLPUBFUN xmlTextReaderPtr XMLCALL
00608
00609 xmlReaderForFd (int fd,
00610
00611 const char *URL,
00612
00613 const char *encoding,
00614
00615 int options);
00616
00617 XMLPUBFUN xmlTextReaderPtr XMLCALL
00618
00619 xmlReaderForIO (xmlInputReadCallback ioread,
00620
00621 xmlInputCloseCallback ioclose,
00622
00623 void *ioctx,
00624
00625 const char *URL,
00626
00627 const char *encoding,
00628
00629 int options);
00630
00631
00632
00633 XMLPUBFUN int XMLCALL
00634
00635 xmlReaderNewWalker (xmlTextReaderPtr reader,
00636
00637 xmlDocPtr doc);
00638
00639 XMLPUBFUN int XMLCALL
00640
00641 xmlReaderNewDoc (xmlTextReaderPtr reader,
00642
00643 const xmlChar * cur,
00644
00645 const char *URL,
00646
00647 const char *encoding,
00648
00649 int options);
00650
00651 XMLPUBFUN int XMLCALL
00652
00653 xmlReaderNewFile (xmlTextReaderPtr reader,
00654
00655 const char *filename,
00656
00657 const char *encoding,
00658
00659 int options);
00660
00661 XMLPUBFUN int XMLCALL
00662
00663 xmlReaderNewMemory (xmlTextReaderPtr reader,
00664
00665 const char *buffer,
00666
00667 int size,
00668
00669 const char *URL,
00670
00671 const char *encoding,
00672
00673 int options);
00674
00675 XMLPUBFUN int XMLCALL
00676
00677 xmlReaderNewFd (xmlTextReaderPtr reader,
00678
00679 int fd,
00680
00681 const char *URL,
00682
00683 const char *encoding,
00684
00685 int options);
00686
00687 XMLPUBFUN int XMLCALL
00688
00689 xmlReaderNewIO (xmlTextReaderPtr reader,
00690
00691 xmlInputReadCallback ioread,
00692
00693 xmlInputCloseCallback ioclose,
00694
00695 void *ioctx,
00696
00697 const char *URL,
00698
00699 const char *encoding,
00700
00701 int options);
00702
00703
00704
00705
00706
00707
00708
00709 typedef void * xmlTextReaderLocatorPtr;
00710
00711 typedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg,
00712
00713 const char *msg,
00714
00715 xmlParserSeverities severity,
00716
00717 xmlTextReaderLocatorPtr locator);
00718
00719 XMLPUBFUN int XMLCALL
00720
00721 xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
00722
00723
00724
00725 XMLPUBFUN xmlChar * XMLCALL
00726
00727 xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
00728
00729 XMLPUBFUN void XMLCALL
00730
00731 xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
00732
00733 xmlTextReaderErrorFunc f,
00734
00735 void *arg);
00736
00737 XMLPUBFUN void XMLCALL
00738
00739 xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
00740
00741 xmlStructuredErrorFunc f,
00742
00743 void *arg);
00744
00745 XMLPUBFUN void XMLCALL
00746
00747 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
00748
00749 xmlTextReaderErrorFunc *f,
00750
00751 void **arg);
00752
00753
00754
00755 #ifdef __cplusplus
00756
00757 }
00758
00759 #endif
00760
00761
00762
00763 #endif
00764
00765
00766
00767 #endif
00768
00769
00770