blob: ac3737cd84d97b456d0b3d68cd1fdb271192dc9e [file] [log] [blame]
Daniel Veillarde1ca5032002-12-09 14:13:43 +00001/*
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 struct _xmlTextReader xmlTextReader;
20typedef xmlTextReader *xmlTextReaderPtr;
21
22/*
23 * Constructors & Destructor
24 */
25xmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input);
26xmlTextReaderPtr xmlNewTextReaderFilename(const char *URI);
27void xmlFreeTextReader (xmlTextReaderPtr reader);
28
29/*
30 * Iterators
31 */
32int xmlTextReaderRead (xmlTextReaderPtr reader);
33
34/*
35 * Attributes of the node
36 */
37int xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
38xmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader);
39int xmlTextReaderDepth (xmlTextReaderPtr reader);
40int xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
41int xmlTextReaderHasValue(xmlTextReaderPtr reader);
42int xmlTextReaderIsDefault (xmlTextReaderPtr reader);
43int xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
44xmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader);
45xmlChar * xmlTextReaderName (xmlTextReaderPtr reader);
46xmlChar * xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
47int xmlTextReaderNodeType (xmlTextReaderPtr reader);
48xmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader);
49int xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
50xmlChar * xmlTextReaderValue (xmlTextReaderPtr reader);
51xmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader);
Daniel Veillard0eb38c72002-12-14 23:00:35 +000052
53/*
54 * Methods of the XmlTextReader
55 */
56int xmlTextReaderClose (xmlTextReaderPtr reader);
57xmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
58 int no);
59xmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
60 const xmlChar *name);
61xmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
62 const xmlChar *localName,
63 const xmlChar *namespaceURI);
Daniel Veillardda46d2d2002-12-15 23:36:49 +000064xmlParserInputBufferPtr xmlTextReaderGetRemainder(xmlTextReaderPtr reader);
65xmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader,
66 const xmlChar *prefix);
67int xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader,
68 int no);
69int xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader,
70 const xmlChar *name);
71int xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader,
72 const xmlChar *localName,
73 const xmlChar *namespaceURI);
74int xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
75int xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
76int xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
77
Daniel Veillarde1ca5032002-12-09 14:13:43 +000078#ifdef __cplusplus
79}
80#endif
81#endif /* __XML_XMLREADER_H__ */
82