epoc32/include/stdapis/libxml2/libxml2_xmlreader.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/*
williamr@4
     2
 * Summary: the XMLReader implementation
williamr@4
     3
 * Description: API of the XML streaming API based on C# interfaces.
williamr@4
     4
 *
williamr@4
     5
 * Copy: See Copyright for the status of this software.
williamr@4
     6
 *
williamr@4
     7
 * Author: Daniel Veillard
williamr@4
     8
 * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
williamr@4
     9
 */
williamr@4
    10
williamr@4
    11
/** @file
williamr@4
    12
@publishedAll
williamr@4
    13
@released
williamr@4
    14
*/
williamr@4
    15
williamr@4
    16
#ifndef XML_XMLREADER_H
williamr@4
    17
#define XML_XMLREADER_H
williamr@4
    18
williamr@4
    19
#include <libxml2_tree.h>
williamr@4
    20
#include <libxml2_xmlio.h>
williamr@4
    21
williamr@4
    22
#ifdef LIBXML_SCHEMAS_ENABLED
williamr@4
    23
#include "libxml2_relaxng.h"
williamr@4
    24
#include "libxml2_xmlschemas.h"
williamr@4
    25
#endif
williamr@4
    26
williamr@4
    27
// XMLENGINE: This set of header was moved here from .c file
williamr@4
    28
williamr@4
    29
#ifdef LIBXML_SCHEMAS_ENABLED
williamr@4
    30
#include "libxml2_relaxng.h"
williamr@4
    31
#endif
williamr@4
    32
williamr@4
    33
#ifdef LIBXML_XINCLUDE_ENABLED
williamr@4
    34
#include "libxml2_xinclude.h"
williamr@4
    35
#endif
williamr@4
    36
williamr@4
    37
#ifdef LIBXML_PATTERN_ENABLED
williamr@4
    38
#include "libxml2_pattern.h"
williamr@4
    39
#endif
williamr@4
    40
//----------------------------------------------------------
williamr@4
    41
williamr@4
    42
#ifdef LIBXML_READER_ENABLED
williamr@4
    43
williamr@4
    44
#ifdef __cplusplus
williamr@4
    45
