VirtualBox

source: vbox/trunk/src/libs/libxml2-2.13.2/include/libxml/xmlwriter.h

Last change on this file was 105420, checked in by vboxsync, 7 months ago

libxml2-2.12.6: Applied and adjusted our libxml2 changes to 2.12.6. bugref:10730

  • Property svn:eol-style set to native
File size: 20.2 KB
Line 
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 <[email protected]>
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
33 xmlNewTextWriter(xmlOutputBufferPtr out);
34 XMLPUBFUN xmlTextWriterPtr
35 xmlNewTextWriterFilename(const char *uri, int compression);
36 XMLPUBFUN xmlTextWriterPtr
37 xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
38 XMLPUBFUN xmlTextWriterPtr
39 xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
40 XMLPUBFUN xmlTextWriterPtr
41 xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
42 XMLPUBFUN xmlTextWriterPtr
43 xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
44 int compression);
45 XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer);
46
47/*
48 * Functions
49 */
50
51
52/*
53 * Document
54 */
55 XMLPUBFUN int
56 xmlTextWriterStartDocument(xmlTextWriterPtr writer,
57 const char *version,
58 const char *encoding,
59 const char *standalone);
60 XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr
61 writer);
62
63/*
64 * Comments
65 */
66 XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr
67 writer);
68 XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer);
69 XMLPUBFUN int
70 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
71 const char *format, ...)
72 LIBXML_ATTR_FORMAT(2,3);
73 XMLPUBFUN int
74 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
75 const char *format,
76 va_list argptr)
77 LIBXML_ATTR_FORMAT(2,0);
78 XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr
79 writer,
80 const xmlChar *
81 content);
82
83/*
84 * Elements
85 */
86 XMLPUBFUN int
87 xmlTextWriterStartElement(xmlTextWriterPtr writer,
88 const xmlChar * name);
89 XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr
90 writer,
91 const xmlChar *
92 prefix,
93 const xmlChar * name,
94 const xmlChar *
95 namespaceURI);
96 XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer);
97 XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr
98 writer);
99
100/*
101 * Elements conveniency functions
102 */
103 XMLPUBFUN int
104 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
105 const xmlChar * name,
106 const char *format, ...)
107 LIBXML_ATTR_FORMAT(3,4);
108 XMLPUBFUN int
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 xmlTextWriterWriteElement(xmlTextWriterPtr
115 writer,
116 const xmlChar * name,
117 const xmlChar *
118 content);
119 XMLPUBFUN int
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
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 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
148 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
149 const char *format, ...)
150 LIBXML_ATTR_FORMAT(2,3);
151 XMLPUBFUN int
152 xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
153 const char *format, va_list argptr)
154 LIBXML_ATTR_FORMAT(2,0);
155 XMLPUBFUN int
156 xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
157 const xmlChar * content, int len);
158 XMLPUBFUN int
159 xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
160 const xmlChar * content);
161 XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr
162 writer,
163 const char
164 *format, ...)
165 LIBXML_ATTR_FORMAT(2,3);
166 XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr
167 writer,
168 const char
169 *format,
170 va_list argptr)
171 LIBXML_ATTR_FORMAT(2,0);
172 XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer,
173 const xmlChar *
174 content);
175 XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
176 const char *data,
177 int start, int len);
178 XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
179 const char *data,
180 int start, int len);
181
182/*
183 * Attributes
184 */
185 XMLPUBFUN int
186 xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
187 const xmlChar * name);
188 XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr
189 writer,
190 const xmlChar *
191 prefix,
192 const xmlChar *
193 name,
194 const xmlChar *
195 namespaceURI);
196 XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr
197 writer);
198
199/*
200 * Attributes conveniency functions
201 */
202 XMLPUBFUN int
203 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
204 const xmlChar * name,
205 const char *format, ...)
206 LIBXML_ATTR_FORMAT(3,4);
207 XMLPUBFUN int
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 xmlTextWriterWriteAttribute(xmlTextWriterPtr
214 writer,
215 const xmlChar * name,
216 const xmlChar *
217 content);
218 XMLPUBFUN int
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
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 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
248 xmlTextWriterStartPI(xmlTextWriterPtr writer,
249 const xmlChar * target);
250 XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer);
251
252/*
253 * PI conveniency functions
254 */
255 XMLPUBFUN int
256 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
257 const xmlChar * target,
258 const char *format, ...)
259 LIBXML_ATTR_FORMAT(3,4);
260 XMLPUBFUN int
261 xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
262 const xmlChar * target,
263 const char *format, va_list argptr)
264 LIBXML_ATTR_FORMAT(3,0);
265 XMLPUBFUN int
266 xmlTextWriterWritePI(xmlTextWriterPtr writer,
267 const xmlChar * target,
268 const xmlChar * content);
269
270/**
271 * xmlTextWriterWriteProcessingInstruction:
272 *
273 * This macro maps to xmlTextWriterWritePI
274 */
275#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
276
277/*
278 * CDATA
279 */
280 XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
281 XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
282
283/*
284 * CDATA conveniency functions
285 */
286 XMLPUBFUN int
287 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
288 const char *format, ...)
289 LIBXML_ATTR_FORMAT(2,3);
290 XMLPUBFUN int
291 xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
292 const char *format, va_list argptr)
293 LIBXML_ATTR_FORMAT(2,0);
294 XMLPUBFUN int
295 xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
296 const xmlChar * content);
297
298/*
299 * DTD
300 */
301 XMLPUBFUN int
302 xmlTextWriterStartDTD(xmlTextWriterPtr writer,
303 const xmlChar * name,
304 const xmlChar * pubid,
305 const xmlChar * sysid);
306 XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer);
307
308/*
309 * DTD conveniency functions
310 */
311 XMLPUBFUN int
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
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
326 xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
327 const xmlChar * name,
328 const xmlChar * pubid,
329 const xmlChar * sysid,
330 const xmlChar * subset);
331
332/**
333 * xmlTextWriterWriteDocType:
334 *
335 * this macro maps to xmlTextWriterWriteDTD
336 */
337#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
338
339/*
340 * DTD element definition
341 */
342 XMLPUBFUN int
343 xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
344 const xmlChar * name);
345 XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr
346 writer);
347
348/*
349 * DTD element definition conveniency functions
350 */
351 XMLPUBFUN int
352 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
353 const xmlChar * name,
354 const char *format, ...)
355 LIBXML_ATTR_FORMAT(3,4);
356 XMLPUBFUN int
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 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
373 xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
374 const xmlChar * name);
375 XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
376 writer);
377
378/*
379 * DTD attribute list definition conveniency functions
380 */
381 XMLPUBFUN int
382 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
383 const xmlChar * name,
384 const char *format, ...)
385 LIBXML_ATTR_FORMAT(3,4);
386 XMLPUBFUN int
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 xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
393 writer,
394 const xmlChar *
395 name,
396 const xmlChar *
397 content);
398
399/*
400 * DTD entity definition
401 */
402 XMLPUBFUN int
403 xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
404 int pe, const xmlChar * name);
405 XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr
406 writer);
407
408/*
409 * DTD entity definition conveniency functions
410 */
411 XMLPUBFUN int
412 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
413 int pe,
414 const xmlChar * name,
415 const char *format, ...)
416 LIBXML_ATTR_FORMAT(4,5);
417 XMLPUBFUN int
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
425 xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
426 int pe,
427 const xmlChar * name,
428 const xmlChar * content);
429 XMLPUBFUN int
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
437 xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
438 writer,
439 const xmlChar * pubid,
440 const xmlChar * sysid,
441 const xmlChar *
442 ndataid);
443 XMLPUBFUN int 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
459 xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
460 const xmlChar * name,
461 const xmlChar * pubid,
462 const xmlChar * sysid);
463
464/*
465 * Indentation
466 */
467 XMLPUBFUN int
468 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
469 XMLPUBFUN int
470 xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
471 const xmlChar * str);
472
473 XMLPUBFUN int
474 xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
475
476
477/*
478 * misc
479 */
480 XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer);
481 XMLPUBFUN int xmlTextWriterClose(xmlTextWriterPtr writer);
482
483#ifdef __cplusplus
484}
485#endif
486
487#endif /* LIBXML_WRITER_ENABLED */
488
489#endif /* __XML_XMLWRITER_H__ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette