1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/libxml2/libxml2_xmlreader.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -0,0 +1,507 @@
1.4 +/*
1.5 + * Summary: the XMLReader implementation
1.6 + * Description: API of the XML streaming API based on C# interfaces.
1.7 + *
1.8 + * Copy: See Copyright for the status of this software.
1.9 + *
1.10 + * Author: Daniel Veillard
1.11 + * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
1.12 + */
1.13 +
1.14 +/** @file
1.15 +@publishedAll
1.16 +@released
1.17 +*/
1.18 +
1.19 +#ifndef XML_XMLREADER_H
1.20 +#define XML_XMLREADER_H
1.21 +
1.22 +#include <libxml2_tree.h>
1.23 +#include <libxml2_xmlio.h>
1.24 +
1.25 +#ifdef LIBXML_SCHEMAS_ENABLED
1.26 +#include "libxml2_relaxng.h"
1.27 +#include "libxml2_xmlschemas.h"
1.28 +#endif
1.29 +
1.30 +// XMLENGINE: This set of header was moved here from .c file
1.31 +
1.32 +#ifdef LIBXML_SCHEMAS_ENABLED
1.33 +#include "libxml2_relaxng.h"
1.34 +#endif
1.35 +
1.36 +#ifdef LIBXML_XINCLUDE_ENABLED
1.37 +#include "libxml2_xinclude.h"
1.38 +#endif
1.39 +
1.40 +#ifdef LIBXML_PATTERN_ENABLED
1.41 +#include "libxml2_pattern.h"
1.42 +#endif
1.43 +//----------------------------------------------------------
1.44 +
1.45 +#ifdef LIBXML_READER_ENABLED
1.46 +
1.47 +#ifdef __cplusplus
1.48 +extern "C" {
1.49 +#endif
1.50 +
1.51 +/**
1.52 + * xmlTextReaderMode:
1.53 + *
1.54 + * Internal state values for the reader.
1.55 + */
1.56 +typedef enum {
1.57 + XML_TEXTREADER_MODE_INITIAL = 0,
1.58 + XML_TEXTREADER_MODE_INTERACTIVE = 1,
1.59 + XML_TEXTREADER_MODE_ERROR = 2,
1.60 + XML_TEXTREADER_MODE_EOF =3,
1.61 + XML_TEXTREADER_MODE_CLOSED = 4,
1.62 + XML_TEXTREADER_MODE_READING = 5
1.63 +} xmlTextReaderMode;
1.64 +
1.65 +/**
1.66 + * xmlParserProperties:
1.67 + *
1.68 + * Some common options to use with xmlTextReaderSetParserProp, but it
1.69 + * is better to use xmlParserOption and the xmlReaderNewxxx and
1.70 + * xmlReaderForxxx APIs now.
1.71 + */
1.72 +typedef enum {
1.73 + XML_PARSER_LOADDTD = 1,
1.74 + XML_PARSER_DEFAULTATTRS = 2,
1.75 + XML_PARSER_VALIDATE = 3,
1.76 + XML_PARSER_SUBST_ENTITIES = 4
1.77 +} xmlParserProperties;
1.78 +
1.79 +/**
1.80 + * xmlParserSeverities:
1.81 + *
1.82 + * How severe an error callback is when the per-reader error callback API
1.83 + * is used.
1.84 + */
1.85 +typedef enum {
1.86 + XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
1.87 + XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
1.88 + XML_PARSER_SEVERITY_WARNING = 3,
1.89 + XML_PARSER_SEVERITY_ERROR = 4
1.90 +} xmlParserSeverities;
1.91 +
1.92 +/**
1.93 + * xmlReaderTypes:
1.94 + *
1.95 + * Predefined constants for the different types of nodes.
1.96 + */
1.97 +typedef enum {
1.98 + XML_READER_TYPE_NONE = 0,
1.99 + XML_READER_TYPE_ELEMENT = 1,
1.100 + XML_READER_TYPE_ATTRIBUTE = 2,
1.101 + XML_READER_TYPE_TEXT = 3,
1.102 + XML_READER_TYPE_CDATA = 4,
1.103 + XML_READER_TYPE_ENTITY_REFERENCE = 5,
1.104 + XML_READER_TYPE_ENTITY = 6,
1.105 + XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
1.106 + XML_READER_TYPE_COMMENT = 8,
1.107 + XML_READER_TYPE_DOCUMENT = 9,
1.108 + XML_READER_TYPE_DOCUMENT_TYPE = 10,
1.109 + XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
1.110 + XML_READER_TYPE_NOTATION = 12,
1.111 + XML_READER_TYPE_WHITESPACE = 13,
1.112 + XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
1.113 + XML_READER_TYPE_END_ELEMENT = 15,
1.114 + XML_READER_TYPE_END_ENTITY = 16,
1.115 + XML_READER_TYPE_XML_DECLARATION = 17
1.116 +} xmlReaderTypes;
1.117 +
1.118 +/*
1.119 + * Error handling extensions
1.120 + */
1.121 +typedef void * xmlTextReaderLocatorPtr;
1.122 +typedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg,
1.123 + const char *msg,
1.124 + xmlParserSeverities severity,
1.125 + xmlTextReaderLocatorPtr locator);
1.126 +/**
1.127 + * xmlTextReader:
1.128 + *
1.129 + * Structure for an xmlReader context.
1.130 + */
1.131 +typedef struct _xmlTextReader xmlTextReader;
1.132 +
1.133 +/**
1.134 + * xmlTextReaderPtr:
1.135 + *
1.136 + * Pointer to an xmlReader context.
1.137 + */
1.138 +typedef xmlTextReader *xmlTextReaderPtr;
1.139 +// XMLENGINE: This moved to header from xmlreader.c file
1.140 +typedef enum {
1.141 + XML_TEXTREADER_NONE = -1,
1.142 + XML_TEXTREADER_START= 0,
1.143 + XML_TEXTREADER_ELEMENT= 1,
1.144 + XML_TEXTREADER_END= 2,
1.145 + XML_TEXTREADER_EMPTY= 3,
1.146 + XML_TEXTREADER_BACKTRACK= 4,
1.147 + XML_TEXTREADER_DONE= 5,
1.148 + XML_TEXTREADER_ERROR= 6
1.149 +} xmlTextReaderState;
1.150 +
1.151 +typedef enum {
1.152 + XML_TEXTREADER_NOT_VALIDATE = 0,
1.153 + XML_TEXTREADER_VALIDATE_DTD = 1,
1.154 + XML_TEXTREADER_VALIDATE_RNG = 2,
1.155 + XML_TEXTREADER_VALIDATE_XSD = 4
1.156 +} xmlTextReaderValidate;
1.157 +
1.158 +struct _xmlTextReader {
1.159 + int mode; /* the parsing mode */
1.160 + xmlDocPtr doc; /* when walking an existing doc */
1.161 + xmlTextReaderValidate validate; /* is there any validation */
1.162 + int allocs; /* what structure were deallocated */
1.163 + xmlTextReaderState state;
1.164 + xmlParserCtxtPtr ctxt; /* the parser context */
1.165 + xmlSAXHandlerPtr sax; /* the parser SAX callbacks */
1.166 + xmlParserInputBufferPtr input; /* the input */
1.167 + startElementSAXFunc startElement; /* initial SAX callbacks */
1.168 + endElementSAXFunc endElement; /* idem */
1.169 + startElementNsSAX2Func startElementNs; /* idem */
1.170 + endElementNsSAX2Func endElementNs; /* idem */
1.171 + charactersSAXFunc characters;
1.172 + cdataBlockSAXFunc cdataBlock;
1.173 + unsigned int base; /* base of the segment in the input */
1.174 + unsigned int cur; /* current position in the input */
1.175 + xmlNodePtr node; /* current node */
1.176 + xmlNodePtr curnode; /* current attribute node */
1.177 + int depth; /* depth of the current node */
1.178 + xmlNodePtr faketext;/* fake xmlNs chld */
1.179 + int preserve;/* preserve the resulting document */
1.180 + xmlBufferPtr buffer; /* used to return const xmlChar * */
1.181 + xmlDictPtr dict; /* the context dictionnary */
1.182 +
1.183 + /* entity stack when traversing entities content */
1.184 + xmlNodePtr ent; /* Current Entity Ref Node */
1.185 + int entNr; /* Depth of the entities stack */
1.186 + int entMax; /* Max depth of the entities stack */
1.187 + xmlNodePtr* entTab; /* array of entities */
1.188 +
1.189 + /* error handling */
1.190 + xmlTextReaderErrorFunc errorFunc; /* callback function */
1.191 + void* errorFuncArg; /* callback function user argument */
1.192 +
1.193 +#ifdef LIBXML_SCHEMAS_ENABLED
1.194 + /* Handling of RelaxNG validation */
1.195 + xmlRelaxNGPtr rngSchemas; /* The Relax NG schemas */
1.196 + xmlRelaxNGValidCtxtPtr rngValidCtxt; /* The Relax NG validation context */
1.197 + int rngValidErrors;/* The number of errors detected */
1.198 + xmlNodePtr rngFullNode; /* the node if RNG not progressive */
1.199 + /* Handling of Schemas validation */
1.200 + xmlSchemaPtr xsdSchemas; /* The Schemas schemas */
1.201 + xmlSchemaValidCtxtPtr xsdValidCtxt;/* The Schemas validation context */
1.202 + int xsdValidErrors;/* The number of errors detected */
1.203 + xmlSchemaSAXPlugPtr xsdPlug; /* the schemas plug in SAX pipeline */
1.204 +#endif
1.205 +#ifdef LIBXML_XINCLUDE_ENABLED
1.206 + /* Handling of XInclude processing */
1.207 + int xinclude; /* is xinclude asked for */
1.208 + const xmlChar* xinclude_name; /* the xinclude name from dict */
1.209 + xmlXIncludeCtxtPtr xincctxt; /* the xinclude context */
1.210 + int in_xinclude; /* counts for xinclude */
1.211 +#endif
1.212 +#ifdef LIBXML_PATTERN_ENABLED
1.213 + int patternNr; /* number of preserve patterns */
1.214 + int patternMax; /* max preserve patterns */
1.215 + xmlPatternPtr* patternTab; /* array of preserve patterns */
1.216 +#endif
1.217 + int preserves; /* level of preserves */
1.218 + int parserFlags; /* the set of options set */
1.219 + /* Structured error handling */
1.220 + xmlStructuredErrorFunc sErrorFunc; /* callback function */
1.221 +};
1.222 +
1.223 +/*
1.224 + * Constructors & Destructor
1.225 + */
1.226 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.227 + xmlNewTextReader (xmlParserInputBufferPtr input,
1.228 + const char *URI);
1.229 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.230 + xmlNewTextReaderFilename(const char *URI);
1.231 +XMLPUBFUN void XMLCALL
1.232 + xmlFreeTextReader (xmlTextReaderPtr reader);
1.233 +
1.234 +/*
1.235 + * Iterators
1.236 + */
1.237 +XMLPUBFUN int XMLCALL
1.238 + xmlTextReaderRead (xmlTextReaderPtr reader);
1.239 +XMLPUBFUN xmlChar * XMLCALL
1.240 + xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
1.241 +XMLPUBFUN xmlChar * XMLCALL
1.242 + xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
1.243 +XMLPUBFUN xmlChar * XMLCALL
1.244 + xmlTextReaderReadString (xmlTextReaderPtr reader);
1.245 +XMLPUBFUN int XMLCALL
1.246 + xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
1.247 +
1.248 +/*
1.249 + * Attributes of the node
1.250 + */
1.251 +XMLPUBFUN int XMLCALL
1.252 + xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
1.253 +XMLPUBFUN int XMLCALL
1.254 + xmlTextReaderDepth (xmlTextReaderPtr reader);
1.255 +XMLPUBFUN int XMLCALL
1.256 + xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
1.257 +XMLPUBFUN int XMLCALL
1.258 + xmlTextReaderHasValue(xmlTextReaderPtr reader);
1.259 +XMLPUBFUN int XMLCALL
1.260 + xmlTextReaderIsDefault (xmlTextReaderPtr reader);
1.261 +XMLPUBFUN int XMLCALL
1.262 + xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
1.263 +XMLPUBFUN int XMLCALL
1.264 + xmlTextReaderNodeType (xmlTextReaderPtr reader);
1.265 +XMLPUBFUN int XMLCALL
1.266 + xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
1.267 +XMLPUBFUN int XMLCALL
1.268 + xmlTextReaderReadState (xmlTextReaderPtr reader);
1.269 +XMLPUBFUN int XMLCALL
1.270 + xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
1.271 +
1.272 +XMLPUBFUN const xmlChar * XMLCALL
1.273 + xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
1.274 +XMLPUBFUN const xmlChar * XMLCALL
1.275 + xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
1.276 +XMLPUBFUN const xmlChar * XMLCALL
1.277 + xmlTextReaderConstName (xmlTextReaderPtr reader);
1.278 +XMLPUBFUN const xmlChar * XMLCALL
1.279 + xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
1.280 +XMLPUBFUN const xmlChar * XMLCALL
1.281 + xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
1.282 +XMLPUBFUN const xmlChar * XMLCALL
1.283 + xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
1.284 +XMLPUBFUN const xmlChar * XMLCALL
1.285 + xmlTextReaderConstString (xmlTextReaderPtr reader,
1.286 + const xmlChar *str);
1.287 +XMLPUBFUN const xmlChar * XMLCALL
1.288 + xmlTextReaderConstValue (xmlTextReaderPtr reader);
1.289 +
1.290 +/*
1.291 + * use the Const version of the routine for
1.292 + * better performance and simpler code
1.293 + */
1.294 +XMLPUBFUN xmlChar * XMLCALL
1.295 + xmlTextReaderBaseUri (xmlTextReaderPtr reader);
1.296 +XMLPUBFUN xmlChar * XMLCALL
1.297 + xmlTextReaderLocalName (xmlTextReaderPtr reader);
1.298 +XMLPUBFUN xmlChar * XMLCALL
1.299 + xmlTextReaderName (xmlTextReaderPtr reader);
1.300 +XMLPUBFUN xmlChar * XMLCALL
1.301 + xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
1.302 +XMLPUBFUN xmlChar * XMLCALL
1.303 + xmlTextReaderPrefix (xmlTextReaderPtr reader);
1.304 +XMLPUBFUN xmlChar * XMLCALL
1.305 + xmlTextReaderXmlLang (xmlTextReaderPtr reader);
1.306 +XMLPUBFUN xmlChar * XMLCALL
1.307 + xmlTextReaderValue (xmlTextReaderPtr reader);
1.308 +
1.309 +/*
1.310 + * Methods of the XmlTextReader
1.311 + */
1.312 +XMLPUBFUN int XMLCALL
1.313 + xmlTextReaderClose (xmlTextReaderPtr reader);
1.314 +XMLPUBFUN xmlChar * XMLCALL
1.315 + xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
1.316 + int no);
1.317 +XMLPUBFUN xmlChar * XMLCALL
1.318 + xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
1.319 + const xmlChar *name);
1.320 +XMLPUBFUN xmlChar * XMLCALL
1.321 + xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
1.322 + const xmlChar *localName,
1.323 + const xmlChar *namespaceURI);
1.324 +XMLPUBFUN xmlParserInputBufferPtr XMLCALL
1.325 + xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
1.326 +XMLPUBFUN xmlChar * XMLCALL
1.327 + xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
1.328 + const xmlChar *prefix);
1.329 +XMLPUBFUN int XMLCALL
1.330 + xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
1.331 + int no);
1.332 +XMLPUBFUN int XMLCALL
1.333 + xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
1.334 + const xmlChar *name);
1.335 +XMLPUBFUN int XMLCALL
1.336 + xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
1.337 + const xmlChar *localName,
1.338 + const xmlChar *namespaceURI);
1.339 +XMLPUBFUN int XMLCALL
1.340 + xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
1.341 +XMLPUBFUN int XMLCALL
1.342 + xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
1.343 +XMLPUBFUN int XMLCALL
1.344 + xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
1.345 +XMLPUBFUN int XMLCALL
1.346 + xmlTextReaderNormalization (xmlTextReaderPtr reader);
1.347 +XMLPUBFUN const xmlChar * XMLCALL
1.348 + xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
1.349 +
1.350 +/*
1.351 + * Extensions
1.352 + */
1.353 +XMLPUBFUN int XMLCALL
1.354 + xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
1.355 + int prop,
1.356 + int value);
1.357 +XMLPUBFUN int XMLCALL
1.358 + xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
1.359 + int prop);
1.360 +XMLPUBFUN xmlNodePtr XMLCALL
1.361 + xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
1.362 +XMLPUBFUN int XMLCALL
1.363 + xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
1.364 +
1.365 +XMLPUBFUN int XMLCALL
1.366 + xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
1.367 +
1.368 +XMLPUBFUN xmlNodePtr XMLCALL
1.369 + xmlTextReaderPreserve (xmlTextReaderPtr reader);
1.370 +#ifdef LIBXML_PATTERN_ENABLED
1.371 +XMLPUBFUN int XMLCALL
1.372 + xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
1.373 + const xmlChar *pattern,
1.374 + const xmlChar **namespaces);
1.375 +#endif /* LIBXML_PATTERN_ENABLED */
1.376 +XMLPUBFUN xmlDocPtr XMLCALL
1.377 + xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
1.378 +XMLPUBFUN xmlNodePtr XMLCALL
1.379 + xmlTextReaderExpand (xmlTextReaderPtr reader);
1.380 +XMLPUBFUN int XMLCALL
1.381 + xmlTextReaderNext (xmlTextReaderPtr reader);
1.382 +XMLPUBFUN int XMLCALL
1.383 + xmlTextReaderNextSibling (xmlTextReaderPtr reader);
1.384 +XMLPUBFUN int XMLCALL
1.385 + xmlTextReaderIsValid (xmlTextReaderPtr reader);
1.386 +#ifdef LIBXML_SCHEMAS_ENABLED
1.387 +XMLPUBFUN int XMLCALL
1.388 + xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
1.389 + const char *rng);
1.390 +XMLPUBFUN int XMLCALL
1.391 + xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
1.392 + xmlRelaxNGPtr schema);
1.393 +XMLPUBFUN int XMLCALL
1.394 + xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
1.395 + const char *xsd);
1.396 +XMLPUBFUN int XMLCALL
1.397 + xmlTextReaderSetSchema (xmlTextReaderPtr reader,
1.398 + xmlSchemaPtr schema);
1.399 +#endif
1.400 +XMLPUBFUN const xmlChar * XMLCALL
1.401 + xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
1.402 +XMLPUBFUN int XMLCALL
1.403 + xmlTextReaderStandalone (xmlTextReaderPtr reader);
1.404 +
1.405 +
1.406 +/*
1.407 + * Index lookup
1.408 + */
1.409 +XMLPUBFUN long XMLCALL
1.410 + xmlTextReaderByteConsumed (xmlTextReaderPtr reader);
1.411 +
1.412 +/*
1.413 + * New more complete APIs for simpler creation and reuse of readers
1.414 + */
1.415 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.416 + xmlReaderWalker (xmlDocPtr doc);
1.417 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.418 + xmlReaderForDoc (const xmlChar * cur,
1.419 + const char *URL,
1.420 + const char *encoding,
1.421 + int options);
1.422 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.423 + xmlReaderForFile (const char *filename,
1.424 + const char *encoding,
1.425 + int options);
1.426 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.427 + xmlReaderForMemory (const char *buffer,
1.428 + int size,
1.429 + const char *URL,
1.430 + const char *encoding,
1.431 + int options);
1.432 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.433 + xmlReaderForFd (int fd,
1.434 + const char *URL,
1.435 + const char *encoding,
1.436 + int options);
1.437 +XMLPUBFUN xmlTextReaderPtr XMLCALL
1.438 + xmlReaderForIO (xmlInputReadCallback ioread,
1.439 + xmlInputCloseCallback ioclose,
1.440 + void *ioctx,
1.441 + const char *URL,
1.442 + const char *encoding,
1.443 + int options);
1.444 +
1.445 +XMLPUBFUN int XMLCALL
1.446 + xmlReaderNewWalker (xmlTextReaderPtr reader,
1.447 + xmlDocPtr doc);
1.448 +XMLPUBFUN int XMLCALL
1.449 + xmlReaderNewDoc (xmlTextReaderPtr reader,
1.450 + const xmlChar * cur,
1.451 + const char *URL,
1.452 + const char *encoding,
1.453 + int options);
1.454 +XMLPUBFUN int XMLCALL
1.455 + xmlReaderNewFile (xmlTextReaderPtr reader,
1.456 + const char *filename,
1.457 + const char *encoding,
1.458 + int options);
1.459 +XMLPUBFUN int XMLCALL
1.460 + xmlReaderNewMemory (xmlTextReaderPtr reader,
1.461 + const char *buffer,
1.462 + int size,
1.463 + const char *URL,
1.464 + const char *encoding,
1.465 + int options);
1.466 +XMLPUBFUN int XMLCALL
1.467 + xmlReaderNewFd (xmlTextReaderPtr reader,
1.468 + int fd,
1.469 + const char *URL,
1.470 + const char *encoding,
1.471 + int options);
1.472 +XMLPUBFUN int XMLCALL
1.473 + xmlReaderNewIO (xmlTextReaderPtr reader,
1.474 + xmlInputReadCallback ioread,
1.475 + xmlInputCloseCallback ioclose,
1.476 + void *ioctx,
1.477 + const char *URL,
1.478 + const char *encoding,
1.479 + int options);
1.480 +
1.481 +// typedefs moved in the beginning of the header
1.482 +
1.483 +#ifdef LIBXML_ENABLE_NODE_LINEINFO
1.484 +XMLPUBFUN int XMLCALL
1.485 + xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
1.486 +#endif /* LIBXML_ENABLE_NODE_LINEINFO */
1.487 +
1.488 +XMLPUBFUN xmlChar * XMLCALL
1.489 + xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
1.490 +XMLPUBFUN void XMLCALL
1.491 + xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
1.492 + xmlTextReaderErrorFunc f,
1.493 + void *arg);
1.494 +XMLPUBFUN void XMLCALL
1.495 + xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
1.496 + xmlStructuredErrorFunc f,
1.497 + void *arg);
1.498 +XMLPUBFUN void XMLCALL
1.499 + xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
1.500 + xmlTextReaderErrorFunc *f,
1.501 + void **arg);
1.502 +
1.503 +#ifdef __cplusplus
1.504 +}
1.505 +#endif
1.506 +
1.507 +#endif /* LIBXML_READER_ENABLED */
1.508 +
1.509 +#endif /* XML_XMLREADER_H */
1.510 +