xmlreader.h revision e18fc185fa2604ba73f2b259e34796c106ad5545
1e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 2e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * xmlreader.h : Interfaces, constants and types of the XML streaming API. 3e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * 4e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * See Copyright for the status of this software. 5e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * 6e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * daniel@veillard.com 7e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 8e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 9e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifndef __XML_XMLREADER_H__ 10e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#define __XML_XMLREADER_H__ 11e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 12e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/tree.h> 13e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#include <libxml/xmlIO.h> 14e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 15e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 16e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardextern "C" { 17e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 18e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 19beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardtypedef enum { 20beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard XML_PARSER_LOADDTD = 1, 21e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_DEFAULTATTRS = 2, 22e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_VALIDATE = 3, 23e18fc185fa2604ba73f2b259e34796c106ad5545Daniel Veillard XML_PARSER_SUBST_ENTITIES = 4 24beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard} xmlParserProperties; 25beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard 26e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef struct _xmlTextReader xmlTextReader; 27e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef xmlTextReader *xmlTextReaderPtr; 28e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 29e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 30e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Constructors & Destructor 31e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 32ea7751d53bf497e873dca39b2c305e300e2574f9Daniel VeillardxmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input, 33ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard const char *URI); 34e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlTextReaderPtr xmlNewTextReaderFilename(const char *URI); 35e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardvoid xmlFreeTextReader (xmlTextReaderPtr reader); 36e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 37e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 38e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Iterators 39e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 40e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderRead (xmlTextReaderPtr reader); 4167df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); 4267df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); 4367df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadString (xmlTextReaderPtr reader); 44beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardint xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader); 45e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 46e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 47e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Attributes of the node 48e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 49e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderAttributeCount(xmlTextReaderPtr reader); 50e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader); 51e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderDepth (xmlTextReaderPtr reader); 52e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderHasAttributes(xmlTextReaderPtr reader); 53e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderHasValue(xmlTextReaderPtr reader); 54e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderIsDefault (xmlTextReaderPtr reader); 55e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); 56e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader); 57e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderName (xmlTextReaderPtr reader); 58e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); 59e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderNodeType (xmlTextReaderPtr reader); 60e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader); 61e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderQuoteChar (xmlTextReaderPtr reader); 62e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderValue (xmlTextReaderPtr reader); 63e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader); 6467df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel Veillardint xmlTextReaderReadState (xmlTextReaderPtr reader); 650eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard 660eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/* 670eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader 680eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */ 690eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillardint xmlTextReaderClose (xmlTextReaderPtr reader); 700eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, 710eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard int no); 720eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader, 730eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *name); 740eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, 750eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *localName, 760eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *namespaceURI); 77da46d2d31e49503b087874cc987045dd09169d26Daniel VeillardxmlParserInputBufferPtr xmlTextReaderGetRemainder(xmlTextReaderPtr reader); 78da46d2d31e49503b087874cc987045dd09169d26Daniel VeillardxmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader, 79da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *prefix); 80da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader, 81da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard int no); 82da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader, 83da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *name); 84da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader, 85da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *localName, 86da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *namespaceURI); 87da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); 88da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); 89da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToElement (xmlTextReaderPtr reader); 9067df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel Veillardint xmlTextReaderNormalization (xmlTextReaderPtr reader); 91da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard 92beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard/* 93beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard * Extensions 94beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard */ 95beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardint xmlTextReaderSetParserProp (xmlTextReaderPtr reader, 96beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop, 97beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int value); 98beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillardint xmlTextReaderGetParserProp (xmlTextReaderPtr reader, 99beb70bd39b74c8146c184857792730b139e7e16bDaniel Veillard int prop); 100e18fc185fa2604ba73f2b259e34796c106ad5545Daniel VeillardxmlNodePtr xmlTextReaderCurrentNode (xmlTextReaderPtr reader); 101e18fc185fa2604ba73f2b259e34796c106ad5545Daniel VeillardxmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); 102e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 103e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard} 104e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 105e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */ 106e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 107