ReactOS 0.4.15-dev-7953-g1f49173
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
23extern "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 */
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);
70 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
71 const char *format, ...)
74 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
75 const char *format,
76 va_list argptr)
78 XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
79 writer,
81 content);
82
83/*
84 * Elements
85 */
87 xmlTextWriterStartElement(xmlTextWriterPtr writer,
89 XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
90 writer,
92 prefix,
95 namespaceURI);
96 XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
97 XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
98 writer);
99
100/*
101 * Elements conveniency functions
102 */
104 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
106 const char *format, ...)
109 xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
111 const char *format,
112 va_list argptr)
114 XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
115 writer,
117 const xmlChar *
118 content);
120 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
121 const xmlChar * prefix,
123 const xmlChar * namespaceURI,
124 const char *format, ...)
127 xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
128 const xmlChar * prefix,
130 const xmlChar * namespaceURI,
131 const char *format,
132 va_list argptr)
134 XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
135 writer,
136 const xmlChar *
137 prefix,
139 const xmlChar *
140 namespaceURI,
141 const xmlChar *
142 content);
143
144/*
145 * Text
146 */
148 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
149 const char *format, ...)
152 xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
153 const char *format, va_list argptr)
156 xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
157 const xmlChar * content, int len);
159 xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
161 XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
162 writer,
163 const char
164 *format, ...)
166 XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
167 writer,
168 const char
169 *format,
170 va_list argptr)
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 */
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 */
203 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
205 const char *format, ...)
208 xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
210 const char *format,
211 va_list argptr)
213 XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
214 writer,
216 const xmlChar *
217 content);
219 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
220 const xmlChar * prefix,
222 const xmlChar * namespaceURI,
223 const char *format, ...)
226 xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
227 const xmlChar * prefix,
229 const xmlChar * namespaceURI,
230 const char *format,
231 va_list argptr)
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 */
248 xmlTextWriterStartPI(xmlTextWriterPtr writer,
250 XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
251
252/*
253 * PI conveniency functions
254 */
256 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
258 const char *format, ...)
261 xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
263 const char *format, va_list argptr)
266 xmlTextWriterWritePI(xmlTextWriterPtr writer,
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 */
287 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
288 const char *format, ...)
291 xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
292 const char *format, va_list argptr)
295 xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
297
298/*
299 * DTD
300 */
302 xmlTextWriterStartDTD(xmlTextWriterPtr writer,
304 const xmlChar * pubid,
305 const xmlChar * sysid);
306 XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
307
308/*
309 * DTD conveniency functions
310 */
312 xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
314 const xmlChar * pubid,
315 const xmlChar * sysid,
316 const char *format, ...)
319 xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
321 const xmlChar * pubid,
322 const xmlChar * sysid,
323 const char *format, va_list argptr)
326 xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
328 const xmlChar * pubid,
329 const xmlChar * sysid,
330 const xmlChar * subset);
331
337#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
338
339/*
340 * DTD element definition
341 */
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 */
352 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
353 const xmlChar * name,
354 const char *format, ...)
357 xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
359 const char *format,
360 va_list argptr)
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 */
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 */
382 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
384 const char *format, ...)
387 xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
389 const char *format,
390 va_list argptr)
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 */
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 */
412 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
413 int pe,
415 const char *format, ...)
418 xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
419 int pe,
421 const char *format,
422 va_list argptr)
425 xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
426 int pe,
430 xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
431 int pe,
433 const xmlChar * pubid,
434 const xmlChar * sysid,
435 const xmlChar * ndataid);
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,
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 */
459 xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
461 const xmlChar * pubid,
462 const xmlChar * sysid);
463
464/*
465 * Indentation
466 */
468 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
470 xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
471 const xmlChar * str);
472
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__ */
char * va_list
Definition: acmsvcex.h:78
_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:1365
content
Definition: atl_ax.c:994
static const WCHAR indent[]
Definition: object.c:1156
static const WCHAR version[]
Definition: asmname.c:66
#define XMLCALL
GLuint start
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLenum GLsizei len
Definition: glext.h:6722
GLenum target
Definition: glext.h:7315
const char * uri
Definition: sec_mgr.c:1588
static FILE * out
Definition: regtests2xml.c:44
const WCHAR * str
xmlOutputBuffer * xmlOutputBufferPtr
Definition: tree.h:32
Definition: tree.h:551
Definition: tree.h:489
Definition: name.c:39
Definition: dlist.c:348
#define XMLPUBFUN
Definition: xmlexports.h:61
static char * encoding
Definition: xmllint.c:155
unsigned char xmlChar
Definition: xmlstring.h:28
#define LIBXML_ATTR_FORMAT(fmt, args)
Definition: xmlversion.h:486
#define const
Definition: zconf.h:233