• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gettext-tools/gnulib-lib/libxml/
1/*
2 * Summary: the XMLReader implementation
3 * Description: API of the XML streaming API based on C# interfaces.
4 *
5 * Copy: See Copyright for the status of this software.
6 *
7 * Author: Daniel Veillard
8 */
9
10#ifndef __XML_XMLREADER_H__
11#define __XML_XMLREADER_H__
12
13#include <libxml/xmlversion.h>
14#include <libxml/tree.h>
15#include <libxml/xmlIO.h>
16#ifdef LIBXML_SCHEMAS_ENABLED
17#include <libxml/relaxng.h>
18#include <libxml/xmlschemas.h>
19#endif
20
21#ifdef LIBXML_READER_ENABLED
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/**
28 * xmlTextReaderMode:
29 *
30 * Internal state values for the reader.
31 */
32typedef enum {
33    XML_TEXTREADER_MODE_INITIAL = 0,
34    XML_TEXTREADER_MODE_INTERACTIVE = 1,
35    XML_TEXTREADER_MODE_ERROR = 2,
36    XML_TEXTREADER_MODE_EOF =3,
37    XML_TEXTREADER_MODE_CLOSED = 4,
38    XML_TEXTREADER_MODE_READING = 5
39} xmlTextReaderMode;
40
41/**
42 * xmlParserProperties:
43 *
44 * Some common options to use with xmlTextReaderSetParserProp, but it
45 * is better to use xmlParserOption and the xmlReaderNewxxx and
46 * xmlReaderForxxx APIs now.
47 */
48typedef enum {
49    XML_PARSER_LOADDTD = 1,
50    XML_PARSER_DEFAULTATTRS = 2,
51    XML_PARSER_VALIDATE = 3,
52    XML_PARSER_SUBST_ENTITIES = 4
53} xmlParserProperties;
54
55/**
56 * xmlParserSeverities:
57 *
58 * How severe an error callback is when the per-reader error callback API
59 * is used.
60 */
61typedef enum {
62    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
63    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
64    XML_PARSER_SEVERITY_WARNING = 3,
65    XML_PARSER_SEVERITY_ERROR = 4
66} xmlParserSeverities;
67
68/**
69 * xmlReaderTypes:
70 *
71 * Predefined constants for the different types of nodes.
72 */
73typedef enum {
74    XML_READER_TYPE_NONE = 0,
75    XML_READER_TYPE_ELEMENT = 1,
76    XML_READER_TYPE_ATTRIBUTE = 2,
77    XML_READER_TYPE_TEXT = 3,
78    XML_READER_TYPE_CDATA = 4,
79    XML_READER_TYPE_ENTITY_REFERENCE = 5,
80    XML_READER_TYPE_ENTITY = 6,
81    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
82    XML_READER_TYPE_COMMENT = 8,
83    XML_READER_TYPE_DOCUMENT = 9,
84    XML_READER_TYPE_DOCUMENT_TYPE = 10,
85    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
86    XML_READER_TYPE_NOTATION = 12,
87    XML_READER_TYPE_WHITESPACE = 13,
88    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
89    XML_READER_TYPE_END_ELEMENT = 15,
90    XML_READER_TYPE_END_ENTITY = 16,
91    XML_READER_TYPE_XML_DECLARATION = 17
92} xmlReaderTypes;
93
94/**
95 * xmlTextReader:
96 *
97 * Structure for an xmlReader context.
98 */
99typedef struct _xmlTextReader xmlTextReader;
100
101/**
102 * xmlTextReaderPtr:
103 *
104 * Pointer to an xmlReader context.
105 */
106typedef xmlTextReader *xmlTextReaderPtr;
107
108/*
109 * Constructors & Destructor
110 */
111XMLPUBFUN xmlTextReaderPtr XMLCALL
112			xmlNewTextReader	(xmlParserInputBufferPtr input,
113	                                         const char *URI);
114XMLPUBFUN xmlTextReaderPtr XMLCALL
115			xmlNewTextReaderFilename(const char *URI);
116XMLPUBFUN void XMLCALL
117			xmlFreeTextReader	(xmlTextReaderPtr reader);
118
119/*
120 * Iterators
121 */
122XMLPUBFUN int XMLCALL
123			xmlTextReaderRead	(xmlTextReaderPtr reader);
124
125#ifdef LIBXML_WRITER_ENABLED
126XMLPUBFUN xmlChar * XMLCALL
127			xmlTextReaderReadInnerXml	(xmlTextReaderPtr reader);
128
129XMLPUBFUN xmlChar * XMLCALL
130			xmlTextReaderReadOuterXml	(xmlTextReaderPtr reader);
131#endif
132
133XMLPUBFUN xmlChar * XMLCALL
134			xmlTextReaderReadString		(xmlTextReaderPtr reader);
135XMLPUBFUN int XMLCALL
136			xmlTextReaderReadAttributeValue	(xmlTextReaderPtr reader);
137
138/*
139 * Attributes of the node
140 */
141XMLPUBFUN int XMLCALL
142			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
143XMLPUBFUN int XMLCALL
144			xmlTextReaderDepth	(xmlTextReaderPtr reader);
145XMLPUBFUN int XMLCALL
146			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
147XMLPUBFUN int XMLCALL
148			xmlTextReaderHasValue(xmlTextReaderPtr reader);
149XMLPUBFUN int XMLCALL
150			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
151XMLPUBFUN int XMLCALL
152			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
153XMLPUBFUN int XMLCALL
154			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
155XMLPUBFUN int XMLCALL
156			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
157XMLPUBFUN int XMLCALL
158			xmlTextReaderReadState	(xmlTextReaderPtr reader);
159XMLPUBFUN int XMLCALL
160                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
161
162XMLPUBFUN const xmlChar * XMLCALL
163		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
164XMLPUBFUN const xmlChar * XMLCALL
165		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
166XMLPUBFUN const xmlChar * XMLCALL
167		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
168XMLPUBFUN const xmlChar * XMLCALL
169		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
170XMLPUBFUN const xmlChar * XMLCALL
171		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
172XMLPUBFUN const xmlChar * XMLCALL
173		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
174XMLPUBFUN const xmlChar * XMLCALL
175		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
176		    				 const xmlChar *str);
177XMLPUBFUN const xmlChar * XMLCALL
178		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);
179
180/*
181 * use the Const version of the routine for
182 * better performance and simpler code
183 */
184XMLPUBFUN xmlChar * XMLCALL
185			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
186XMLPUBFUN xmlChar * XMLCALL
187			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
188XMLPUBFUN xmlChar * XMLCALL
189			xmlTextReaderName	(xmlTextReaderPtr reader);
190XMLPUBFUN xmlChar * XMLCALL
191			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
192XMLPUBFUN xmlChar * XMLCALL
193			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
194XMLPUBFUN xmlChar * XMLCALL
195			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
196XMLPUBFUN xmlChar * XMLCALL
197			xmlTextReaderValue	(xmlTextReaderPtr reader);
198
199/*
200 * Methods of the XmlTextReader
201 */
202XMLPUBFUN int XMLCALL
203		    xmlTextReaderClose		(xmlTextReaderPtr reader);
204XMLPUBFUN xmlChar * XMLCALL
205		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
206						 int no);
207XMLPUBFUN xmlChar * XMLCALL
208		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
209						 const xmlChar *name);
210XMLPUBFUN xmlChar * XMLCALL
211		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
212						 const xmlChar *localName,
213						 const xmlChar *namespaceURI);
214XMLPUBFUN xmlParserInputBufferPtr XMLCALL
215		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
216XMLPUBFUN xmlChar * XMLCALL
217		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
218						 const xmlChar *prefix);
219XMLPUBFUN int XMLCALL
220		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
221						 int no);
222XMLPUBFUN int XMLCALL
223		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
224						 const xmlChar *name);
225XMLPUBFUN int XMLCALL
226		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
227						 const xmlChar *localName,
228						 const xmlChar *namespaceURI);
229XMLPUBFUN int XMLCALL
230		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
231XMLPUBFUN int XMLCALL
232		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
233XMLPUBFUN int XMLCALL
234		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
235XMLPUBFUN int XMLCALL
236		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
237XMLPUBFUN const xmlChar * XMLCALL
238		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
239
240/*
241 * Extensions
242 */
243XMLPUBFUN int XMLCALL
244		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
245						 int prop,
246						 int value);
247XMLPUBFUN int XMLCALL
248		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
249						 int prop);
250XMLPUBFUN xmlNodePtr XMLCALL
251		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);
252
253XMLPUBFUN int XMLCALL
254            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
255
256XMLPUBFUN int XMLCALL
257            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
258
259XMLPUBFUN xmlNodePtr XMLCALL
260		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
261#ifdef LIBXML_PATTERN_ENABLED
262XMLPUBFUN int XMLCALL
263		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
264		    				 const xmlChar *pattern,
265						 const xmlChar **namespaces);
266#endif /* LIBXML_PATTERN_ENABLED */
267XMLPUBFUN xmlDocPtr XMLCALL
268		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
269XMLPUBFUN xmlNodePtr XMLCALL
270		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
271XMLPUBFUN int XMLCALL
272		    xmlTextReaderNext		(xmlTextReaderPtr reader);
273XMLPUBFUN int XMLCALL
274		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
275XMLPUBFUN int XMLCALL
276		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
277#ifdef LIBXML_SCHEMAS_ENABLED
278XMLPUBFUN int XMLCALL
279		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
280						 const char *rng);
281XMLPUBFUN int XMLCALL
282		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
283						 xmlRelaxNGPtr schema);
284XMLPUBFUN int XMLCALL
285		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
286		    				 const char *xsd);
287XMLPUBFUN int XMLCALL
288		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
289						 xmlSchemaValidCtxtPtr ctxt,
290						 int options);
291XMLPUBFUN int XMLCALL
292		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
293		    				 xmlSchemaPtr schema);
294#endif
295XMLPUBFUN const xmlChar * XMLCALL
296		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
297XMLPUBFUN int XMLCALL
298		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
299
300
301/*
302 * Index lookup
303 */
304XMLPUBFUN long XMLCALL
305		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);
306
307/*
308 * New more complete APIs for simpler creation and reuse of readers
309 */
310XMLPUBFUN xmlTextReaderPtr XMLCALL
311		xmlReaderWalker		(xmlDocPtr doc);
312XMLPUBFUN xmlTextReaderPtr XMLCALL
313		xmlReaderForDoc		(const xmlChar * cur,
314					 const char *URL,
315					 const char *encoding,
316					 int options);
317XMLPUBFUN xmlTextReaderPtr XMLCALL
318		xmlReaderForFile	(const char *filename,
319					 const char *encoding,
320					 int options);
321XMLPUBFUN xmlTextReaderPtr XMLCALL
322		xmlReaderForMemory	(const char *buffer,
323					 int size,
324					 const char *URL,
325					 const char *encoding,
326					 int options);
327XMLPUBFUN xmlTextReaderPtr XMLCALL
328		xmlReaderForFd		(int fd,
329					 const char *URL,
330					 const char *encoding,
331					 int options);
332XMLPUBFUN xmlTextReaderPtr XMLCALL
333		xmlReaderForIO		(xmlInputReadCallback ioread,
334					 xmlInputCloseCallback ioclose,
335					 void *ioctx,
336					 const char *URL,
337					 const char *encoding,
338					 int options);
339
340XMLPUBFUN int XMLCALL
341		xmlReaderNewWalker	(xmlTextReaderPtr reader,
342					 xmlDocPtr doc);
343XMLPUBFUN int XMLCALL
344		xmlReaderNewDoc		(xmlTextReaderPtr reader,
345					 const xmlChar * cur,
346					 const char *URL,
347					 const char *encoding,
348					 int options);
349XMLPUBFUN int XMLCALL
350		xmlReaderNewFile	(xmlTextReaderPtr reader,
351					 const char *filename,
352					 const char *encoding,
353					 int options);
354XMLPUBFUN int XMLCALL
355		xmlReaderNewMemory	(xmlTextReaderPtr reader,
356					 const char *buffer,
357					 int size,
358					 const char *URL,
359					 const char *encoding,
360					 int options);
361XMLPUBFUN int XMLCALL
362		xmlReaderNewFd		(xmlTextReaderPtr reader,
363					 int fd,
364					 const char *URL,
365					 const char *encoding,
366					 int options);
367XMLPUBFUN int XMLCALL
368		xmlReaderNewIO		(xmlTextReaderPtr reader,
369					 xmlInputReadCallback ioread,
370					 xmlInputCloseCallback ioclose,
371					 void *ioctx,
372					 const char *URL,
373					 const char *encoding,
374					 int options);
375/*
376 * Error handling extensions
377 */
378typedef void *  xmlTextReaderLocatorPtr;
379typedef void   (XMLCALL *xmlTextReaderErrorFunc)        (void *arg,
380						 const char *msg,
381						 xmlParserSeverities severity,
382						 xmlTextReaderLocatorPtr locator);
383XMLPUBFUN int XMLCALL
384		    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
385/*int             xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
386XMLPUBFUN xmlChar * XMLCALL
387		    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
388XMLPUBFUN void XMLCALL
389		    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
390						 xmlTextReaderErrorFunc f,
391						 void *arg);
392XMLPUBFUN void XMLCALL
393		    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
394							   xmlStructuredErrorFunc f,
395							   void *arg);
396XMLPUBFUN void XMLCALL
397		    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
398						 xmlTextReaderErrorFunc *f,
399						 void **arg);
400
401#ifdef __cplusplus
402}
403#endif
404
405#endif /* LIBXML_READER_ENABLED */
406
407#endif /* __XML_XMLREADER_H__ */
408
409