xmlreader.h revision d0271473abc7ca82a22e9a953ec525a6f4b504d5
1e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
2be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Summary: the XMLReader implementation
3be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Description: API of the XML streaming API based on C# interfaces.
4e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard *
5be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Copy: See Copyright for the status of this software.
6e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard *
7be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Author: Daniel Veillard
8e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
9e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
10e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifndef __XML_XMLREADER_H__
11e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#define __XML_XMLREADER_H__
12e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
1376874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic#include <libxml/xmlversion.h>
14e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/tree.h>
15e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/xmlIO.h>
1633300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED
1733300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#include <libxml/relaxng.h>
18f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard#include <libxml/xmlschemas.h>
1933300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#endif
20e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
21a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#ifdef LIBXML_READER_ENABLED
22a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
23e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus
24e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardextern "C" {
25e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif
26e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
27da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
28da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReaderMode:
29da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
30da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Internal state values for the reader.
31da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
32da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillardtypedef enum {
33da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_INITIAL = 0,
34da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_INTERACTIVE = 1,
35da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_ERROR = 2,
36da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_EOF =3,
37da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_CLOSED = 4,
38da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard    XML_TEXTREADER_MODE_READING = 5
39da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard} xmlTextReaderMode;
40da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard
41da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
42da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlParserProperties:
43da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
44da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Some common options to use with xmlTextReaderSetParserProp, but it
45da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * is better to use xmlParserOption and the xmlReaderNewxxx and
46da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlReaderForxxx APIs now.
47da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
48beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardtypedef enum {
49beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard    XML_PARSER_LOADDTD = 1,
50e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_DEFAULTATTRS = 2,
51e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_VALIDATE = 3,
52e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_SUBST_ENTITIES = 4
53beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard} xmlParserProperties;
54beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard
55da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
56da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlParserSeverities:
57da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
58da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * How severe an error callback is when the per-reader error callback API
59da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * is used.
60da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
6126f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillardtypedef enum {
62417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
63417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
64417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_WARNING = 3,
65417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_ERROR = 4
66417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard} xmlParserSeverities;
6726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
68da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
69da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlReaderTypes:
70da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
71da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Predefined constants for the different types of nodes.
72da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
730ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillardtypedef enum {
74d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_NONE = 0,
75d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ELEMENT = 1,
76d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ATTRIBUTE = 2,
77d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_TEXT = 3,
78d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_CDATA = 4,
79d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ENTITY_REFERENCE = 5,
80d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ENTITY = 6,
81d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
82d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_COMMENT = 8,
83d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT = 9,
84d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT_TYPE = 10,
85d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
86d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_NOTATION = 12,
87d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_WHITESPACE = 13,
88d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
89d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_END_ELEMENT = 15,
90d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_END_ENTITY = 16,
91d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_XML_DECLARATION = 17
920ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillard} xmlReaderTypes;
93d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard
94da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
95da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReader:
96da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
97da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Structure for an xmlReader context.
98da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
99e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef struct _xmlTextReader xmlTextReader;
100da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard
101da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/**
102da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReaderPtr:
103da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard *
104da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Pointer to an xmlReader context.
105da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */
106e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef xmlTextReader *xmlTextReaderPtr;
107e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
108e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
109e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Constructors & Destructor
110e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
11176874e4516a1d7b467d400604f8aef77be015727Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL
11276874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic			xmlNewTextReader	(xmlParserInputBufferPtr input,
113ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard	                                         const char *URI);
114aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL
115aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlNewTextReaderFilename(const char *URI);
116aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
117aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlFreeTextReader	(xmlTextReaderPtr reader);
118e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
119e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
120e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Iterators
121e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
122aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
123aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderRead	(xmlTextReaderPtr reader);
124d0271473abc7ca82a22e9a953ec525a6f4b504d5Daniel Veillard
125d0271473abc7ca82a22e9a953ec525a6f4b504d5Daniel Veillard#ifdef LIBXML_WRITER_ENABLED
126aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
127aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader);
128d0271473abc7ca82a22e9a953ec525a6f4b504d5Daniel Veillard
129aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
130aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader);
131d0271473abc7ca82a22e9a953ec525a6f4b504d5Daniel Veillard#endif
132d0271473abc7ca82a22e9a953ec525a6f4b504d5Daniel Veillard
133aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
134aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadString		(xmlTextReaderPtr reader);
135aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
136aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader);
137e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
138e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
139e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Attributes of the node
140e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
141aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
142aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
143aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
144aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderDepth	(xmlTextReaderPtr reader);
145aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
146aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
147aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
148aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderHasValue(xmlTextReaderPtr reader);
149aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
150aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
151aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
152aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
153e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
154e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
155e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
156e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
157e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
158e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderReadState	(xmlTextReaderPtr reader);
159e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN int XMLCALL
160e2811270e81f33a751c88647c48453803586a550Daniel Veillard                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
1610eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard
162e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
163e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
164e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
165e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
166e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
167e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
168e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
169e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
170e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
171e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
172e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
173e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
174f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
175f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
176f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard		    				 const xmlChar *str);
177198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN const xmlChar * XMLCALL
178198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);
179198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard
180198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard/*
181198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * use the Const version of the routine for
182198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * better performance and simpler code
183198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard */
184198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
185198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
186198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
187198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
188198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
189198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderName	(xmlTextReaderPtr reader);
190198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
191198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
192198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
193198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
194198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
195198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
196198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL
197198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard			xmlTextReaderValue	(xmlTextReaderPtr reader);
198f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard
1990eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/*
2000eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader
2010eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */
202aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
203aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderClose		(xmlTextReaderPtr reader);
204aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
205aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
2060eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 int no);
207aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
208aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
2090eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *name);
210aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
211aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
2120eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *localName,
2130eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *namespaceURI);
214aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlParserInputBufferPtr XMLCALL
215aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
216aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
217aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
218da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *prefix);
219aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
220aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
221da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 int no);
222aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
223aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
224da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *name);
225aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
226aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
227da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *localName,
228da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *namespaceURI);
229aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
230aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
231aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
232aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
233aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
234aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
235aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
236aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
237e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
238e2811270e81f33a751c88647c48453803586a550Daniel Veillard		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
239da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard
240beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard/*
241beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard * Extensions
242beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard */
243aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
244aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
245beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int prop,
246beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int value);
247aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
248aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
249beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int prop);
250aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
251aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
252d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin
253d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey SaninXMLPUBFUN int XMLCALL
254d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
255d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin
256d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey SaninXMLPUBFUN int XMLCALL
257d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
258d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin
2599ee35f36437073d952bc88fd64cf1618aad27c7bDaniel VeillardXMLPUBFUN xmlNodePtr XMLCALL
2609ee35f36437073d952bc88fd64cf1618aad27c7bDaniel Veillard		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
26121e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_PATTERN_ENABLED
2621e90661bb817402f85103c3b9d3ce6ebab570f38Daniel VeillardXMLPUBFUN int XMLCALL
2631e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
264ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard		    				 const xmlChar *pattern,
265ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard						 const xmlChar **namespaces);
26621e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_PATTERN_ENABLED */
267aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL
268aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
269aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
270aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
271aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
272aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderNext		(xmlTextReaderPtr reader);
273198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL
274198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
275aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
276aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
277f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED
278aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
279aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
280f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard						 const char *rng);
281aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
282aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
28333300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard						 xmlRelaxNGPtr schema);
284f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel VeillardXMLPUBFUN int XMLCALL
285f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
286f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard		    				 const char *xsd);
287bdadaedd8865affa6d09779571daca593ba50d9dKasimier T. BuchcikXMLPUBFUN int XMLCALL
288bdadaedd8865affa6d09779571daca593ba50d9dKasimier T. Buchcik		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
289bdadaedd8865affa6d09779571daca593ba50d9dKasimier T. Buchcik						 xmlSchemaValidCtxtPtr ctxt,
290bdadaedd8865affa6d09779571daca593ba50d9dKasimier T. Buchcik						 int options);
291f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel VeillardXMLPUBFUN int XMLCALL
292f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
293f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard		    				 xmlSchemaPtr schema);
294f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#endif
295e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
296e2811270e81f33a751c88647c48453803586a550Daniel Veillard		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
297e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN int XMLCALL
298e2811270e81f33a751c88647c48453803586a550Daniel Veillard		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
29926f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
3005e094143e423c01739ac9221f371846fd290be4eDaniel Veillard
3015e094143e423c01739ac9221f371846fd290be4eDaniel Veillard/*
3025e094143e423c01739ac9221f371846fd290be4eDaniel Veillard * Index lookup
3035e094143e423c01739ac9221f371846fd290be4eDaniel Veillard */
3045e094143e423c01739ac9221f371846fd290be4eDaniel VeillardXMLPUBFUN long XMLCALL
3055e094143e423c01739ac9221f371846fd290be4eDaniel Veillard		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);
3065e094143e423c01739ac9221f371846fd290be4eDaniel Veillard
30726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard/*
308fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard * New more complete APIs for simpler creation and reuse of readers
309fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard */
310fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
311198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard		xmlReaderWalker		(xmlDocPtr doc);
312198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
313fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderForDoc		(const xmlChar * cur,
314fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
315fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
316fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
317fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
318fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderForFile	(const char *filename,
319fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
320fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
321fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
322fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderForMemory	(const char *buffer,
323fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int size,
324fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
325fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
326fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
327fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
328fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderForFd		(int fd,
329fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
330fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
331fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
332fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL
333fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderForIO		(xmlInputReadCallback ioread,
334fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 xmlInputCloseCallback ioclose,
335fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 void *ioctx,
336fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
337fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
338fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
339fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard
340fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL
341198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard		xmlReaderNewWalker	(xmlTextReaderPtr reader,
342198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard					 xmlDocPtr doc);
343198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL
344fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderNewDoc		(xmlTextReaderPtr reader,
345fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const xmlChar * cur,
346fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
347fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
348fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
349fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL
350fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderNewFile	(xmlTextReaderPtr reader,
351fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *filename,
352fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
353fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
354fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL
355fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderNewMemory	(xmlTextReaderPtr reader,
356fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *buffer,
357fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int size,
358fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
359fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
360fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
361fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL
362fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderNewFd		(xmlTextReaderPtr reader,
363fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int fd,
364fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
365fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
366fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
367fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL
368fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard		xmlReaderNewIO		(xmlTextReaderPtr reader,
369fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 xmlInputReadCallback ioread,
370fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 xmlInputCloseCallback ioclose,
371fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 void *ioctx,
372fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *URL,
373fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 const char *encoding,
374fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard					 int options);
375fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard/*
37626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard * Error handling extensions
37726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard */
378417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillardtypedef void *  xmlTextReaderLocatorPtr;
37918a88ce2f4bf7fd107d62bcd5724658306e08cb2Igor Zlatkovictypedef void   (XMLCALL *xmlTextReaderErrorFunc)        (void *arg,
38026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 const char *msg,
381417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard						 xmlParserSeverities severity,
382417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard						 xmlTextReaderLocatorPtr locator);
383aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
384aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
385417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard/*int             xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
386aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
387aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
388aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
389aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
39026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 xmlTextReaderErrorFunc f,
39126f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 void *arg);
39293d004f9d86662251153e2af6e233e974660be78William M. BrackXMLPUBFUN void XMLCALL
39393d004f9d86662251153e2af6e233e974660be78William M. Brack		    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
39493d004f9d86662251153e2af6e233e974660be78William M. Brack							   xmlStructuredErrorFunc f,
39593d004f9d86662251153e2af6e233e974660be78William M. Brack							   void *arg);
396aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
397aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
39826f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 xmlTextReaderErrorFunc *f,
39926f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 void **arg);
40026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
401e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus
402e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard}
403e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif
404a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
405a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#endif /* LIBXML_READER_ENABLED */
406a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
407e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */
408e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
409