15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: the XMLReader implementation
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: API of the XML streaming API based on C# interfaces.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_XMLREADER_H__
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __XML_XMLREADER_H__
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h>
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/tree.h>
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlIO.h>
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_SCHEMAS_ENABLED
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/relaxng.h>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlschemas.h>
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlParserSeverities:
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * How severe an error callback is when the per-reader error callback API
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * is used.
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_SEVERITY_WARNING = 3,
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_SEVERITY_ERROR = 4
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlParserSeverities;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_READER_ENABLED
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlTextReaderMode:
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Internal state values for the reader.
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_INITIAL = 0,
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_INTERACTIVE = 1,
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_ERROR = 2,
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_EOF =3,
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_CLOSED = 4,
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_TEXTREADER_MODE_READING = 5
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlTextReaderMode;
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlParserProperties:
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Some common options to use with xmlTextReaderSetParserProp, but it
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * is better to use xmlParserOption and the xmlReaderNewxxx and
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlReaderForxxx APIs now.
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_LOADDTD = 1,
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_DEFAULTATTRS = 2,
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_VALIDATE = 3,
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_PARSER_SUBST_ENTITIES = 4
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlParserProperties;
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlReaderTypes:
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Predefined constants for the different types of nodes.
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_NONE = 0,
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_ELEMENT = 1,
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_ATTRIBUTE = 2,
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_TEXT = 3,
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_CDATA = 4,
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_ENTITY_REFERENCE = 5,
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_ENTITY = 6,
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_COMMENT = 8,
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_DOCUMENT = 9,
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_DOCUMENT_TYPE = 10,
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_NOTATION = 12,
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_WHITESPACE = 13,
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_END_ELEMENT = 15,
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_END_ENTITY = 16,
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    XML_READER_TYPE_XML_DECLARATION = 17
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlReaderTypes;
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlTextReader:
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Structure for an xmlReader context.
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlTextReader xmlTextReader;
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlTextReaderPtr:
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Pointer to an xmlReader context.
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlTextReader *xmlTextReaderPtr;
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Constructors & Destructor
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlNewTextReader	(xmlParserInputBufferPtr input,
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	                                         const char *URI);
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlNewTextReaderFilename(const char *URI);
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlFreeTextReader	(xmlTextReaderPtr reader);
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlTextReaderSetup(xmlTextReaderPtr reader,
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                   xmlParserInputBufferPtr input, const char *URL,
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                   const char *encoding, int options);
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Iterators
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderRead	(xmlTextReaderPtr reader);
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_WRITER_ENABLED
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader);
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader);
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderReadString		(xmlTextReaderPtr reader);
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader);
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Attributes of the node
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderDepth	(xmlTextReaderPtr reader);
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderHasValue(xmlTextReaderPtr reader);
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderReadState	(xmlTextReaderPtr reader);
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *str);
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * use the Const version of the routine for
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * better performance and simpler code
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderName	(xmlTextReaderPtr reader);
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			xmlTextReaderValue	(xmlTextReaderPtr reader);
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Methods of the XmlTextReader
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderClose		(xmlTextReaderPtr reader);
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int no);
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *localName,
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *namespaceURI);
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlParserInputBufferPtr XMLCALL
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *prefix);
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int no);
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *localName,
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *namespaceURI);
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Extensions
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int prop,
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int value);
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int prop);
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_PATTERN_ENABLED
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *pattern,
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar **namespaces);
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_PATTERN_ENABLED */
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlDocPtr XMLCALL
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNodePtr XMLCALL
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderNext		(xmlTextReaderPtr reader);
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_SCHEMAS_ENABLED
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const char *rng);
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlRelaxNGPtr schema);
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const char *xsd);
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlSchemaValidCtxtPtr ctxt,
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int options);
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlSchemaPtr schema);
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Index lookup
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN long XMLCALL
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * New more complete APIs for simpler creation and reuse of readers
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderWalker		(xmlDocPtr doc);
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderForDoc		(const xmlChar * cur,
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderForFile	(const char *filename,
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderForMemory	(const char *buffer,
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int size,
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderForFd		(int fd,
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlTextReaderPtr XMLCALL
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderForIO		(xmlInputReadCallback ioread,
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlInputCloseCallback ioclose,
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 void *ioctx,
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewWalker	(xmlTextReaderPtr reader,
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewDoc		(xmlTextReaderPtr reader,
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar * cur,
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewFile	(xmlTextReaderPtr reader,
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *filename,
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewMemory	(xmlTextReaderPtr reader,
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *buffer,
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int size,
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewFd		(xmlTextReaderPtr reader,
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int fd,
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlReaderNewIO		(xmlTextReaderPtr reader,
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlInputReadCallback ioread,
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlInputCloseCallback ioclose,
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 void *ioctx,
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *URL,
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const char *encoding,
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int options);
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Error handling extensions
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void *  xmlTextReaderLocatorPtr;
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlTextReaderErrorFunc:
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @arg: the user argument
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @msg: the message
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @severity: the severity of the error
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @locator: a locator indicating where the error occured
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Signature of an error callback from a reader parser
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void   (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const char *msg,
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlParserSeverities severity,
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlTextReaderLocatorPtr locator);
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*int             xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlTextReaderErrorFunc f,
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 void *arg);
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)							   xmlStructuredErrorFunc f,
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)							   void *arg);
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlTextReaderErrorFunc *f,
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 void **arg);
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_READER_ENABLED */
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __XML_XMLREADER_H__ */
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425