extern "C" {
williamr@4
    46
#endif
williamr@4
    47
williamr@4
    48
/**
williamr@4
    49
 * xmlTextReaderMode:
williamr@4
    50
 *
williamr@4
    51
 * Internal state values for the reader.
williamr@4
    52
 */
williamr@4
    53
typedef enum {
williamr@4
    54
    XML_TEXTREADER_MODE_INITIAL = 0,
williamr@4
    55
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
williamr@4
    56
    XML_TEXTREADER_MODE_ERROR = 2,
williamr@4
    57
    XML_TEXTREADER_MODE_EOF =3,
williamr@4
    58
    XML_TEXTREADER_MODE_CLOSED = 4,
williamr@4
    59
    XML_TEXTREADER_MODE_READING = 5
williamr@4
    60
} xmlTextReaderMode;
williamr@4
    61
williamr@4
    62
/**
williamr@4
    63
 * xmlParserProperties:
williamr@4
    64
 *
williamr@4
    65
 * Some common options to use with xmlTextReaderSetParserProp, but it
williamr@4
    66
 * is better to use xmlParserOption and the xmlReaderNewxxx and
williamr@4
    67
 * xmlReaderForxxx APIs now.
williamr@4
    68
 */
williamr@4
    69
typedef enum {
williamr@4
    70
    XML_PARSER_LOADDTD = 1,
williamr@4
    71
    XML_PARSER_DEFAULTATTRS = 2,
williamr@4
    72
    XML_PARSER_VALIDATE = 3,
williamr@4
    73
    XML_PARSER_SUBST_ENTITIES = 4
williamr@4
    74
} xmlParserProperties;
williamr@4
    75
williamr@4
    76
/**
williamr@4
    77
 * xmlParserSeverities:
williamr@4
    78
 *
williamr@4
    79
 * How severe an error callback is when the per-reader error callback API
williamr@4
    80
 * is used.
williamr@4
    81
 */
williamr@4
    82
typedef enum {
williamr@4
    83
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
williamr@4
    84
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
williamr@4
    85
    XML_PARSER_SEVERITY_WARNING = 3,
williamr@4
    86
    XML_PARSER_SEVERITY_ERROR = 4
williamr@4
    87
} xmlParserSeverities;
williamr@4
    88
williamr@4
    89
/**
williamr@4
    90
 * xmlReaderTypes:
williamr@4
    91
 *
williamr@4
    92
 * Predefined constants for the different types of nodes.
williamr@4
    93
 */
williamr@4
    94
typedef enum {
williamr@4
    95
    XML_READER_TYPE_NONE = 0,
williamr@4
    96
    XML_READER_TYPE_ELEMENT = 1,
williamr@4
    97
    XML_READER_TYPE_ATTRIBUTE = 2,
williamr@4
    98
    XML_READER_TYPE_TEXT = 3,
williamr@4
    99
    XML_READER_TYPE_CDATA = 4,
williamr@4
   100
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
williamr@4
   101
    XML_READER_TYPE_ENTITY = 6,
williamr@4
   102
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
williamr@4
   103
    XML_READER_TYPE_COMMENT = 8,
williamr@4
   104
    XML_READER_TYPE_DOCUMENT = 9,
williamr@4
   105
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
williamr@4
   106
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
williamr@4
   107
    XML_READER_TYPE_NOTATION = 12,
williamr@4
   108
    XML_READER_TYPE_WHITESPACE = 13,
williamr@4
   109
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
williamr@4
   110
    XML_READER_TYPE_END_ELEMENT = 15,
williamr@4
   111
    XML_READER_TYPE_END_ENTITY = 16,
williamr@4
   112
    XML_READER_TYPE_XML_DECLARATION = 17
williamr@4
   113
} xmlReaderTypes;
williamr@4
   114
williamr@4
   115
/*
williamr@4
   116
 * Error handling extensions
williamr@4
   117
 */
williamr@4
   118
typedef void *  xmlTextReaderLocatorPtr;
williamr@4
   119
typedef void   (XMLCALL *xmlTextReaderErrorFunc)        (void *arg,
williamr@4
   120
                         const char *msg,
williamr@4
   121
                         xmlParserSeverities severity,
williamr@4
   122
                         xmlTextReaderLocatorPtr locator);
williamr@4
   123
/**
williamr@4
   124
 * xmlTextReader:
williamr@4
   125
 *
williamr@4
   126
 * Structure for an xmlReader context.
williamr@4
   127
 */
williamr@4
   128
typedef struct _xmlTextReader xmlTextReader;
williamr@4
   129
williamr@4
   130
/**
williamr@4
   131
 * xmlTextReaderPtr:
williamr@4
   132
 *
williamr@4
   133
 * Pointer to an xmlReader context.
williamr@4
   134
 */
williamr@4
   135
typedef xmlTextReader *xmlTextReaderPtr;
williamr@4
   136
// XMLENGINE: This moved to header from xmlreader.c file
williamr@4
   137
typedef enum {
williamr@4
   138
    XML_TEXTREADER_NONE = -1,
williamr@4
   139
    XML_TEXTREADER_START= 0,
williamr@4
   140
    XML_TEXTREADER_ELEMENT= 1,
williamr@4
   141
    XML_TEXTREADER_END= 2,
williamr@4
   142
    XML_TEXTREADER_EMPTY= 3,
williamr@4
   143
    XML_TEXTREADER_BACKTRACK= 4,
williamr@4
   144
    XML_TEXTREADER_DONE= 5,
williamr@4
   145
    XML_TEXTREADER_ERROR= 6
williamr@4
   146
} xmlTextReaderState;
williamr@4
   147
williamr@4
   148
typedef enum {
williamr@4
   149
    XML_TEXTREADER_NOT_VALIDATE = 0,
williamr@4
   150
    XML_TEXTREADER_VALIDATE_DTD = 1,
williamr@4
   151
    XML_TEXTREADER_VALIDATE_RNG = 2,
williamr@4
   152
    XML_TEXTREADER_VALIDATE_XSD = 4
williamr@4
   153
} xmlTextReaderValidate;
williamr@4
   154
williamr@4
   155
struct _xmlTextReader {
williamr@4
   156
    int                     mode;           /* the parsing mode */
williamr@4
   157
    xmlDocPtr               doc;            /* when walking an existing doc */
williamr@4
   158
    xmlTextReaderValidate   validate;       /* is there any validation */
williamr@4
   159
    int                     allocs;         /* what structure were deallocated */
williamr@4
   160
    xmlTextReaderState      state;
williamr@4
   161
    xmlParserCtxtPtr        ctxt;           /* the parser context */
williamr@4
   162
    xmlSAXHandlerPtr        sax;            /* the parser SAX callbacks */
williamr@4
   163
    xmlParserInputBufferPtr input;          /* the input */
williamr@4
   164
    startElementSAXFunc     startElement;   /* initial SAX callbacks */
williamr@4
   165
    endElementSAXFunc       endElement;     /* idem */
williamr@4
   166
    startElementNsSAX2Func  startElementNs; /* idem */
williamr@4
   167
    endElementNsSAX2Func    endElementNs;   /* idem */
williamr@4
   168
    charactersSAXFunc       characters;
williamr@4
   169
    cdataBlockSAXFunc       cdataBlock;
williamr@4
   170
    unsigned int            base;    /* base of the segment in the input */
williamr@4
   171
    unsigned int            cur;     /* current position in the input */
williamr@4
   172
    xmlNodePtr              node;    /* current node */
williamr@4
   173
    xmlNodePtr              curnode; /* current attribute node */
williamr@4
   174
    int                     depth;   /* depth of the current node */
williamr@4
   175
    xmlNodePtr              faketext;/* fake xmlNs chld */
williamr@4
   176
    int                     preserve;/* preserve the resulting document */
williamr@4
   177
    xmlBufferPtr            buffer;  /* used to return const xmlChar * */
williamr@4
   178
    xmlDictPtr              dict;    /* the context dictionnary */
williamr@4
   179
williamr@4
   180
    /* entity stack when traversing entities content */
williamr@4
   181
    xmlNodePtr              ent;          /* Current Entity Ref Node */
williamr@4
   182
    int                     entNr;        /* Depth of the entities stack */
williamr@4
   183
    int                     entMax;       /* Max depth of the entities stack */
williamr@4
   184
    xmlNodePtr*             entTab;       /* array of entities */
williamr@4
   185
williamr@4
   186
    /* error handling */
williamr@4
   187
    xmlTextReaderErrorFunc  errorFunc;    /* callback function */
williamr@4
   188
    void*                   errorFuncArg; /* callback function user argument */
williamr@4
   189
williamr@4
   190
#ifdef LIBXML_SCHEMAS_ENABLED
williamr@4
   191
    /* Handling of RelaxNG validation */
williamr@4
   192
    xmlRelaxNGPtr           rngSchemas;    /* The Relax NG schemas */
williamr@4
   193
    xmlRelaxNGValidCtxtPtr  rngValidCtxt;  /* The Relax NG validation context */
williamr@4
   194
    int                     rngValidErrors;/* The number of errors detected */
williamr@4
   195
    xmlNodePtr              rngFullNode;   /* the node if RNG not progressive */
williamr@4
   196
    /* Handling of Schemas validation */
williamr@4
   197
    xmlSchemaPtr          xsdSchemas;   /* The Schemas schemas */
williamr@4
   198
    xmlSchemaValidCtxtPtr xsdValidCtxt;/* The Schemas validation context */
williamr@4
   199
    int                  xsdValidErrors;/* The number of errors detected */
williamr@4
   200
    xmlSchemaSAXPlugPtr   xsdPlug;  /* the schemas plug in SAX pipeline */
williamr@4
   201
#endif
williamr@4
   202
#ifdef LIBXML_XINCLUDE_ENABLED
williamr@4
   203
    /* Handling of XInclude processing */
williamr@4
   204
    int                     xinclude;      /* is xinclude asked for */
williamr@4
   205
    const xmlChar*          xinclude_name; /* the xinclude name from dict */
williamr@4
   206
    xmlXIncludeCtxtPtr      xincctxt;      /* the xinclude context */
williamr@4
   207
    int                     in_xinclude;   /* counts for xinclude */
williamr@4
   208
#endif
williamr@4
   209
#ifdef LIBXML_PATTERN_ENABLED
williamr@4
   210
    int                     patternNr;     /* number of preserve patterns */
williamr@4
   211
    int                     patternMax;    /* max preserve patterns */
williamr@4
   212
    xmlPatternPtr*          patternTab;    /* array of preserve patterns */
williamr@4
   213
#endif
williamr@4
   214
    int                     preserves;     /* level of preserves */
williamr@4
   215
    int                     parserFlags;   /* the set of options set */
williamr@4
   216
    /* Structured error handling */
williamr@4
   217
    xmlStructuredErrorFunc  sErrorFunc;    /* callback function */
williamr@4
   218
};
williamr@4
   219
williamr@4
   220
/*
williamr@4
   221
 * Constructors & Destructor
williamr@4
   222
 */
williamr@4
   223
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   224
                        xmlNewTextReader        (xmlParserInputBufferPtr input,
williamr@4
   225
                                                 const char *URI);
williamr@4
   226
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   227
                        xmlNewTextReaderFilename(const char *URI);
williamr@4
   228
XMLPUBFUN void XMLCALL
williamr@4
   229
                        xmlFreeTextReader       (xmlTextReaderPtr reader);
williamr@4
   230
williamr@4
   231
/*
williamr@4
   232
 * Iterators
williamr@4
   233
 */
williamr@4
   234
XMLPUBFUN int XMLCALL
williamr@4
   235
                        xmlTextReaderRead       (xmlTextReaderPtr reader);
williamr@4
   236
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   237
                        xmlTextReaderReadInnerXml       (xmlTextReaderPtr reader);
williamr@4
   238
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   239
                        xmlTextReaderReadOuterXml       (xmlTextReaderPtr reader);
williamr@4
   240
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   241
                        xmlTextReaderReadString         (xmlTextReaderPtr reader);
williamr@4
   242
XMLPUBFUN int XMLCALL
williamr@4
   243
                        xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
williamr@4
   244
williamr@4
   245
/*
williamr@4
   246
 * Attributes of the node
williamr@4
   247
 */
williamr@4
   248
XMLPUBFUN int XMLCALL
williamr@4
   249
                        xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
williamr@4
   250
XMLPUBFUN int XMLCALL
williamr@4
   251
                        xmlTextReaderDepth      (xmlTextReaderPtr reader);
williamr@4
   252
XMLPUBFUN int XMLCALL
williamr@4
   253
                        xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
williamr@4
   254
XMLPUBFUN int XMLCALL
williamr@4
   255
                        xmlTextReaderHasValue(xmlTextReaderPtr reader);
williamr@4
   256
XMLPUBFUN int XMLCALL
williamr@4
   257
                        xmlTextReaderIsDefault  (xmlTextReaderPtr reader);
williamr@4
   258
XMLPUBFUN int XMLCALL
williamr@4
   259
                        xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
williamr@4
   260
XMLPUBFUN int XMLCALL
williamr@4
   261
                        xmlTextReaderNodeType   (xmlTextReaderPtr reader);
williamr@4
   262
XMLPUBFUN int XMLCALL
williamr@4
   263
                        xmlTextReaderQuoteChar  (xmlTextReaderPtr reader);
williamr@4
   264
XMLPUBFUN int XMLCALL
williamr@4
   265
                        xmlTextReaderReadState  (xmlTextReaderPtr reader);
williamr@4
   266
XMLPUBFUN int XMLCALL
williamr@4
   267
            xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
williamr@4
   268
williamr@4
   269
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   270
                    xmlTextReaderConstBaseUri   (xmlTextReaderPtr reader);
williamr@4
   271
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   272
                    xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
williamr@4
   273
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   274
                    xmlTextReaderConstName      (xmlTextReaderPtr reader);
williamr@4
   275
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   276
                    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
williamr@4
   277
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   278
                    xmlTextReaderConstPrefix    (xmlTextReaderPtr reader);
williamr@4
   279
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   280
                    xmlTextReaderConstXmlLang   (xmlTextReaderPtr reader);
williamr@4
   281
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   282
                    xmlTextReaderConstString    (xmlTextReaderPtr reader,
williamr@4
   283
                                                 const xmlChar *str);
williamr@4
   284
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   285
                    xmlTextReaderConstValue     (xmlTextReaderPtr reader);
williamr@4
   286
williamr@4
   287
/*
williamr@4
   288
 * use the Const version of the routine for
williamr@4
   289
 * better performance and simpler code
williamr@4
   290
 */
williamr@4
   291
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   292
                        xmlTextReaderBaseUri    (xmlTextReaderPtr reader);
williamr@4
   293
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   294
                        xmlTextReaderLocalName  (xmlTextReaderPtr reader);
williamr@4
   295
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   296
                        xmlTextReaderName       (xmlTextReaderPtr reader);
williamr@4
   297
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   298
                        xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
williamr@4
   299
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   300
                        xmlTextReaderPrefix     (xmlTextReaderPtr reader);
williamr@4
   301
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   302
                        xmlTextReaderXmlLang    (xmlTextReaderPtr reader);
williamr@4
   303
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   304
                        xmlTextReaderValue      (xmlTextReaderPtr reader);
williamr@4
   305
williamr@4
   306
/*
williamr@4
   307
 * Methods of the XmlTextReader
williamr@4
   308
 */
williamr@4
   309
XMLPUBFUN int XMLCALL
williamr@4
   310
                    xmlTextReaderClose          (xmlTextReaderPtr reader);
williamr@4
   311
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   312
                    xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
williamr@4
   313
                                                 int no);
