xmlreader.h revision d671e2863e4f21a2e40400f877ea18a1883120c1
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> 1833300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard#endif 19e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 20a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#ifdef LIBXML_READER_ENABLED 21a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard 22e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 23e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardextern "C" { 24e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 25e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 26da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 27da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReaderMode: 28da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 29da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Internal state values for the reader. 30da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 31da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillardtypedef enum { 32da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_INITIAL = 0, 33da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_INTERACTIVE = 1, 34da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_ERROR = 2, 35da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_EOF =3, 36da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_CLOSED = 4, 37da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard XML_TEXTREADER_MODE_READING = 5 38da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard} xmlTextReaderMode; 39da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard 40da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 41da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlParserProperties: 42da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 43da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Some common options to use with xmlTextReaderSetParserProp, but it 44da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * is better to use xmlParserOption and the xmlReaderNewxxx and 45da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlReaderForxxx APIs now. 46da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 47beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardtypedef enum { 48beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard XML_PARSER_LOADDTD = 1, 49e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_DEFAULTATTRS = 2, 50e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_VALIDATE = 3, 51e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_SUBST_ENTITIES = 4 52beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard} xmlParserProperties; 53beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard 54da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 55da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlParserSeverities: 56da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 57da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * How severe an error callback is when the per-reader error callback API 58da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * is used. 59da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 6026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillardtypedef enum { 61417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, 62417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, 63417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard XML_PARSER_SEVERITY_WARNING = 3, 64417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard XML_PARSER_SEVERITY_ERROR = 4 65417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard} xmlParserSeverities; 6626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard 67da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 68da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlReaderTypes: 69da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 70da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Predefined constants for the different types of nodes. 71da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 720ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillardtypedef enum { 73d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_NONE = 0, 74d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_ELEMENT = 1, 75d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_ATTRIBUTE = 2, 76d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_TEXT = 3, 77d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_CDATA = 4, 78d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_ENTITY_REFERENCE = 5, 79d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_ENTITY = 6, 80d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, 81d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_COMMENT = 8, 82d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_DOCUMENT = 9, 83d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_DOCUMENT_TYPE = 10, 84d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, 85d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_NOTATION = 12, 86d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_WHITESPACE = 13, 87d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, 88d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_END_ELEMENT = 15, 89d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_END_ENTITY = 16, 90d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard XML_READER_TYPE_XML_DECLARATION = 17 910ab6fa01f5291e116d4217767d13d775b35c72a0Daniel Veillard} xmlReaderTypes; 92d6038e0283e9f814e408fe4d3dd54cce6b0b32d4Daniel Veillard 93da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 94da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReader: 95da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 96da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Structure for an xmlReader context. 97da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 98e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef struct _xmlTextReader xmlTextReader; 99da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard 100da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard/** 101da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * xmlTextReaderPtr: 102da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * 103da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard * Pointer to an xmlReader context. 104da0ff5da92cb7d0b9004b3e60094729bca554e74Daniel Veillard */ 105e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef xmlTextReader *xmlTextReaderPtr; 106e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 107e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 108e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Constructors & Destructor 109e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 11076874e4516a1d7b467d400604f8aef77be015727Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL 11176874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic xmlNewTextReader (xmlParserInputBufferPtr input, 112ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard const char *URI); 113aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlTextReaderPtr XMLCALL 114aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewTextReaderFilename(const char *URI); 115aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 116aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeTextReader (xmlTextReaderPtr reader); 117e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 118e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 119e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Iterators 120e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 121aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 122aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderRead (xmlTextReaderPtr reader); 123aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 124aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); 125aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 126aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); 127aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 128aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderReadString (xmlTextReaderPtr reader); 129aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 130aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader); 131e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 132e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 133e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Attributes of the node 134e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 135aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 136aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderAttributeCount(xmlTextReaderPtr reader); 137aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 138aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderDepth (xmlTextReaderPtr reader); 139aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 140aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderHasAttributes(xmlTextReaderPtr reader); 141aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 142aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderHasValue(xmlTextReaderPtr reader); 143aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 144aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderIsDefault (xmlTextReaderPtr reader); 145aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 146aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); 147e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL 148e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderNodeType (xmlTextReaderPtr reader); 149e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL 150e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderQuoteChar (xmlTextReaderPtr reader); 151e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN int XMLCALL 152e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderReadState (xmlTextReaderPtr reader); 153e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN int XMLCALL 154e2811270e81f33a751c88647c48453803586a550Daniel Veillard xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader); 1550eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard 156e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 157e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); 158e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 159e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstLocalName (xmlTextReaderPtr reader); 160e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 161e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstName (xmlTextReaderPtr reader); 162e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 163e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader); 164e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 165e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstPrefix (xmlTextReaderPtr reader); 166e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 167e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); 168f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 169f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard xmlTextReaderConstString (xmlTextReaderPtr reader, 170f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard const xmlChar *str); 171198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN const xmlChar * XMLCALL 172198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderConstValue (xmlTextReaderPtr reader); 173198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard 174198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard/* 175198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * use the Const version of the routine for 176198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * better performance and simpler code 177198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard */ 178198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 179198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderBaseUri (xmlTextReaderPtr reader); 180198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 181198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderLocalName (xmlTextReaderPtr reader); 182198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 183198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderName (xmlTextReaderPtr reader); 184198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 185198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); 186198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 187198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderPrefix (xmlTextReaderPtr reader); 188198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 189198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderXmlLang (xmlTextReaderPtr reader); 190198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 191198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderValue (xmlTextReaderPtr reader); 192f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard 1930eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/* 1940eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader 1950eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */ 196aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 197aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderClose (xmlTextReaderPtr reader); 198aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 199aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, 2000eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard int no); 201aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 202aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttribute (xmlTextReaderPtr reader, 2030eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *name); 204aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 205aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, 2060eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *localName, 2070eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *namespaceURI); 208aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlParserInputBufferPtr XMLCALL 209aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetRemainder (xmlTextReaderPtr reader); 210aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 211aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, 212da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *prefix); 213aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 214aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, 215da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard int no); 216aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 217aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, 218da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *name); 219aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 220aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, 221da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *localName, 222da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *namespaceURI); 223aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 224aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); 225aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 226aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); 227aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 228aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToElement (xmlTextReaderPtr reader); 229aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 230aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderNormalization (xmlTextReaderPtr reader); 231e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 232e2811270e81f33a751c88647c48453803586a550Daniel Veillard xmlTextReaderConstEncoding (xmlTextReaderPtr reader); 233da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard 234beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard/* 235beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard * Extensions 236beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard */ 237aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 238aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderSetParserProp (xmlTextReaderPtr reader, 239beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop, 240beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int value); 241aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 242aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetParserProp (xmlTextReaderPtr reader, 243beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop); 244aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 245aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderCurrentNode (xmlTextReaderPtr reader); 246d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin 247d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey SaninXMLPUBFUN int XMLCALL 248d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader); 249d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin 250d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey SaninXMLPUBFUN int XMLCALL 251d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader); 252d671e2863e4f21a2e40400f877ea18a1883120c1Aleksey Sanin 2539ee35f36437073d952bc88fd64cf1618aad27c7bDaniel VeillardXMLPUBFUN xmlNodePtr XMLCALL 2549ee35f36437073d952bc88fd64cf1618aad27c7bDaniel Veillard xmlTextReaderPreserve (xmlTextReaderPtr reader); 25521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_PATTERN_ENABLED 2561e90661bb817402f85103c3b9d3ce6ebab570f38Daniel VeillardXMLPUBFUN int XMLCALL 2571e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard xmlTextReaderPreservePattern(xmlTextReaderPtr reader, 258ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard const xmlChar *pattern, 259ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard const xmlChar **namespaces); 26021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_PATTERN_ENABLED */ 261aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL 262aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); 263aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 264aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderExpand (xmlTextReaderPtr reader); 265aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 266aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderNext (xmlTextReaderPtr reader); 267198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL 268198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderNextSibling (xmlTextReaderPtr reader); 269aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 270aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderIsValid (xmlTextReaderPtr reader); 271f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED 272aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 273aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, 274f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard const char *rng); 275aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 276aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, 27733300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard xmlRelaxNGPtr schema); 278f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#endif 279e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 280e2811270e81f33a751c88647c48453803586a550Daniel Veillard xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader); 281e2811270e81f33a751c88647c48453803586a550Daniel VeillardXMLPUBFUN int XMLCALL 282e2811270e81f33a751c88647c48453803586a550Daniel Veillard xmlTextReaderStandalone (xmlTextReaderPtr reader); 28326f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard 28426f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard/* 285fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard * New more complete APIs for simpler creation and reuse of readers 286fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard */ 287fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 288198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlReaderWalker (xmlDocPtr doc); 289198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 290fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForDoc (const xmlChar * cur, 291fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 292fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 293fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 294fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 295fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForFile (const char *filename, 296fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 297fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 298fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 299fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForMemory (const char *buffer, 300fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int size, 301fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 302fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 303fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 304fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 305fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForFd (int fd, 306fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 307fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 308fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 309fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 310fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForIO (xmlInputReadCallback ioread, 311fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputCloseCallback ioclose, 312fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard void *ioctx, 313fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 314fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 315fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 316fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard 317fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 318198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlReaderNewWalker (xmlTextReaderPtr reader, 319198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlDocPtr doc); 320198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL 321fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewDoc (xmlTextReaderPtr reader, 322fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const xmlChar * cur, 323fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 324fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 325fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 326fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 327fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewFile (xmlTextReaderPtr reader, 328fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *filename, 329fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 330fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 331fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 332fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewMemory (xmlTextReaderPtr reader, 333fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *buffer, 334fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int size, 335fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 336fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 337fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 338fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 339fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewFd (xmlTextReaderPtr reader, 340fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int fd, 341fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 342fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 343fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 344fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 345fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewIO (xmlTextReaderPtr reader, 346fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputReadCallback ioread, 347fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputCloseCallback ioclose, 348fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard void *ioctx, 349fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 350fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 351fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 352fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard/* 35326f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard * Error handling extensions 35426f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard */ 355417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillardtypedef void * xmlTextReaderLocatorPtr; 35618a88ce2f4bf7fd107d62bcd5724658306e08cb2Igor Zlatkovictypedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg, 35726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard const char *msg, 358417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard xmlParserSeverities severity, 359417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard xmlTextReaderLocatorPtr locator); 360aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 361aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); 362417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard/*int xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/ 363aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 364aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); 365aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 366aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, 36726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard xmlTextReaderErrorFunc f, 36826f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard void *arg); 36993d004f9d86662251153e2af6e233e974660be78William M. BrackXMLPUBFUN void XMLCALL 37093d004f9d86662251153e2af6e233e974660be78William M. Brack xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, 37193d004f9d86662251153e2af6e233e974660be78William M. Brack xmlStructuredErrorFunc f, 37293d004f9d86662251153e2af6e233e974660be78William M. Brack void *arg); 373aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 374aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, 37526f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard xmlTextReaderErrorFunc *f, 37626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard void **arg); 37726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard 378e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 379e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard} 380e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 381a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard 382a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#endif /* LIBXML_READER_ENABLED */ 383a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard 384e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */ 385e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 386