blob: dd5add341668c549aff41fead5a04c0e3fbdb97c [file] [log] [blame]
Daniel Veillard1d211e22003-10-20 22:32:39 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: text writing API for XML
3 * Description: text writing API for XML
Daniel Veillard1d211e22003-10-20 22:32:39 +00004 *
Daniel Veillardbe586972003-11-18 20:56:51 +00005 * Copy: See Copyright for the status of this software.
Daniel Veillard1d211e22003-10-20 22:32:39 +00006 *
Daniel Veillardbe586972003-11-18 20:56:51 +00007 * Author: Alfred Mickautsch <alfred@mickautsch.de>
Daniel Veillard1d211e22003-10-20 22:32:39 +00008 */
9
10#ifndef __XML_XMLWRITER_H__
11#define __XML_XMLWRITER_H__
12
Daniel Veillarda2351322004-06-27 12:08:10 +000013#include <libxml/xmlversion.h>
14
15#ifdef LIBXML_WRITER_ENABLED
16
Daniel Veillard5841f0e2003-11-20 11:59:09 +000017#include <stdarg.h>
Daniel Veillard1d211e22003-10-20 22:32:39 +000018#include <libxml/xmlIO.h>
19#include <libxml/list.h>
William M. Bracka2e844a2004-01-06 11:52:13 +000020#include <libxml/xmlstring.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
Daniel Veillard1d211e22003-10-20 22:32:39 +000025
Daniel Veillardab69f362004-02-17 11:40:32 +000026 typedef struct _xmlTextWriter xmlTextWriter;
27 typedef xmlTextWriter *xmlTextWriterPtr;
Daniel Veillard1d211e22003-10-20 22:32:39 +000028
29/*
30 * Constructors & Destructor
31 */
Daniel Veillardab69f362004-02-17 11:40:32 +000032 XMLPUBFUN xmlTextWriterPtr XMLCALL
33 xmlNewTextWriter(xmlOutputBufferPtr out);
34 XMLPUBFUN xmlTextWriterPtr XMLCALL
Daniel Veillard5841f0e2003-11-20 11:59:09 +000035 xmlNewTextWriterFilename(const char *uri, int compression);
Daniel Veillardab69f362004-02-17 11:40:32 +000036 XMLPUBFUN xmlTextWriterPtr XMLCALL
Daniel Veillard5841f0e2003-11-20 11:59:09 +000037 xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
Daniel Veillardab69f362004-02-17 11:40:32 +000038 XMLPUBFUN xmlTextWriterPtr XMLCALL
Daniel Veillard5841f0e2003-11-20 11:59:09 +000039 xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
Daniel Veillardab69f362004-02-17 11:40:32 +000040 XMLPUBFUN xmlTextWriterPtr XMLCALL
Daniel Veillard5841f0e2003-11-20 11:59:09 +000041 xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
Daniel Veillardab69f362004-02-17 11:40:32 +000042 XMLPUBFUN xmlTextWriterPtr XMLCALL
Daniel Veillard500a1de2004-03-22 15:22:58 +000043 xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
44 int compression);
Daniel Veillardab69f362004-02-17 11:40:32 +000045 XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +000046
47/*
48 * Functions
49 */
50
51
52/*
53 * Document
54 */
Daniel Veillardab69f362004-02-17 11:40:32 +000055 XMLPUBFUN int XMLCALL
56 xmlTextWriterStartDocument(xmlTextWriterPtr writer,
57 const char *version,
58 const char *encoding,
59 const char *standalone);
Daniel Veillard500a1de2004-03-22 15:22:58 +000060 XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
61 writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +000062
63/*
64 * Comments
65 */
Daniel Veillard500a1de2004-03-22 15:22:58 +000066 XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
67 writer);
Daniel Veillardab69f362004-02-17 11:40:32 +000068 XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
69 XMLPUBFUN int XMLCALL
70 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
Daniel Veillardf63085d2009-01-18 20:53:59 +000071 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +000072 LIBXML_ATTR_FORMAT(2,3);
Daniel Veillardab69f362004-02-17 11:40:32 +000073 XMLPUBFUN int XMLCALL
74 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
75 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +000076 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +000077 LIBXML_ATTR_FORMAT(2,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +000078 XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
79 writer,
80 const xmlChar *
81 content);
Daniel Veillard1d211e22003-10-20 22:32:39 +000082
83/*
84 * Elements
85 */
Daniel Veillardab69f362004-02-17 11:40:32 +000086 XMLPUBFUN int XMLCALL
87 xmlTextWriterStartElement(xmlTextWriterPtr writer,
88 const xmlChar * name);
Daniel Veillard500a1de2004-03-22 15:22:58 +000089 XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
90 writer,
91 const xmlChar *
92 prefix,
93 const xmlChar * name,
94 const xmlChar *
95 namespaceURI);
Daniel Veillard5841f0e2003-11-20 11:59:09 +000096 XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
Daniel Veillard500a1de2004-03-22 15:22:58 +000097 XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
98 writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +000099
100/*
101 * Elements conveniency functions
102 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000103 XMLPUBFUN int XMLCALL
104 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
105 const xmlChar * name,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000106 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000107 LIBXML_ATTR_FORMAT(3,4);
Daniel Veillardab69f362004-02-17 11:40:32 +0000108 XMLPUBFUN int XMLCALL
109 xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
110 const xmlChar * name,
111 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000112 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000113 LIBXML_ATTR_FORMAT(3,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000114 XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
115 writer,
116 const xmlChar * name,
117 const xmlChar *
118 content);
Daniel Veillardab69f362004-02-17 11:40:32 +0000119 XMLPUBFUN int XMLCALL
120 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
121 const xmlChar * prefix,
122 const xmlChar * name,
123 const xmlChar * namespaceURI,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000124 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000125 LIBXML_ATTR_FORMAT(5,6);
Daniel Veillardab69f362004-02-17 11:40:32 +0000126 XMLPUBFUN int XMLCALL
127 xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
128 const xmlChar * prefix,
129 const xmlChar * name,
130 const xmlChar * namespaceURI,
131 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000132 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000133 LIBXML_ATTR_FORMAT(5,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000134 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000143
144/*
145 * Text
146 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000147 XMLPUBFUN int XMLCALL
148 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000149 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000150 LIBXML_ATTR_FORMAT(2,3);
Daniel Veillardab69f362004-02-17 11:40:32 +0000151 XMLPUBFUN int XMLCALL
152 xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000153 const char *format, va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000154 LIBXML_ATTR_FORMAT(2,0);
Daniel Veillardab69f362004-02-17 11:40:32 +0000155 XMLPUBFUN int XMLCALL
156 xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
Daniel Veillard5841f0e2003-11-20 11:59:09 +0000157 const xmlChar * content, int len);
Daniel Veillardab69f362004-02-17 11:40:32 +0000158 XMLPUBFUN int XMLCALL
159 xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
160 const xmlChar * content);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000161 XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
162 writer,
163 const char
Daniel Veillardf63085d2009-01-18 20:53:59 +0000164 *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000165 LIBXML_ATTR_FORMAT(2,3);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000166 XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
167 writer,
168 const char
169 *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000170 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000171 LIBXML_ATTR_FORMAT(2,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000172 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000181
182/*
183 * Attributes
184 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000185 XMLPUBFUN int XMLCALL
186 xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
187 const xmlChar * name);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000188 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000198
199/*
200 * Attributes conveniency functions
201 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000202 XMLPUBFUN int XMLCALL
203 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
204 const xmlChar * name,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000205 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000206 LIBXML_ATTR_FORMAT(3,4);
Daniel Veillardab69f362004-02-17 11:40:32 +0000207 XMLPUBFUN int XMLCALL
208 xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
209 const xmlChar * name,
210 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000211 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000212 LIBXML_ATTR_FORMAT(3,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000213 XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
214 writer,
215 const xmlChar * name,
216 const xmlChar *
217 content);
Daniel Veillardab69f362004-02-17 11:40:32 +0000218 XMLPUBFUN int XMLCALL
219 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
220 const xmlChar * prefix,
221 const xmlChar * name,
222 const xmlChar * namespaceURI,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000223 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000224 LIBXML_ATTR_FORMAT(5,6);
Daniel Veillardab69f362004-02-17 11:40:32 +0000225 XMLPUBFUN int XMLCALL
226 xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
227 const xmlChar * prefix,
228 const xmlChar * name,
229 const xmlChar * namespaceURI,
230 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000231 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000232 LIBXML_ATTR_FORMAT(5,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000233 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000243
244/*
245 * PI's
246 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000247 XMLPUBFUN int XMLCALL
248 xmlTextWriterStartPI(xmlTextWriterPtr writer,
249 const xmlChar * target);
250 XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000251
252/*
253 * PI conveniency functions
254 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000255 XMLPUBFUN int XMLCALL
256 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
257 const xmlChar * target,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000258 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000259 LIBXML_ATTR_FORMAT(3,4);
Daniel Veillardab69f362004-02-17 11:40:32 +0000260 XMLPUBFUN int XMLCALL
261 xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
262 const xmlChar * target,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000263 const char *format, va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000264 LIBXML_ATTR_FORMAT(3,0);
Daniel Veillardab69f362004-02-17 11:40:32 +0000265 XMLPUBFUN int XMLCALL
266 xmlTextWriterWritePI(xmlTextWriterPtr writer,
267 const xmlChar * target,
268 const xmlChar * content);
269
Daniel Veillard1e906612003-12-05 14:57:46 +0000270/**
271 * xmlTextWriterWriteProcessingInstruction:
272 *
273 * This macro maps to xmlTextWriterWritePI
274 */
Daniel Veillard1d211e22003-10-20 22:32:39 +0000275#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
276
277/*
278 * CDATA
279 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000280 XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
281 XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000282
283/*
284 * CDATA conveniency functions
285 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000286 XMLPUBFUN int XMLCALL
287 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000288 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000289 LIBXML_ATTR_FORMAT(2,3);
Daniel Veillardab69f362004-02-17 11:40:32 +0000290 XMLPUBFUN int XMLCALL
291 xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000292 const char *format, va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000293 LIBXML_ATTR_FORMAT(2,0);
Daniel Veillardab69f362004-02-17 11:40:32 +0000294 XMLPUBFUN int XMLCALL
295 xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
296 const xmlChar * content);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000297
298/*
299 * DTD
300 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000301 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000307
308/*
309 * DTD conveniency functions
310 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000311 XMLPUBFUN int XMLCALL
312 xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
313 const xmlChar * name,
314 const xmlChar * pubid,
315 const xmlChar * sysid,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000316 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000317 LIBXML_ATTR_FORMAT(5,6);
Daniel Veillardab69f362004-02-17 11:40:32 +0000318 XMLPUBFUN int XMLCALL
319 xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
320 const xmlChar * name,
321 const xmlChar * pubid,
322 const xmlChar * sysid,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000323 const char *format, va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000324 LIBXML_ATTR_FORMAT(5,0);
Daniel Veillardab69f362004-02-17 11:40:32 +0000325 XMLPUBFUN int XMLCALL
326 xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
327 const xmlChar * name,
328 const xmlChar * pubid,
329 const xmlChar * sysid,
330 const xmlChar * subset);
331
Daniel Veillard1e906612003-12-05 14:57:46 +0000332/**
333 * xmlTextWriterWriteDocType:
334 *
335 * this macro maps to xmlTextWriterWriteDTD
336 */
Daniel Veillard1d211e22003-10-20 22:32:39 +0000337#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
338
339/*
340 * DTD element definition
341 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000342 XMLPUBFUN int XMLCALL
343 xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
344 const xmlChar * name);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000345 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
346 writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000347
348/*
349 * DTD element definition conveniency functions
350 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000351 XMLPUBFUN int XMLCALL
352 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
353 const xmlChar * name,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000354 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000355 LIBXML_ATTR_FORMAT(3,4);
Daniel Veillardab69f362004-02-17 11:40:32 +0000356 XMLPUBFUN int XMLCALL
357 xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
358 const xmlChar * name,
359 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000360 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000361 LIBXML_ATTR_FORMAT(3,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000362 XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
363 writer,
364 const xmlChar *
365 name,
366 const xmlChar *
367 content);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000368
369/*
370 * DTD attribute list definition
371 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000372 XMLPUBFUN int XMLCALL
373 xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
374 const xmlChar * name);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000375 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
376 writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000377
378/*
379 * DTD attribute list definition conveniency functions
380 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000381 XMLPUBFUN int XMLCALL
382 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
383 const xmlChar * name,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000384 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000385 LIBXML_ATTR_FORMAT(3,4);
Daniel Veillardab69f362004-02-17 11:40:32 +0000386 XMLPUBFUN int XMLCALL
387 xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
388 const xmlChar * name,
389 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000390 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000391 LIBXML_ATTR_FORMAT(3,0);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000392 XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
393 writer,
394 const xmlChar *
395 name,
396 const xmlChar *
397 content);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000398
399/*
400 * DTD entity definition
401 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000402 XMLPUBFUN int XMLCALL
403 xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
Daniel Veillard5841f0e2003-11-20 11:59:09 +0000404 int pe, const xmlChar * name);
Daniel Veillard500a1de2004-03-22 15:22:58 +0000405 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
406 writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000407
408/*
409 * DTD entity definition conveniency functions
410 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000411 XMLPUBFUN int XMLCALL
412 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
413 int pe,
414 const xmlChar * name,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000415 const char *format, ...)
Daniel Veillardf076f342009-04-15 09:20:25 +0000416 LIBXML_ATTR_FORMAT(4,5);
Daniel Veillardab69f362004-02-17 11:40:32 +0000417 XMLPUBFUN int XMLCALL
418 xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
419 int pe,
420 const xmlChar * name,
421 const char *format,
Daniel Veillardf63085d2009-01-18 20:53:59 +0000422 va_list argptr)
Daniel Veillardf076f342009-04-15 09:20:25 +0000423 LIBXML_ATTR_FORMAT(4,0);
Daniel Veillardab69f362004-02-17 11:40:32 +0000424 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
Daniel Veillard500a1de2004-03-22 15:22:58 +0000437 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);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000454
455/*
456 * DTD notation definition
457 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000458 XMLPUBFUN int XMLCALL
459 xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
460 const xmlChar * name,
461 const xmlChar * pubid,
462 const xmlChar * sysid);
463
Daniel Veillard2cca4462004-01-02 20:04:23 +0000464/*
465 * Indentation
466 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000467 XMLPUBFUN int XMLCALL
468 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
469 XMLPUBFUN int XMLCALL
470 xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
471 const xmlChar * str);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000472
Csaba Raduly429d3a02012-09-11 11:50:25 +0800473 XMLPUBFUN int XMLCALL
474 xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
475
476
Daniel Veillard1d211e22003-10-20 22:32:39 +0000477/*
478 * misc
479 */
Daniel Veillardab69f362004-02-17 11:40:32 +0000480 XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
Daniel Veillard1d211e22003-10-20 22:32:39 +0000481
482#ifdef __cplusplus
483}
484#endif
Daniel Veillarda2351322004-06-27 12:08:10 +0000485
486#endif /* LIBXML_WRITER_ENABLED */
487
Daniel Veillard1d211e22003-10-20 22:32:39 +0000488#endif /* __XML_XMLWRITER_H__ */