xmlreader.h revision 67df809c3a439bcbe258bca6b60144c8a7a0f18c
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 19e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef struct _xmlTextReader xmlTextReader; 20e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardtypedef xmlTextReader *xmlTextReaderPtr; 21e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 22e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 23e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Constructors & Destructor 24e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 25e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input); 26e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlTextReaderPtr xmlNewTextReaderFilename(const char *URI); 27e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardvoid xmlFreeTextReader (xmlTextReaderPtr reader); 28e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 29e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 30e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Iterators 31e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 32e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderRead (xmlTextReaderPtr reader); 3367df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); 3467df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); 3567df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel VeillardxmlChar * xmlTextReaderReadString (xmlTextReaderPtr reader); 36e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 37e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard/* 38e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard * Attributes of the node 39e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard */ 40e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderAttributeCount(xmlTextReaderPtr reader); 41e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader); 42e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderDepth (xmlTextReaderPtr reader); 43e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderHasAttributes(xmlTextReaderPtr reader); 44e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderHasValue(xmlTextReaderPtr reader); 45e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderIsDefault (xmlTextReaderPtr reader); 46e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); 47e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader); 48e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderName (xmlTextReaderPtr reader); 49e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); 50e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderNodeType (xmlTextReaderPtr reader); 51e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader); 52e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillardint xmlTextReaderQuoteChar (xmlTextReaderPtr reader); 53e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderValue (xmlTextReaderPtr reader); 54e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel VeillardxmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader); 5567df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel Veillardint xmlTextReaderReadState (xmlTextReaderPtr reader); 560eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard 570eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard/* 580eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard * Methods of the XmlTextReader 590eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard */ 600eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillardint xmlTextReaderClose (xmlTextReaderPtr reader); 610eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, 620eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard int no); 630eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader, 640eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *name); 650eb38c7259b04de809f7bc880688f468ac7a15bfDaniel VeillardxmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, 660eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *localName, 670eb38c7259b04de809f7bc880688f468ac7a15bfDaniel Veillard const xmlChar *namespaceURI); 68da46d2d31e49503b087874cc987045dd09169d26Daniel VeillardxmlParserInputBufferPtr xmlTextReaderGetRemainder(xmlTextReaderPtr reader); 69da46d2d31e49503b087874cc987045dd09169d26Daniel VeillardxmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader, 70da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *prefix); 71da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader, 72da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard int no); 73da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader, 74da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *name); 75da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader, 76da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *localName, 77da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard const xmlChar *namespaceURI); 78da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); 79da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); 80da46d2d31e49503b087874cc987045dd09169d26Daniel Veillardint xmlTextReaderMoveToElement (xmlTextReaderPtr reader); 8167df809c3a439bcbe258bca6b60144c8a7a0f18cDaniel Veillardint xmlTextReaderNormalization (xmlTextReaderPtr reader); 82da46d2d31e49503b087874cc987045dd09169d26Daniel Veillard 83e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#ifdef __cplusplus 84e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard} 85e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif 86e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard#endif /* __XML_XMLREADER_H__ */ 87e1ca50330b59d32b228ad9c05a874a96cef9748fDaniel Veillard 88