Blame include/libxml/xmlreader.h

Packit 423ecb
/*
Packit 423ecb
 * Summary: the XMLReader implementation
Packit 423ecb
 * Description: API of the XML streaming API based on C# interfaces.
Packit 423ecb
 *
Packit 423ecb
 * Copy: See Copyright for the status of this software.
Packit 423ecb
 *
Packit 423ecb
 * Author: Daniel Veillard
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
#ifndef __XML_XMLREADER_H__
Packit 423ecb
#define __XML_XMLREADER_H__
Packit 423ecb
Packit 423ecb
#include <libxml/xmlversion.h>
Packit 423ecb
#include <libxml/tree.h>
Packit 423ecb
#include <libxml/xmlIO.h>
Packit 423ecb
#ifdef LIBXML_SCHEMAS_ENABLED
Packit 423ecb
#include <libxml/relaxng.h>
Packit 423ecb
#include <libxml/xmlschemas.h>
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
#ifdef __cplusplus
Packit 423ecb
extern "C" {
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlParserSeverities:
Packit 423ecb
 *
Packit 423ecb
 * How severe an error callback is when the per-reader error callback API
Packit 423ecb
 * is used.
Packit 423ecb
 */
Packit 423ecb
typedef enum {
Packit 423ecb
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
Packit 423ecb
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
Packit 423ecb
    XML_PARSER_SEVERITY_WARNING = 3,
Packit 423ecb
    XML_PARSER_SEVERITY_ERROR = 4
Packit 423ecb
} xmlParserSeverities;
Packit 423ecb
Packit 423ecb
#ifdef LIBXML_READER_ENABLED
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlTextReaderMode:
Packit 423ecb
 *
Packit 423ecb
 * Internal state values for the reader.
Packit 423ecb
 */
Packit 423ecb
typedef enum {
Packit 423ecb
    XML_TEXTREADER_MODE_INITIAL = 0,
Packit 423ecb
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
Packit 423ecb
    XML_TEXTREADER_MODE_ERROR = 2,
Packit 423ecb
    XML_TEXTREADER_MODE_EOF =3,
Packit 423ecb
    XML_TEXTREADER_MODE_CLOSED = 4,
Packit 423ecb
    XML_TEXTREADER_MODE_READING = 5
Packit 423ecb
} xmlTextReaderMode;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlParserProperties:
Packit 423ecb
 *
Packit 423ecb
 * Some common options to use with xmlTextReaderSetParserProp, but it
Packit 423ecb
 * is better to use xmlParserOption and the xmlReaderNewxxx and
Packit 423ecb
 * xmlReaderForxxx APIs now.
Packit 423ecb
 */
Packit 423ecb
typedef enum {
Packit 423ecb
    XML_PARSER_LOADDTD = 1,
Packit 423ecb
    XML_PARSER_DEFAULTATTRS = 2,
Packit 423ecb
    XML_PARSER_VALIDATE = 3,
Packit 423ecb
    XML_PARSER_SUBST_ENTITIES = 4
Packit 423ecb
} xmlParserProperties;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlReaderTypes:
Packit 423ecb
 *
Packit 423ecb
 * Predefined constants for the different types of nodes.
Packit 423ecb
 */
Packit 423ecb
typedef enum {
Packit 423ecb
    XML_READER_TYPE_NONE = 0,
Packit 423ecb
    XML_READER_TYPE_ELEMENT = 1,
Packit 423ecb
    XML_READER_TYPE_ATTRIBUTE = 2,
Packit 423ecb
    XML_READER_TYPE_TEXT = 3,
Packit 423ecb
    XML_READER_TYPE_CDATA = 4,
Packit 423ecb
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
Packit 423ecb
    XML_READER_TYPE_ENTITY = 6,
Packit 423ecb
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
Packit 423ecb
    XML_READER_TYPE_COMMENT = 8,
Packit 423ecb
    XML_READER_TYPE_DOCUMENT = 9,
Packit 423ecb
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
Packit 423ecb
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
Packit 423ecb
    XML_READER_TYPE_NOTATION = 12,
Packit 423ecb
    XML_READER_TYPE_WHITESPACE = 13,
Packit 423ecb
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
Packit 423ecb
    XML_READER_TYPE_END_ELEMENT = 15,
Packit 423ecb
    XML_READER_TYPE_END_ENTITY = 16,
Packit 423ecb
    XML_READER_TYPE_XML_DECLARATION = 17
Packit 423ecb
} xmlReaderTypes;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlTextReader:
Packit 423ecb
 *
Packit 423ecb
 * Structure for an xmlReader context.
Packit 423ecb
 */
Packit 423ecb
typedef struct _xmlTextReader xmlTextReader;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlTextReaderPtr:
Packit 423ecb
 *
Packit 423ecb
 * Pointer to an xmlReader context.
Packit 423ecb
 */
Packit 423ecb
typedef xmlTextReader *xmlTextReaderPtr;
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Constructors & Destructor
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
			xmlNewTextReader	(xmlParserInputBufferPtr input,
Packit 423ecb
	                                         const char *URI);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
			xmlNewTextReaderFilename(const char *URI);
