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