williamr@4
   314
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   315
                    xmlTextReaderGetAttribute   (xmlTextReaderPtr reader,
williamr@4
   316
                                                 const xmlChar *name);
williamr@4
   317
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   318
                    xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
williamr@4
   319
                                                 const xmlChar *localName,
williamr@4
   320
                                                 const xmlChar *namespaceURI);
williamr@4
   321
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   322
                    xmlTextReaderGetRemainder   (xmlTextReaderPtr reader);
williamr@4
   323
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   324
                    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
williamr@4
   325
                                                 const xmlChar *prefix);
williamr@4
   326
XMLPUBFUN int XMLCALL
williamr@4
   327
                    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
williamr@4
   328
                                                 int no);
williamr@4
   329
XMLPUBFUN int XMLCALL
williamr@4
   330
                    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
williamr@4
   331
                                                 const xmlChar *name);
williamr@4
   332
XMLPUBFUN int XMLCALL
williamr@4
   333
                    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
williamr@4
   334
                                                 const xmlChar *localName,
williamr@4
   335
                                                 const xmlChar *namespaceURI);
williamr@4
   336
XMLPUBFUN int XMLCALL
williamr@4
   337
                    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
williamr@4
   338
XMLPUBFUN int XMLCALL
williamr@4
   339
                    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
