ReactOS  0.4.15-dev-1177-g6cb3b62
xmlwriter.h
Go to the documentation of this file.
1 /*
2  * Summary: text writing API for XML
3  * Description: text writing API for XML
4  *
5  * Copy: See Copyright for the status of this software.
6  *
7  * Author: Alfred Mickautsch <alfred@mickautsch.de>
8  */
9 
10 #ifndef __XML_XMLWRITER_H__
11 #define __XML_XMLWRITER_H__
12 
13 #include <libxml/xmlversion.h>
14 
15 #ifdef LIBXML_WRITER_ENABLED
16 
17 #include <stdarg.h>
18 #include <libxml/xmlIO.h>
19 #include <libxml/list.h>
20 #include <libxml/xmlstring.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26  typedef struct _xmlTextWriter xmlTextWriter;
27  typedef xmlTextWriter *xmlTextWriterPtr;
28 
29 /*
30  * Constructors & Destructor
31  */
32  XMLPUBFUN xmlTextWriterPtr XMLCALL
33  xmlNewTextWriter(xmlOutputBufferPtr out);
34  XMLPUBFUN xmlTextWriterPtr XMLCALL
35  xmlNewTextWriterFilename(const char *uri, int compression);
36  XMLPUBFUN xmlTextWriterPtr XMLCALL
37  xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
38  XMLPUBFUN xmlTextWriterPtr XMLCALL
39  xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
40  XMLPUBFUN xmlTextWriterPtr XMLCALL
41  xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
42  XMLPUBFUN xmlTextWriterPtr XMLCALL
43  xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
44  int compression);
45  XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
46 
47 /*
48  * Functions
49  */
50 
51 
52 /*
53  * Document
54  */
55  XMLPUBFUN int XMLCALL
56  xmlTextWriterStartDocument(xmlTextWriterPtr writer,
57  const char *version,
58  const char *encoding,
59  const char *standalone);
60  XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
61  writer);
62 
63 /*
64  * Comments
65  */
66  XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
67  writer);
68  XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
69  XMLPUBFUN int XMLCALL
70  xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
71  const char *format, ...)
72  LIBXML_ATTR_FORMAT(2,3);
73  XMLPUBFUN int XMLCALL
74  xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
75  const char *format,
76  va_list argptr)
77  LIBXML_ATTR_FORMAT(2,0);
78  XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
79  writer,
80  const xmlChar *
81  content);
82 
83 /*
84  * Elements
85  */
86  XMLPUBFUN int XMLCALL
87  xmlTextWriterStartElement(xmlTextWriterPtr writer,
88  const xmlChar * name);
89  XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
90  writer,
91  const xmlChar *
92  prefix,
93  const xmlChar * name,
94  const xmlChar *
95  namespaceURI);
96  XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
97  XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
98  writer);
99 
100 /*
101  * Elements conveniency functions
102  */
103  XMLPUBFUN int XMLCALL
104  xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
105  const xmlChar * name,
106  const char *format, ...)
107  LIBXML_ATTR_FORMAT(3,4);
108  XMLPUBFUN int XMLCALL
109  xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
110  const xmlChar * name,
111  const char *format,
112  va_list argptr)
113  LIBXML_ATTR_FORMAT(3,0);
114  XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
115  writer,
116  const xmlChar * name,
117  const xmlChar *
118  content);
119  XMLPUBFUN int XMLCALL
120  xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
121  const xmlChar * prefix,
122  const xmlChar * name,
123  const xmlChar * namespaceURI,
124  const char *format, ...)
125  LIBXML_ATTR_FORMAT(5,6);
126  XMLPUBFUN int XMLCALL
127  xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
128  const xmlChar * prefix,
129  const xmlChar * name,
130  const xmlChar * namespaceURI,
131  const char *format,
132  va_list argptr)
133  LIBXML_ATTR_FORMAT(5,0);
134  XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
135  writer,
136  const xmlChar *
137  prefix,
138  const xmlChar * name,
139  const xmlChar *
140  namespaceURI,
141  const xmlChar *
142  content);
143 
144 /*
145  * Text
146  */
147  XMLPUBFUN int XMLCALL
148  xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
149  const char *format, ...)
150  LIBXML_ATTR_FORMAT(2,3);
151  XMLPUBFUN int XMLCALL
152  xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
153  const char *format, va_list argptr)
154  LIBXML_ATTR_FORMAT(2,0);
155  XMLPUBFUN int XMLCALL
156  xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
157  const xmlChar * content, int len);
158  XMLPUBFUN int XMLCALL
159  xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
160  const xmlChar * content);
161  XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
162  writer,
163  const char
164  *format, ...)
165  LIBXML_ATTR_FORMAT(2,3);
166  XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
167  writer,
168  const char
169  *format,
170  va_list argptr)
171  LIBXML_ATTR_FORMAT(2,0);
172  XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
173  const xmlChar *
174  content);
175  XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
176  const char *data,
177  int start, int len);
178  XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
179  const char *data,
180  int start, int len);
181 
182 /*
183  * Attributes
184  */
185  XMLPUBFUN int XMLCALL
186  xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
187  const xmlChar * name);
188  XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
189  writer,
190  const xmlChar *
191  prefix,
192  const xmlChar *
193  name,
194  const xmlChar *
195  namespaceURI);
196  XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
197  writer);
198 
199 /*
200  * Attributes conveniency functions
201  */
202  XMLPUBFUN int XMLCALL
203  xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
204  const xmlChar * name,
205  const char *format, ...)
206  LIBXML_ATTR_FORMAT(3,4);
207  XMLPUBFUN int XMLCALL
208  xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
209  const xmlChar * name,
210  const char *format,
211  va_list argptr)
212  LIBXML_ATTR_FORMAT(3,0);
213  XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
214  writer,
215  const xmlChar * name,
216  const xmlChar *
217  content);
218  XMLPUBFUN int XMLCALL
219  xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
220  const xmlChar * prefix,
221  const xmlChar * name,
222  const xmlChar * namespaceURI,
223  const char *format, ...)
224  LIBXML_ATTR_FORMAT(5,6);
225  XMLPUBFUN int XMLCALL
226  xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
227  const xmlChar * prefix,
228  const xmlChar * name,
229  const xmlChar * namespaceURI,
230  const char *format,
231  va_list argptr)
232  LIBXML_ATTR_FORMAT(5,0);
233  XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
234  writer,
235  const xmlChar *
236  prefix,
237  const xmlChar *
238  name,
239  const xmlChar *
240  namespaceURI,
241  const xmlChar *
242  content);
243 
244 /*
245  * PI's
246  */
247  XMLPUBFUN int XMLCALL
248  xmlTextWriterStartPI(xmlTextWriterPtr writer,
249  const xmlChar * target);
250  XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
251 
252 /*
253  * PI conveniency functions
254  */
255  XMLPUBFUN int XMLCALL
256  xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
257  const xmlChar * target,
258  const char *format, ...)
259  LIBXML_ATTR_FORMAT(3,4);
260  XMLPUBFUN int XMLCALL
261  xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
262  const xmlChar * target,
263  const char *format, va_list argptr)
264  LIBXML_ATTR_FORMAT(3,0);
265  XMLPUBFUN int XMLCALL
266  xmlTextWriterWritePI(xmlTextWriterPtr writer,
267  const xmlChar * target,
268  const xmlChar * content);
269 
275 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
276 
277 /*
278  * CDATA
279  */
280  XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
281  XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
282 
283 /*
284  * CDATA conveniency functions
285  */
286  XMLPUBFUN int XMLCALL
287  xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
288  const char *format, ...)
289  LIBXML_ATTR_FORMAT(2,3);
290  XMLPUBFUN int XMLCALL
291  xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
292  const char *format, va_list argptr)
293  LIBXML_ATTR_FORMAT(2,0);
294  XMLPUBFUN int XMLCALL
295  xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
296  const xmlChar * content);
297 
298 /*
299  * DTD
300  */
301  XMLPUBFUN int XMLCALL
302  xmlTextWriterStartDTD(xmlTextWriterPtr writer,
303  const xmlChar * name,
304  const xmlChar * pubid,
305  const xmlChar * sysid);
306  XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
307 
308 /*
309  * DTD conveniency functions
310  */
311  XMLPUBFUN int XMLCALL
312  xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
313  const xmlChar * name,
314  const xmlChar * pubid,
315  const xmlChar * sysid,
316  const char *format, ...)
317  LIBXML_ATTR_FORMAT(5,6);
318  XMLPUBFUN int XMLCALL
319  xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
320  const xmlChar * name,
321  const xmlChar * pubid,
322  const xmlChar * sysid,
323  const char *format, va_list argptr)
324  LIBXML_ATTR_FORMAT(5,0);
325  XMLPUBFUN int XMLCALL
326  xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
327  const xmlChar * name,
328  const xmlChar * pubid,
329  const xmlChar * sysid,
330  const xmlChar * subset);
331 
337 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
338 
339 /*
340  * DTD element definition
341  */
342  XMLPUBFUN int XMLCALL
343  xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
344  const xmlChar * name);
345  XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
346  writer);
347 
348 /*
349  * DTD element definition conveniency functions
350  */
351  XMLPUBFUN int XMLCALL
352  xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
353  const xmlChar * name,
354  const char *format, ...)
355  LIBXML_ATTR_FORMAT(3,4);
356  XMLPUBFUN int XMLCALL
357  xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
358  const xmlChar * name,
359  const char *format,
360  va_list argptr)
361  LIBXML_ATTR_FORMAT(3,0);
362  XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
363  writer,
364  const xmlChar *
365  name,
366  const xmlChar *
367  content);
368 
369 /*
370  * DTD attribute list definition
371  */
372  XMLPUBFUN int XMLCALL
373  xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
374  const xmlChar * name);
375  XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
376  writer);
377 
378 /*
379  * DTD attribute list definition conveniency functions
380  */
381  XMLPUBFUN int XMLCALL
382  xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
383  const xmlChar * name,
384  const char *format, ...)
385  LIBXML_ATTR_FORMAT(3,4);
386  XMLPUBFUN int XMLCALL
387  xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
388  const xmlChar * name,
389  const char *format,
390  va_list argptr)
391  LIBXML_ATTR_FORMAT(3,0);
392  XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
393  writer,
394  const xmlChar *
395  name,
396  const xmlChar *
397  content);
398 
399 /*
400  * DTD entity definition
401  */
402  XMLPUBFUN int XMLCALL
403  xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
404  int pe, const xmlChar * name);
405  XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
406  writer);
407 
408 /*
409  * DTD entity definition conveniency functions
410  */
411  XMLPUBFUN int XMLCALL
412  xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
413  int pe,
414  const xmlChar * name,
415  const char *format, ...)
416  LIBXML_ATTR_FORMAT(4,5);
417  XMLPUBFUN int XMLCALL
418  xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
419  int pe,
420  const xmlChar * name,
421  const char *format,
422  va_list argptr)
423  LIBXML_ATTR_FORMAT(4,0);
424  XMLPUBFUN int XMLCALL
425  xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
426  int pe,
427  const xmlChar * name,
428  const xmlChar * content);
429  XMLPUBFUN int XMLCALL
430  xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
431  int pe,
432  const xmlChar * name,
433  const xmlChar * pubid,
434  const xmlChar * sysid,
435  const xmlChar * ndataid);
436  XMLPUBFUN int XMLCALL
437  xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
438  writer,
439  const xmlChar * pubid,
440  const xmlChar * sysid,
441  const xmlChar *
442  ndataid);
443  XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
444  writer, int pe,
445  const xmlChar * name,
446  const xmlChar *
447  pubid,
448  const xmlChar *
449  sysid,
450  const xmlChar *
451  ndataid,
452  const xmlChar *
453  content);
454 
455 /*
456  * DTD notation definition
457  */
458  XMLPUBFUN int XMLCALL
459  xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
460  const xmlChar * name,
461  const xmlChar * pubid,
462  const xmlChar * sysid);
463 
464 /*
465  * Indentation
466  */
467  XMLPUBFUN int XMLCALL
468  xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
469  XMLPUBFUN int XMLCALL
470  xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
471  const xmlChar * str);
472 
473  XMLPUBFUN int XMLCALL
474  xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
475 
476 
477 /*
478  * misc
479  */
480  XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
481 
482 #ifdef __cplusplus
483 }
484 #endif
485 
486 #endif /* LIBXML_WRITER_ENABLED */
487 
488 #endif /* __XML_XMLWRITER_H__ */
static const WCHAR indent[]
Definition: object.c:1156
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
const char * uri
Definition: sec_mgr.c:1588
#define XMLPUBFUN
Definition: xmlexports.h:30
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
xmlOutputBuffer * xmlOutputBufferPtr
Definition: tree.h:32
content
Definition: atl_ax.c:993
const WCHAR * str
static const WCHAR version[]
Definition: asmname.c:66
char * va_list
Definition: acmsvcex.h:78
#define LIBXML_ATTR_FORMAT(fmt, args)
Definition: xmlversion.h:477
static FILE * out
Definition: regtests2xml.c:44
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
Definition: tree.h:489
_In_ fcb _In_ chunk _In_ uint64_t _In_ uint64_t _In_ bool _In_opt_ void _In_opt_ PIRP _In_ LIST_ENTRY _In_ uint8_t compression
Definition: btrfs_drv.h:1357
unsigned char xmlChar
Definition: xmlstring.h:28
GLenum GLsizei len
Definition: glext.h:6722
ed encoding
Definition: write.c:2825
GLuint start
Definition: gl.h:1545
Definition: tree.h:551
#define XMLCALL
Definition: name.c:38
GLenum target
Definition: glext.h:7315
#define const
Definition: zconf.h:230
Definition: dlist.c:348