xmlreader.h revision ea7751d53bf497e873dca39b2c305e300e2574f9
1/* 2 * xmlreader.h : Interfaces, constants and types of the XML streaming API. 3 * 4 * See Copyright for the status of this software. 5 * 6 * daniel@veillard.com 7 */ 8 9#ifndef __XML_XMLREADER_H__ 10#define __XML_XMLREADER_H__ 11 12#include <libxml/tree.h> 13#include <libxml/xmlIO.h> 14 15#ifdef __cplusplus 16extern "C" { 17#endif 18 19typedef enum { 20 XML_PARSER_LOADDTD = 1, 21 XML_PARSER_DEFAULTATTRS, 22 XML_PARSER_VALIDATE 23} xmlParserProperties; 24 25typedef struct _xmlTextReader xmlTextReader; 26typedef xmlTextReader *xmlTextReaderPtr; 27 28/* 29 * Constructors & Destructor 30 */ 31xmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input, 32 const char *URI); 33xmlTextReaderPtr xmlNewTextReaderFilename(const char *URI); 34void xmlFreeTextReader (xmlTextReaderPtr reader); 35 36/* 37 * Iterators 38 */ 39int xmlTextReaderRead (xmlTextReaderPtr reader); 40xmlChar * xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); 41xmlChar * xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); 42xmlChar * xmlTextReaderReadString (xmlTextReaderPtr reader); 43int xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader); 44 45/* 46 * Attributes of the node 47 */ 48int xmlTextReaderAttributeCount(xmlTextReaderPtr reader); 49xmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader); 50int xmlTextReaderDepth (xmlTextReaderPtr reader); 51int xmlTextReaderHasAttributes(xmlTextReaderPtr reader); 52int xmlTextReaderHasValue(xmlTextReaderPtr reader); 53int xmlTextReaderIsDefault (xmlTextReaderPtr reader); 54int xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); 55xmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader); 56xmlChar * xmlTextReaderName (xmlTextReaderPtr reader); 57xmlChar * xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); 58int xmlTextReaderNodeType (xmlTextReaderPtr reader); 59xmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader); 60int xmlTextReaderQuoteChar (xmlTextReaderPtr reader); 61xmlChar * xmlTextReaderValue (xmlTextReaderPtr reader); 62xmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader); 63int xmlTextReaderReadState (xmlTextReaderPtr reader); 64 65/* 66 * Methods of the XmlTextReader 67 */ 68int xmlTextReaderClose (xmlTextReaderPtr reader); 69xmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, 70 int no); 71xmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader, 72 const xmlChar *name); 73xmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, 74 const xmlChar *localName, 75 const xmlChar *namespaceURI); 76xmlParserInputBufferPtr xmlTextReaderGetRemainder(xmlTextReaderPtr reader); 77xmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader, 78 const xmlChar *prefix); 79int xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader, 80 int no); 81int xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader, 82 const xmlChar *name); 83int xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader, 84 const xmlChar *localName, 85 const xmlChar *namespaceURI); 86int xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); 87int xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); 88int xmlTextReaderMoveToElement (xmlTextReaderPtr reader); 89int xmlTextReaderNormalization (xmlTextReaderPtr reader); 90 91/* 92 * Extensions 93 */ 94int xmlTextReaderSetParserProp (xmlTextReaderPtr reader, 95 int prop, 96 int value); 97int xmlTextReaderGetParserProp (xmlTextReaderPtr reader, 98 int prop); 99#ifdef __cplusplus 100} 101#endif 102#endif /* __XML_XMLREADER_H__ */ 103 104