williamr@4
   340
XMLPUBFUN int XMLCALL
williamr@4
   341
                    xmlTextReaderMoveToElement  (xmlTextReaderPtr reader);
williamr@4
   342
XMLPUBFUN int XMLCALL
williamr@4
   343
                    xmlTextReaderNormalization  (xmlTextReaderPtr reader);
williamr@4
   344
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   345
            xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
williamr@4
   346
williamr@4
   347
/*
williamr@4
   348
 * Extensions
williamr@4
   349
 */
williamr@4
   350
XMLPUBFUN int XMLCALL
williamr@4
   351
                    xmlTextReaderSetParserProp  (xmlTextReaderPtr reader,
williamr@4
   352
                                                 int prop,
williamr@4
   353
                                                 int value);
williamr@4
   354
XMLPUBFUN int XMLCALL
williamr@4
   355
                    xmlTextReaderGetParserProp  (xmlTextReaderPtr reader,
williamr@4
   356
                                                 int prop);
williamr@4
   357
XMLPUBFUN xmlNodePtr XMLCALL
williamr@4
   358
                    xmlTextReaderCurrentNode    (xmlTextReaderPtr reader);
williamr@4
   359
XMLPUBFUN int XMLCALL
williamr@4
   360
            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
williamr@4
   361
williamr@4
   362
