xmlreader.h revision f85ce8e334f448078a3d71a812824fa5b45d9b07
1e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
2e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * xmlreader.h : Interfaces, constants and types of the XML streaming API.
3e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard *
4e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * See Copyright for the status of this software.
5e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard *
6e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * daniel@veillard.com
7e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
8e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
9e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifndef __XML_XMLREADER_H__
10e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#define __XML_XMLREADER_H__
11e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
1276874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic#include <libxml/xmlversion.h>
13e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/tree.h>
14e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/xmlIO.h>
1533300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED
1633300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#include <libxml/relaxng.h>
1733300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#endif
18e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
19e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus
20e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardextern "C" {
21e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif
22e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
23beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardtypedef enum {
24beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard    XML_PARSER_LOADDTD = 1,
25e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_DEFAULTATTRS = 2,
26e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_VALIDATE = 3,
27e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard    XML_PARSER_SUBST_ENTITIES = 4
28beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard} xmlParserProperties;
29beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard
3026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillardtypedef enum {
31417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
32417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
33417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_WARNING = 3,
34417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard    XML_PARSER_SEVERITY_ERROR = 4
35417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard} xmlParserSeverities;
3626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
370ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillardtypedef enum {
38d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_NONE = 0,
39d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ELEMENT = 1,
40d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ATTRIBUTE = 2,
41d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_TEXT = 3,
42d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_CDATA = 4,
43d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ENTITY_REFERENCE = 5,
44d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_ENTITY = 6,
45d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
46d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_COMMENT = 8,
47d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT = 9,
48d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT_TYPE = 10,
49d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
50d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_NOTATION = 12,
51d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_WHITESPACE = 13,
52d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
53d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_END_ELEMENT = 15,
54d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_END_ENTITY = 16,
55d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard    XML_READER_TYPE_XML_DECLARATION = 17
560ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillard} xmlReaderTypes;
57d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard
58e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef struct _xmlTextReader xmlTextReader;
59e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef xmlTextReader *xmlTextReaderPtr;
60e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
61e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
62e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Constructors & Destructor
63e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
6476874e4516a1d7b467d400604f8aef77be015727Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL
6576874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic			xmlNewTextReader	(xmlParserInputBufferPtr input,
66ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard	                                         const char *URI);
67aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL
68aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlNewTextReaderFilename(const char *URI);
69aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
70aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlFreeTextReader	(xmlTextReaderPtr reader);
71e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
72e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
73e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Iterators
74e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
75aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
76aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderRead	(xmlTextReaderPtr reader);
77aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
78aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader);
79aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
80aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader);
81aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
82aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadString		(xmlTextReaderPtr reader);
83aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
84aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader);
85e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
86e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/*
87e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Attributes of the node
88e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */
89aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
90aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
91aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
92aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderDepth	(xmlTextReaderPtr reader);
93aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
94aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
95aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
96aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderHasValue(xmlTextReaderPtr reader);
97aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
98aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
99aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
100aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
101e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
102e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
103e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
104e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
105e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL
106e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderReadState	(xmlTextReaderPtr reader);
107e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN xmlChar * XMLCALL
108e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
109aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
110aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
111aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
112aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderName	(xmlTextReaderPtr reader);
113aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
114aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
115aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
116aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
117aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
118aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
119e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN xmlChar * XMLCALL
120e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard			xmlTextReaderValue	(xmlTextReaderPtr reader);
1210eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard
122e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
123e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
124e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
125e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
126e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
127e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
128e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
129e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
130e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
131e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
132e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
133e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
134f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL
135f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
136f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard		    				 const xmlChar *str);
137f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard
1380eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/*
1390eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader
1400eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */
141aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
142aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderClose		(xmlTextReaderPtr reader);
143aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
144aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
1450eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 int no);
146aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
147aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
1480eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *name);
149aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
150aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
1510eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *localName,
1520eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard						 const xmlChar *namespaceURI);
153aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlParserInputBufferPtr XMLCALL
154aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
155aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
156aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
157da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *prefix);
158aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
159aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
160da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 int no);
161aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
162aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
163da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *name);
164aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
165aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
166da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *localName,
167da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard						 const xmlChar *namespaceURI);
168aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
169aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
170aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
171aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
172aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
173aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
174aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
175aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
176da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard
177beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard/*
178beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard * Extensions
179beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard */
180aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
181aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
182beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int prop,
183beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int value);
184aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
185aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
186beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard						 int prop);
187aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
188aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
189aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL
190aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
191aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
192aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
193aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
194aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderNext		(xmlTextReaderPtr reader);
195aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
196aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
197f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED
198aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
199aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
200f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard						 const char *rng);
201aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
202aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
20333300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard						 xmlRelaxNGPtr schema);
204f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#endif
20526f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
20626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard/*
20726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard * Error handling extensions
20826f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard */
209417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillardtypedef void *  xmlTextReaderLocatorPtr;
210417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillardtypedef void   (*xmlTextReaderErrorFunc)        (void *arg,
21126f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 const char *msg,
212417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard						 xmlParserSeverities severity,
213417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard						 xmlTextReaderLocatorPtr locator);
214aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
215aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
216417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard/*int             xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
217aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
218aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
219aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
220aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
22126f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 xmlTextReaderErrorFunc f,
22226f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 void *arg);
223aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
224aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
22526f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 xmlTextReaderErrorFunc *f,
22626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard						 void **arg);
22726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard
228e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus
229e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard}
230e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif
231e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */
232e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard
233