blob: 23635defe7ed9bdcce92405e0d48524cedaa67ed [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
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include <libxml/xmlIO.h>
18#include <libxml/list.h>
19
20typedef struct _xmlTextWriter xmlTextWriter;
21typedef xmlTextWriter *xmlTextWriterPtr;
22
23/*
24 * Constructors & Destructor
25 */
26XMLPUBFUN xmlTextWriterPtr XMLCALL
27 xmlNewTextWriter (xmlOutputBufferPtr out);
28XMLPUBFUN xmlTextWriterPtr XMLCALL
29 xmlNewTextWriterFilename (const char *uri,
30 int compression);
31XMLPUBFUN xmlTextWriterPtr XMLCALL
32 xmlNewTextWriterMemory (xmlBufferPtr buf,
33 int compression);
34XMLPUBFUN void XMLCALL
35 xmlFreeTextWriter (xmlTextWriterPtr writer);
36
37/*
38 * Functions
39 */
40
41
42/*
43 * Document
44 */
45XMLPUBFUN int XMLCALL
46 xmlTextWriterStartDocument (xmlTextWriterPtr writer,
47 const char *version,
48 const char *encoding,
49 const char *standalone);
50XMLPUBFUN int XMLCALL
51 xmlTextWriterEndDocument (xmlTextWriterPtr writer);
52
53/*
54 * Comments
55 */
56XMLPUBFUN int XMLCALL
57 xmlTextWriterWriteFormatComment (xmlTextWriterPtr writer,
58 const char *format, ...);
59XMLPUBFUN int XMLCALL
60 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
61 const char *format,
62 va_list argptr);
63XMLPUBFUN int XMLCALL
64 xmlTextWriterWriteComment (xmlTextWriterPtr writer,
65 const xmlChar * content);
66
67/*
68 * Elements
69 */
70XMLPUBFUN int XMLCALL
71 xmlTextWriterStartElement (xmlTextWriterPtr writer,
72 const xmlChar * name);
73XMLPUBFUN int XMLCALL
74 xmlTextWriterStartElementNS (xmlTextWriterPtr writer,
75 const xmlChar * prefix,
76 const xmlChar * name,
77 const xmlChar * namespaceURI);
78XMLPUBFUN int XMLCALL
79 xmlTextWriterEndElement (xmlTextWriterPtr writer);
80XMLPUBFUN int XMLCALL
81 xmlTextWriterFullEndElement (xmlTextWriterPtr writer);
82
83/*
84 * Elements conveniency functions
85 */
86XMLPUBFUN int XMLCALL
87 xmlTextWriterWriteFormatElement (xmlTextWriterPtr writer,
88 const xmlChar * name,
89 const char *format, ...);
90XMLPUBFUN int XMLCALL
91 xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
92 const xmlChar * name,
93 const char *format,
94 va_list argptr);
95XMLPUBFUN int XMLCALL
96 xmlTextWriterWriteElement (xmlTextWriterPtr writer,
97 const xmlChar * name,
98 const xmlChar * content);
99XMLPUBFUN int XMLCALL
100 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
101 const xmlChar * prefix,
102 const xmlChar * name,
103 const xmlChar * namespaceURI,
104 const char *format, ...);
105XMLPUBFUN int XMLCALL
106 xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
107 const xmlChar * prefix,
108 const xmlChar * name,
109 const xmlChar * namespaceURI,
110 const char *format,
111 va_list argptr);
112XMLPUBFUN int XMLCALL
113 xmlTextWriterWriteElementNS (xmlTextWriterPtr writer,
114 const xmlChar * prefix,
115 const xmlChar * name,
116 const xmlChar * namespaceURI,
117 const xmlChar * content);
118
119/*
120 * Text
121 */
122XMLPUBFUN int XMLCALL
123 xmlTextWriterWriteFormatRaw (xmlTextWriterPtr writer,
124 const char *format, ...);
125XMLPUBFUN int XMLCALL
126 xmlTextWriterWriteVFormatRaw (xmlTextWriterPtr writer,
127 const char *format,
128 va_list argptr);
129XMLPUBFUN int XMLCALL
130 xmlTextWriterWriteRawLen (xmlTextWriterPtr writer,
131 const xmlChar * content,
132 int len);
133XMLPUBFUN int XMLCALL
134 xmlTextWriterWriteRaw (xmlTextWriterPtr writer,
135 const xmlChar * content);
136XMLPUBFUN int XMLCALL
137 xmlTextWriterWriteFormatString (xmlTextWriterPtr writer,
138 const char *format, ...);
139XMLPUBFUN int XMLCALL
140 xmlTextWriterWriteVFormatString (xmlTextWriterPtr writer,
141 const char *format,
142 va_list argptr);
143XMLPUBFUN int XMLCALL
144 xmlTextWriterWriteString (xmlTextWriterPtr writer,
145 const xmlChar * content);
146XMLPUBFUN int XMLCALL
147 xmlTextWriterWriteBase64 (xmlTextWriterPtr writer,
148 const char *data,
149 int start,
150 int len);
151XMLPUBFUN int XMLCALL
152 xmlTextWriterWriteBinHex (xmlTextWriterPtr writer,
153 const char *data,
154 int start,
155 int len);
156
157/*
158 * Attributes
159 */
160XMLPUBFUN int XMLCALL
161 xmlTextWriterStartAttribute (xmlTextWriterPtr writer,
162 const xmlChar * name);
163XMLPUBFUN int XMLCALL
164 xmlTextWriterStartAttributeNS (xmlTextWriterPtr writer,
165 const xmlChar * prefix,
166 const xmlChar * name,
167 const xmlChar * namespaceURI);
168XMLPUBFUN int XMLCALL
169 xmlTextWriterEndAttribute (xmlTextWriterPtr writer);
170
171/*
172 * Attributes conveniency functions
173 */
174XMLPUBFUN int XMLCALL
175 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
176 const xmlChar * name,
177 const char *format, ...);
178XMLPUBFUN int XMLCALL
179 xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
180 const xmlChar * name,
181 const char *format,
182 va_list argptr);
183XMLPUBFUN int XMLCALL
184 xmlTextWriterWriteAttribute (xmlTextWriterPtr writer,
185 const xmlChar * name,
186 const xmlChar * content);
187XMLPUBFUN int XMLCALL
188 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
189 const xmlChar * prefix,
190 const xmlChar * name,
191 const xmlChar * namespaceURI,
192 const char *format, ...);
193XMLPUBFUN int XMLCALL
194 xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
195 const xmlChar * prefix,
196 const xmlChar * name,
197 const xmlChar * namespaceURI,
198 const char *format,
199 va_list argptr);
200XMLPUBFUN int XMLCALL
201 xmlTextWriterWriteAttributeNS (xmlTextWriterPtr writer,
202 const xmlChar * prefix,
203 const xmlChar * name,
204 const xmlChar * namespaceURI,
205 const xmlChar * content);
206
207/*
208 * PI's
209 */
210XMLPUBFUN int XMLCALL
211 xmlTextWriterStartPI (xmlTextWriterPtr writer,
212 const xmlChar * target);
213XMLPUBFUN int XMLCALL
214 xmlTextWriterEndPI (xmlTextWriterPtr writer);
215
216/*
217 * PI conveniency functions
218 */
219XMLPUBFUN int XMLCALL
220 xmlTextWriterWriteFormatPI (xmlTextWriterPtr writer,
221 const xmlChar * target,
222 const char *format, ...);
223XMLPUBFUN int XMLCALL
224 xmlTextWriterWriteVFormatPI (xmlTextWriterPtr writer,
225 const xmlChar * target,
226 const char *format,
227 va_list argptr);
228XMLPUBFUN int XMLCALL
229 xmlTextWriterWritePI (xmlTextWriterPtr writer,
230 const xmlChar * target,
231 const xmlChar * content);
232#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
233
234/*
235 * CDATA
236 */
237XMLPUBFUN int XMLCALL
238 xmlTextWriterStartCDATA (xmlTextWriterPtr writer);
239XMLPUBFUN int XMLCALL
240 xmlTextWriterEndCDATA (xmlTextWriterPtr writer);
241
242/*
243 * CDATA conveniency functions
244 */
245XMLPUBFUN int XMLCALL
246 xmlTextWriterWriteFormatCDATA (xmlTextWriterPtr writer,
247 const char *format, ...);
248XMLPUBFUN int XMLCALL
249 xmlTextWriterWriteVFormatCDATA (xmlTextWriterPtr writer,
250 const char *format,
251 va_list argptr);
252XMLPUBFUN int XMLCALL
253 xmlTextWriterWriteCDATA (xmlTextWriterPtr writer,
254 const xmlChar * content);
255
256/*
257 * DTD
258 */
259XMLPUBFUN int XMLCALL
260 xmlTextWriterStartDTD (xmlTextWriterPtr writer,
261 const xmlChar * name,
262 const xmlChar * pubid,
263 const xmlChar * sysid);
264XMLPUBFUN int XMLCALL
265 xmlTextWriterEndDTD (xmlTextWriterPtr writer);
266
267/*
268 * DTD conveniency functions
269 */
270XMLPUBFUN int XMLCALL
271 xmlTextWriterWriteFormatDTD (xmlTextWriterPtr writer,
272 const xmlChar * name,
273 const xmlChar * pubid,
274 const xmlChar * sysid,
275 const char *format, ...);
276XMLPUBFUN int XMLCALL
277 xmlTextWriterWriteVFormatDTD (xmlTextWriterPtr writer,
278 const xmlChar * name,
279 const xmlChar * pubid,
280 const xmlChar * sysid,
281 const char *format,
282 va_list argptr);
283XMLPUBFUN int XMLCALL
284 xmlTextWriterWriteDTD (xmlTextWriterPtr writer,
285 const xmlChar * name,
286 const xmlChar * pubid,
287 const xmlChar * sysid,
288 const xmlChar * subset);
289#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
290
291/*
292 * DTD element definition
293 */
294XMLPUBFUN int XMLCALL
295 xmlTextWriterStartDTDElement (xmlTextWriterPtr writer,
296 const xmlChar * name);
297#define xmlTextWriterEndDTDElement xmlTextWriterEndDTD
298
299/*
300 * DTD element definition conveniency functions
301 */
302XMLPUBFUN int XMLCALL
303 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
304 const xmlChar * name,
305 const char *format, ...);
306XMLPUBFUN int XMLCALL
307 xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
308 const xmlChar * name,
309 const char *format,
310 va_list argptr);
311XMLPUBFUN int XMLCALL
312 xmlTextWriterWriteDTDElement (xmlTextWriterPtr writer,
313 const xmlChar * name,
314 const xmlChar * content);
315
316/*
317 * DTD attribute list definition
318 */
319XMLPUBFUN int XMLCALL
320 xmlTextWriterStartDTDAttlist (xmlTextWriterPtr writer,
321 const xmlChar * name);
322#define xmlTextWriterEndDTDAttlist xmlTextWriterEndDTD
323
324/*
325 * DTD attribute list definition conveniency functions
326 */
327XMLPUBFUN int XMLCALL
328 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
329 const xmlChar * name,
330 const char *format, ...);
331XMLPUBFUN int XMLCALL
332 xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
333 const xmlChar * name,
334 const char *format,
335 va_list argptr);
336XMLPUBFUN int XMLCALL
337 xmlTextWriterWriteDTDAttlist (xmlTextWriterPtr writer,
338 const xmlChar * name,
339 const xmlChar * content);
340
341/*
342 * DTD entity definition
343 */
344XMLPUBFUN int XMLCALL
345 xmlTextWriterStartDTDEntity (xmlTextWriterPtr writer,
346 int pe,
347 const xmlChar * name);
348#define xmlTextWriterEndDTDEntity xmlTextWriterEndDTD
349
350/*
351 * DTD entity definition conveniency functions
352 */
353XMLPUBFUN int XMLCALL
354 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
355 int pe,
356 const xmlChar * name,
357 const char *format, ...);
358XMLPUBFUN int XMLCALL
359 xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
360 int pe,
361 const xmlChar * name,
362 const char *format,
363 va_list argptr);
364XMLPUBFUN int XMLCALL
365 xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
366 int pe,
367 const xmlChar * name,
368 const xmlChar * content);
369XMLPUBFUN int XMLCALL
370 xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
371 int pe,
372 const xmlChar * name,
373 const xmlChar * pubid,
374 const xmlChar * sysid,
375 const xmlChar * ndataid);
376XMLPUBFUN int XMLCALL
377 xmlTextWriterWriteDTDEntity (xmlTextWriterPtr writer,
378 int pe,
379 const xmlChar * name,
380 const xmlChar * pubid,
381 const xmlChar * sysid,
382 const xmlChar * ndataid,
383 const xmlChar * content);
384
385/*
386 * DTD notation definition
387 */
388XMLPUBFUN int XMLCALL
389 xmlTextWriterWriteDTDNotation (xmlTextWriterPtr writer,
390 const xmlChar * name,
391 const xmlChar * pubid,
392 const xmlChar * sysid);
393
394/*
395 * misc
396 */
397XMLPUBFUN int XMLCALL
398 xmlTextWriterFlush (xmlTextWriterPtr writer);
399
400#ifdef __cplusplus
401}
402#endif
403#endif /* __XML_XMLWRITER_H__ */