XMLPUBFUN int XMLCALL
williamr@4
   363
            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
williamr@4
   364
williamr@4
   365
XMLPUBFUN xmlNodePtr XMLCALL
williamr@4
   366
            xmlTextReaderPreserve   (xmlTextReaderPtr reader);
williamr@4
   367
#ifdef LIBXML_PATTERN_ENABLED
williamr@4
   368
XMLPUBFUN int XMLCALL
williamr@4
   369
                    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
williamr@4
   370
                                                 const xmlChar *pattern,
williamr@4
   371
                                                 const xmlChar **namespaces);
williamr@4
   372
#endif /* LIBXML_PATTERN_ENABLED */
williamr@4
   373
XMLPUBFUN xmlDocPtr XMLCALL
williamr@4
   374
                    xmlTextReaderCurrentDoc     (xmlTextReaderPtr reader);
williamr@4
   375
XMLPUBFUN xmlNodePtr XMLCALL
williamr@4
   376
                    xmlTextReaderExpand         (xmlTextReaderPtr reader);
williamr@4
   377
XMLPUBFUN int XMLCALL
williamr@4
   378
                    xmlTextReaderNext           (xmlTextReaderPtr reader);
williamr@4
   379
XMLPUBFUN int XMLCALL
williamr@4
   380
                    xmlTextReaderNextSibling    (xmlTextReaderPtr reader);
