xmlreader.h revision a2351322c89608d09ce1a99e5eccd62d00c79890
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); 1530eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard 154e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 155e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); 156e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 157e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstLocalName (xmlTextReaderPtr reader); 158e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 159e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstName (xmlTextReaderPtr reader); 160e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 161e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader); 162e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 163e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstPrefix (xmlTextReaderPtr reader); 164e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 165e72c508cd0c7a829602906f54fa8a29abaf3afa6Daniel Veillard xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); 166f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel VeillardXMLPUBFUN const xmlChar * XMLCALL 167f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard xmlTextReaderConstString (xmlTextReaderPtr reader, 168f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard const xmlChar *str); 169198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN const xmlChar * XMLCALL 170198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderConstValue (xmlTextReaderPtr reader); 171198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard 172198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard/* 173198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * use the Const version of the routine for 174198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard * better performance and simpler code 175198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard */ 176198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 177198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderBaseUri (xmlTextReaderPtr reader); 178198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 179198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderLocalName (xmlTextReaderPtr reader); 180198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 181198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderName (xmlTextReaderPtr reader); 182198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 183198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); 184198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 185198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderPrefix (xmlTextReaderPtr reader); 186198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 187198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderXmlLang (xmlTextReaderPtr reader); 188198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlChar * XMLCALL 189198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderValue (xmlTextReaderPtr reader); 190f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard 1910eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/* 1920eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader 1930eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */ 194aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 195aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderClose (xmlTextReaderPtr reader); 196aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 197aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, 1980eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard int no); 199aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 200aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttribute (xmlTextReaderPtr reader, 2010eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *name); 202aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 203aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, 2040eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *localName, 2050eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *namespaceURI); 206aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlParserInputBufferPtr XMLCALL 207aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetRemainder (xmlTextReaderPtr reader); 208aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 209aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, 210da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *prefix); 211aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 212aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, 213da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard int no); 214aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 215aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, 216da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *name); 217aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 218aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, 219da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *localName, 220da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *namespaceURI); 221aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 222aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); 223aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 224aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); 225aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 226aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderMoveToElement (xmlTextReaderPtr reader); 227aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 228aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderNormalization (xmlTextReaderPtr reader); 229da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard 230beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard/* 231beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard * Extensions 232beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard */ 233aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 234aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderSetParserProp (xmlTextReaderPtr reader, 235beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop, 236beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int value); 237aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 238aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetParserProp (xmlTextReaderPtr reader, 239beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop); 240aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 241aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderCurrentNode (xmlTextReaderPtr reader); 2429ee35f36437073d952bc88fd64cf1618aad27c7bDaniel VeillardXMLPUBFUN xmlNodePtr XMLCALL 2439ee35f36437073d952bc88fd64cf1618aad27c7bDaniel Veillard xmlTextReaderPreserve (xmlTextReaderPtr reader); 2441e90661bb817402f85103c3b9d3ce6ebab570f38Daniel VeillardXMLPUBFUN int XMLCALL 2451e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard xmlTextReaderPreservePattern(xmlTextReaderPtr reader, 246ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard const xmlChar *pattern, 247ffa7b7e2ba3841a80f9c5a69e89cc4b4e457840bDaniel Veillard const xmlChar **namespaces); 248aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL 249aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); 250aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 251aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderExpand (xmlTextReaderPtr reader); 252aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 253aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderNext (xmlTextReaderPtr reader); 254198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL 255198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlTextReaderNextSibling (xmlTextReaderPtr reader); 256aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 257aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderIsValid (xmlTextReaderPtr reader); 258f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED 259aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 260aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, 261f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard const char *rng); 262aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 263aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, 26433300b49f0801f5efe6363bd6b85b3bb5ace70fdDaniel Veillard xmlRelaxNGPtr schema); 265f4e5576f8f34362b6bec9396ab073fac839dfb22Daniel Veillard#endif 26626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard 26726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard/* 268fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard * New more complete APIs for simpler creation and reuse of readers 269fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard */ 270fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 271198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlReaderWalker (xmlDocPtr doc); 272198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 273fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForDoc (const xmlChar * cur, 274fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 275fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 276fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 277fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 278fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForFile (const char *filename, 279fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 280fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 281fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 282fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForMemory (const char *buffer, 283fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int size, 284fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 285fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 286fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 287fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 288fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForFd (int fd, 289fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 290fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 291fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 292fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN xmlTextReaderPtr XMLCALL 293fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderForIO (xmlInputReadCallback ioread, 294fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputCloseCallback ioclose, 295fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard void *ioctx, 296fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 297fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 298fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 299fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard 300fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 301198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlReaderNewWalker (xmlTextReaderPtr reader, 302198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel Veillard xmlDocPtr doc); 303198c1bfc1cd2cc031410e4be4e5faebed45c557cDaniel VeillardXMLPUBFUN int XMLCALL 304fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewDoc (xmlTextReaderPtr reader, 305fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const xmlChar * cur, 306fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 307fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 308fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 309fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 310fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewFile (xmlTextReaderPtr reader, 311fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *filename, 312fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 313fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 314fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 315fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewMemory (xmlTextReaderPtr reader, 316fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *buffer, 317fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int size, 318fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 319fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 320fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 321fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 322fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewFd (xmlTextReaderPtr reader, 323fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int fd, 324fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 325fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 326fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 327fc8dc355dac40605e66a7e8722db5077f03076f3Daniel VeillardXMLPUBFUN int XMLCALL 328fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlReaderNewIO (xmlTextReaderPtr reader, 329fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputReadCallback ioread, 330fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard xmlInputCloseCallback ioclose, 331fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard void *ioctx, 332fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *URL, 333fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard const char *encoding, 334fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard int options); 335fc8dc355dac40605e66a7e8722db5077f03076f3Daniel Veillard/* 33626f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard * Error handling extensions 33726f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard */ 338417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillardtypedef void * xmlTextReaderLocatorPtr; 33918a88ce2f4bf7fd107d62bcd5724658306e08cb2Igor Zlatkovictypedef void (XMLCALL *xmlTextReaderErrorFunc) (void *arg, 34026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard const char *msg, 341417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard xmlParserSeverities severity, 342417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard xmlTextReaderLocatorPtr locator); 343aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 344aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); 345417be3ae08346c6510c28d2042dd42a22a74b331Daniel Veillard/*int xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/ 346aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 347aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); 348aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 349aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, 35026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard xmlTextReaderErrorFunc f, 35126f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard void *arg); 35293d004f9d86662251153e2af6e233e974660be78William M. BrackXMLPUBFUN void XMLCALL 35393d004f9d86662251153e2af6e233e974660be78William M. Brack xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, 35493d004f9d86662251153e2af6e233e974660be78William M. Brack xmlStructuredErrorFunc f, 35593d004f9d86662251153e2af6e233e974660be78William M. Brack void *arg); 356aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 357aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, 35826f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard xmlTextReaderErrorFunc *f, 35926f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard void **arg); 36026f70269c80140a7fb8a7aae9ef09c95efa98e70Daniel Veillard 361e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 362e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard} 363e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 364a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard 365a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#endif /* LIBXML_READER_ENABLED */ 366a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard 367e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */ 368e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 369