Packit 423ecb
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
			xmlFreeTextReader	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
            xmlTextReaderSetup(xmlTextReaderPtr reader,
Packit 423ecb
                   xmlParserInputBufferPtr input, const char *URL,
Packit 423ecb
                   const char *encoding, int options);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Iterators
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderRead	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
#ifdef LIBXML_WRITER_ENABLED
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderReadString	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Attributes of the node
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderDepth	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderHasValue(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
			xmlTextReaderReadState	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *str);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * use the Const version of the routine for
Packit 423ecb
 * better performance and simpler code
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderName	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
			xmlTextReaderValue	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Methods of the XmlTextReader
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderClose		(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
Packit 423ecb
						 int no);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *name);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *localName,
Packit 423ecb
						 const xmlChar *namespaceURI);
Packit 423ecb
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
Packit 423ecb
		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *prefix);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
Packit 423ecb
						 int no);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *name);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *localName,
Packit 423ecb
						 const xmlChar *namespaceURI);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Extensions
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
Packit 423ecb
						 int prop,
Packit 423ecb
						 int value);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
Packit 423ecb
						 int prop);
Packit 423ecb
XMLPUBFUN xmlNodePtr XMLCALL
Packit 423ecb
		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
XMLPUBFUN xmlNodePtr XMLCALL
Packit 423ecb
		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
Packit 423ecb
#ifdef LIBXML_PATTERN_ENABLED
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
Packit 423ecb
						 const xmlChar *pattern,
Packit 423ecb
						 const xmlChar **namespaces);
Packit 423ecb
#endif /* LIBXML_PATTERN_ENABLED */
Packit 423ecb
XMLPUBFUN xmlDocPtr XMLCALL
Packit 423ecb
		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN xmlNodePtr XMLCALL
Packit 423ecb
		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderNext		(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
Packit 423ecb
#ifdef LIBXML_SCHEMAS_ENABLED
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
Packit 423ecb
						 const char *rng);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
Packit 423ecb
						 xmlRelaxNGValidCtxtPtr ctxt,
Packit 423ecb
						 int options);
Packit 423ecb
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
Packit 423ecb
						 xmlRelaxNGPtr schema);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
Packit 423ecb
						 const char *xsd);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
Packit 423ecb
						 xmlSchemaValidCtxtPtr ctxt,
Packit 423ecb
						 int options);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
Packit 423ecb
						 xmlSchemaPtr schema);
Packit 423ecb
#endif
Packit 423ecb
XMLPUBFUN const xmlChar * XMLCALL
Packit 423ecb
		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * Index lookup
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN long XMLCALL
Packit 423ecb
		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * New more complete APIs for simpler creation and reuse of readers
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderWalker		(xmlDocPtr doc);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderForDoc		(const xmlChar * cur,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderForFile	(const char *filename,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderForMemory	(const char *buffer,
Packit 423ecb
					 int size,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderForFd		(int fd,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN xmlTextReaderPtr XMLCALL
Packit 423ecb
		xmlReaderForIO		(xmlInputReadCallback ioread,
Packit 423ecb
					 xmlInputCloseCallback ioclose,
Packit 423ecb
					 void *ioctx,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewWalker	(xmlTextReaderPtr reader,
Packit 423ecb
					 xmlDocPtr doc);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewDoc		(xmlTextReaderPtr reader,
Packit 423ecb
					 const xmlChar * cur,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewFile	(xmlTextReaderPtr reader,
Packit 423ecb
					 const char *filename,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewMemory	(xmlTextReaderPtr reader,
Packit 423ecb
					 const char *buffer,
Packit 423ecb
					 int size,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewFd		(xmlTextReaderPtr reader,
Packit 423ecb
					 int fd,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlReaderNewIO		(xmlTextReaderPtr reader,
Packit 423ecb
					 xmlInputReadCallback ioread,
Packit 423ecb
					 xmlInputCloseCallback ioclose,
Packit 423ecb
					 void *ioctx,
Packit 423ecb
					 const char *URL,
Packit 423ecb
					 const char *encoding,
Packit 423ecb
					 int options);
Packit 423ecb
/*
Packit 423ecb
 * Error handling extensions
Packit 423ecb
 */
Packit 423ecb
typedef void *  xmlTextReaderLocatorPtr;
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlTextReaderErrorFunc:
Packit 423ecb
 * @arg: the user argument
Packit 423ecb
 * @msg: the message
Packit 423ecb
 * @severity: the severity of the error
Packit 423ecb
 * @locator: a locator indicating where the error occurred
Packit 423ecb
 *
Packit 423ecb
 * Signature of an error callback from a reader parser
Packit 423ecb
 */
Packit 423ecb
typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
Packit 423ecb
					       const char *msg,
Packit 423ecb
					       xmlParserSeverities severity,
Packit 423ecb
					       xmlTextReaderLocatorPtr locator);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
Packit 423ecb
					 xmlTextReaderErrorFunc f,
Packit 423ecb
					 void *arg);
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
Packit 423ecb
						   xmlStructuredErrorFunc f,
Packit 423ecb
						   void *arg);
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
Packit 423ecb
					 xmlTextReaderErrorFunc *f,
Packit 423ecb
					 void **arg);
Packit 423ecb
Packit 423ecb
#endif /* LIBXML_READER_ENABLED */
Packit 423ecb
Packit 423ecb
#ifdef __cplusplus
Packit 423ecb
}
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
#endif /* __XML_XMLREADER_H__ */
Packit 423ecb