williamr@4
   381
XMLPUBFUN int XMLCALL
williamr@4
   382
                    xmlTextReaderIsValid        (xmlTextReaderPtr reader);
williamr@4
   383
#ifdef LIBXML_SCHEMAS_ENABLED
williamr@4
   384
XMLPUBFUN int XMLCALL
williamr@4
   385
                    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
williamr@4
   386
                                                 const char *rng);
williamr@4
   387
XMLPUBFUN int XMLCALL
williamr@4
   388
                    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
williamr@4
   389
                                                 xmlRelaxNGPtr schema);
williamr@4
   390
XMLPUBFUN int XMLCALL
williamr@4
   391
            xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
williamr@4
   392
                             const char *xsd);
williamr@4
   393
XMLPUBFUN int XMLCALL
williamr@4
   394
            xmlTextReaderSetSchema  (xmlTextReaderPtr reader,
williamr@4
   395
                             xmlSchemaPtr schema);
williamr@4
   396
#endif
williamr@4
   397
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
   398
            xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
williamr@4
   399
XMLPUBFUN int XMLCALL
williamr@4
   400
            xmlTextReaderStandalone     (xmlTextReaderPtr reader);
williamr@4
   401
williamr@4
   402
williamr@4
   403
/*
williamr@4
   404
 * Index lookup
williamr@4
   405
 */
williamr@4
   406
XMLPUBFUN long XMLCALL
williamr@4
   407
        xmlTextReaderByteConsumed   (xmlTextReaderPtr reader);
williamr@4
   408
williamr@4
   409
/*
williamr@4
   410
 * New more complete APIs for simpler creation and reuse of readers
williamr@4
   411
 */
williamr@4
   412
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   413
                xmlReaderWalker         (xmlDocPtr doc);
williamr@4
   414
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   415
                xmlReaderForDoc         (const xmlChar * cur,
williamr@4
   416
                                         const char *URL,
williamr@4
   417
                                         const char *encoding,
williamr@4
   418
                                         int options);
williamr@4
   419
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   420
                xmlReaderForFile        (const char *filename,
williamr@4
   421
                                         const char *encoding,
williamr@4
   422
                                         int options);
williamr@4
   423
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   424
                xmlReaderForMemory      (const char *buffer,
williamr@4
   425
                                         int size,
williamr@4
   426
                                         const char *URL,
williamr@4
   427
                                         const char *encoding,
williamr@4
   428
                                         int options);
williamr@4
   429
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   430
                xmlReaderForFd          (int fd,
williamr@4
   431
                                         const char *URL,
williamr@4
   432
                                         const char *encoding,
williamr@4
   433
                                         int options);
