3
* Summary: text writing API for XML
4
* Description: text writing API for XML
6
* Copy: See Copyright for the status of this software.
8
* Author: Alfred Mickautsch <alfred@mickautsch.de>
11
#ifndef __XML_XMLWRITER_H__
12
#define __XML_XMLWRITER_H__
14
#include <libxml/xmlversion.h>
16
#ifdef LIBXML_WRITER_ENABLED
19
#include <libxml/xmlIO.h>
20
#include <libxml/list.h>
21
#include <libxml/xmlstring.h>
27
typedef struct _xmlTextWriter xmlTextWriter;
28
typedef xmlTextWriter *xmlTextWriterPtr;
31
* Constructors & Destructor
33
XMLPUBFUN xmlTextWriterPtr XMLCALL
34
xmlNewTextWriter(xmlOutputBufferPtr out);
35
XMLPUBFUN xmlTextWriterPtr XMLCALL
36
xmlNewTextWriterFilename(const char *uri, int compression);
37
XMLPUBFUN xmlTextWriterPtr XMLCALL
38
xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
39
XMLPUBFUN xmlTextWriterPtr XMLCALL
40
xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
41
XMLPUBFUN xmlTextWriterPtr XMLCALL
42
xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
43
XMLPUBFUN xmlTextWriterPtr XMLCALL
44
xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
46
XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
57
xmlTextWriterStartDocument(xmlTextWriterPtr writer,
60
const char *standalone);
61
XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
67
XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
69
XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
71
xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
72
const char *format, ...);
74
xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
77
XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
86
xmlTextWriterStartElement(xmlTextWriterPtr writer,
87
const xmlChar * name);
88
XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
95
XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
96
XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
100
* Elements conveniency functions
102
XMLPUBFUN int XMLCALL
103
xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
104
const xmlChar * name,
105
const char *format, ...);
106
XMLPUBFUN int XMLCALL
107
xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
108
const xmlChar * name,
111
XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
113
const xmlChar * name,
116
XMLPUBFUN int XMLCALL
117
xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
118
const xmlChar * prefix,
119
const xmlChar * name,
120
const xmlChar * namespaceURI,
121
const char *format, ...);
122
XMLPUBFUN int XMLCALL
123
xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
124
const xmlChar * prefix,
125
const xmlChar * name,
126
const xmlChar * namespaceURI,
129
XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
133
const xmlChar * name,
142
XMLPUBFUN int XMLCALL
143
xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
144
const char *format, ...);
145
XMLPUBFUN int XMLCALL
146
xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
147
const char *format, va_list argptr);
148
XMLPUBFUN int XMLCALL
149
xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
150
const xmlChar * content, int len);
151
XMLPUBFUN int XMLCALL
152
xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
153
const xmlChar * content);
154
XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
158
XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
163
XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
166
XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
169
XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
176
XMLPUBFUN int XMLCALL
177
xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
178
const xmlChar * name);
179
XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
187
XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
191
* Attributes conveniency functions
193
XMLPUBFUN int XMLCALL
194
xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
195
const xmlChar * name,
196
const char *format, ...);
197
XMLPUBFUN int XMLCALL
198
xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
199
const xmlChar * name,
202
XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
204
const xmlChar * name,
207
XMLPUBFUN int XMLCALL
208
xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
209
const xmlChar * prefix,
210
const xmlChar * name,
211
const xmlChar * namespaceURI,
212
const char *format, ...);
213
XMLPUBFUN int XMLCALL
214
xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
215
const xmlChar * prefix,
216
const xmlChar * name,
217
const xmlChar * namespaceURI,
220
XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
234
XMLPUBFUN int XMLCALL
235
xmlTextWriterStartPI(xmlTextWriterPtr writer,
236
const xmlChar * target);
237
XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
240
* PI conveniency functions
242
XMLPUBFUN int XMLCALL
243
xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
244
const xmlChar * target,
245
const char *format, ...);
246
XMLPUBFUN int XMLCALL
247
xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
248
const xmlChar * target,
249
const char *format, va_list argptr);
250
XMLPUBFUN int XMLCALL
251
xmlTextWriterWritePI(xmlTextWriterPtr writer,
252
const xmlChar * target,
253
const xmlChar * content);
256
* xmlTextWriterWriteProcessingInstruction:
258
* This macro maps to xmlTextWriterWritePI
260
#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
265
XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
266
XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
269
* CDATA conveniency functions
271
XMLPUBFUN int XMLCALL
272
xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
273
const char *format, ...);
274
XMLPUBFUN int XMLCALL
275
xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
276
const char *format, va_list argptr);
277
XMLPUBFUN int XMLCALL
278
xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
279
const xmlChar * content);
284
XMLPUBFUN int XMLCALL
285
xmlTextWriterStartDTD(xmlTextWriterPtr writer,
286
const xmlChar * name,
287
const xmlChar * pubid,
288
const xmlChar * sysid);
289
XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
292
* DTD conveniency functions
294
XMLPUBFUN int XMLCALL
295
xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
296
const xmlChar * name,
297
const xmlChar * pubid,
298
const xmlChar * sysid,
299
const char *format, ...);
300
XMLPUBFUN int XMLCALL
301
xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
302
const xmlChar * name,
303
const xmlChar * pubid,
304
const xmlChar * sysid,
305
const char *format, va_list argptr);
306
XMLPUBFUN int XMLCALL
307
xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
308
const xmlChar * name,
309
const xmlChar * pubid,
310
const xmlChar * sysid,
311
const xmlChar * subset);
314
* xmlTextWriterWriteDocType:
316
* this macro maps to xmlTextWriterWriteDTD
318
#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
321
* DTD element definition
323
XMLPUBFUN int XMLCALL
324
xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
325
const xmlChar * name);
326
XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
330
* DTD element definition conveniency functions
332
XMLPUBFUN int XMLCALL
333
xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
334
const xmlChar * name,
335
const char *format, ...);
336
XMLPUBFUN int XMLCALL
337
xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
338
const xmlChar * name,
341
XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
349
* DTD attribute list definition
351
XMLPUBFUN int XMLCALL
352
xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
353
const xmlChar * name);
354
XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
358
* DTD attribute list definition conveniency functions
360
XMLPUBFUN int XMLCALL
361
xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
362
const xmlChar * name,
363
const char *format, ...);
364
XMLPUBFUN int XMLCALL
365
xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
366
const xmlChar * name,
369
XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
377
* DTD entity definition
379
XMLPUBFUN int XMLCALL
380
xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
381
int pe, const xmlChar * name);
382
XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
386
* DTD entity definition conveniency functions
388
XMLPUBFUN int XMLCALL
389
xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
391
const xmlChar * name,
392
const char *format, ...);
393
XMLPUBFUN int XMLCALL
394
xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
396
const xmlChar * name,
399
XMLPUBFUN int XMLCALL
400
xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
402
const xmlChar * name,
403
const xmlChar * content);
404
XMLPUBFUN int XMLCALL
405
xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
407
const xmlChar * name,
408
const xmlChar * pubid,
409
const xmlChar * sysid,
410
const xmlChar * ndataid);
411
XMLPUBFUN int XMLCALL
412
xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
414
const xmlChar * pubid,
415
const xmlChar * sysid,
418
XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
420
const xmlChar * name,
431
* DTD notation definition
433
XMLPUBFUN int XMLCALL
434
xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
435
const xmlChar * name,
436
const xmlChar * pubid,
437
const xmlChar * sysid);
442
XMLPUBFUN int XMLCALL
443
xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
444
XMLPUBFUN int XMLCALL
445
xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
446
const xmlChar * str);
451
XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
457
#endif /* LIBXML_WRITER_ENABLED */
459
#endif /* __XML_XMLWRITER_H__ */