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