williamr@4
   434
XMLPUBFUN xmlTextReaderPtr XMLCALL
williamr@4
   435
                xmlReaderForIO          (xmlInputReadCallback ioread,
williamr@4
   436
                                         xmlInputCloseCallback ioclose,
williamr@4
   437
                                         void *ioctx,
williamr@4
   438
                                         const char *URL,
williamr@4
   439
                                         const char *encoding,
williamr@4
   440
                                         int options);
williamr@4
   441
williamr@4
   442
XMLPUBFUN int XMLCALL
williamr@4
   443
                xmlReaderNewWalker      (xmlTextReaderPtr reader,
williamr@4
   444
                                         xmlDocPtr doc);
williamr@4
   445
XMLPUBFUN int XMLCALL
williamr@4
   446
                xmlReaderNewDoc         (xmlTextReaderPtr reader,
williamr@4
   447
                                         const xmlChar * cur,
williamr@4
   448
                                         const char *URL,
williamr@4
   449
                                         const char *encoding,
williamr@4
   450
                                         int options);
williamr@4
   451
XMLPUBFUN int XMLCALL
williamr@4
   452
                xmlReaderNewFile        (xmlTextReaderPtr reader,
williamr@4
   453
                                         const char *filename,
williamr@4
   454
                                         const char *encoding,
williamr@4
   455
                                         int options);
williamr@4
   456
XMLPUBFUN int XMLCALL
williamr@4
   457
                xmlReaderNewMemory      (xmlTextReaderPtr reader,
williamr@4
   458
                                         const char *buffer,
williamr@4
   459
                                         int size,
williamr@4
   460
                                         const char *URL,
williamr@4
   461
                                         const char *encoding,
williamr@4
   462
                                         int options);
williamr@4
   463
XMLPUBFUN int XMLCALL
williamr@4
   464
                xmlReaderNewFd          (xmlTextReaderPtr reader,
williamr@4
   465
                                         int fd,
williamr@4
   466
                                         const char *URL,
williamr@4
   467
                                         const char *encoding,
williamr@4
   468
                                         int options);
williamr@4
   469
XMLPUBFUN int XMLCALL
williamr@4
   470
                xmlReaderNewIO          (xmlTextReaderPtr reader,
williamr@4
   471
                                         xmlInputReadCallback ioread,
williamr@4
   472
                                         xmlInputCloseCallback ioclose,
williamr@4
   473
                                         void *ioctx,
williamr@4
   474
                                         const char *URL,
williamr@4
   475
                                         const char *encoding,
williamr@4
   476
                                         int options);
williamr@4
   477
williamr@4
   478
// typedefs moved in the beginning of the header
williamr@4
   479
williamr@4
   480
#ifdef LIBXML_ENABLE_NODE_LINEINFO
williamr@4
   481
XMLPUBFUN int XMLCALL
williamr@4
   482
            xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
williamr@4
   483
#endif /* LIBXML_ENABLE_NODE_LINEINFO */
williamr@4
   484
williamr@4
   485
XMLPUBFUN xmlChar * XMLCALL
williamr@4
   486
            xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
williamr@4
   487
XMLPUBFUN void XMLCALL
williamr@4
   488
            xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
williamr@4
   489
                         xmlTextReaderErrorFunc f,
williamr@4
   490
                         void *arg);
williamr@4
   491
XMLPUBFUN void XMLCALL
williamr@4
   492
            xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
williamr@4
   493
                               xmlStructuredErrorFunc f,
williamr@4
   494
                               void *arg);
williamr@4
   495
XMLPUBFUN void XMLCALL
williamr@4
   496
            xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
williamr@4
   497
                         xmlTextReaderErrorFunc *f,
williamr@4
   498
                         void **arg);
williamr@4
   499
williamr@4
   500
#ifdef __cplusplus
williamr@4
   501
}
williamr@4
   502
#endif
williamr@4
   503
williamr@4
   504
#endif /* LIBXML_READER_ENABLED */
williamr@4
   505
williamr@4
   506
#endif /* XML_XMLREADER_H */
williamr@4
   507