00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __XML_XMLWRITER_H__
00012 #define __XML_XMLWRITER_H__
00013
00014 #include <libxml/xmlversion.h>
00015
00016 #ifdef LIBXML_WRITER_ENABLED
00017
00018 #include <stdarg.h>
00019 #include <libxml/xmlIO.h>
00020 #include <libxml/list.h>
00021 #include <libxml/xmlstring.h>
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00027 typedef struct _xmlTextWriter xmlTextWriter;
00028 typedef xmlTextWriter *xmlTextWriterPtr;
00029
00030
00031
00032
00033 XMLPUBFUN xmlTextWriterPtr XMLCALL
00034 xmlNewTextWriter(xmlOutputBufferPtr out);
00035 XMLPUBFUN xmlTextWriterPtr XMLCALL
00036 xmlNewTextWriterFilename(const char *uri, int compression);
00037 XMLPUBFUN xmlTextWriterPtr XMLCALL
00038 xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
00039 XMLPUBFUN xmlTextWriterPtr XMLCALL
00040 xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
00041 XMLPUBFUN xmlTextWriterPtr XMLCALL
00042 xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
00043 XMLPUBFUN xmlTextWriterPtr XMLCALL
00044 xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
00045 int compression);
00046 XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 XMLPUBFUN int XMLCALL
00057 xmlTextWriterStartDocument(xmlTextWriterPtr writer,
00058 const char *version,
00059 const char *encoding,
00060 const char *standalone);
00061 XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
00062 writer);
00063
00064
00065
00066
00067 XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
00068 writer);
00069 XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
00070 XMLPUBFUN int XMLCALL
00071 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
00072 const char *format, ...);
00073 XMLPUBFUN int XMLCALL
00074 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
00075 const char *format,
00076 va_list argptr);
00077 XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
00078 writer,
00079 const xmlChar *
00080 content);
00081
00082
00083
00084
00085 XMLPUBFUN int XMLCALL
00086 xmlTextWriterStartElement(xmlTextWriterPtr writer,
00087 const xmlChar * name);
00088 XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
00089 writer,
00090 const xmlChar *
00091 prefix,
00092 const xmlChar * name,
00093 const xmlChar *
00094 namespaceURI);
00095 XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
00096 XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
00097 writer);
00098
00099
00100
00101
00102 XMLPUBFUN int XMLCALL
00103 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
00104 const xmlChar * name,
00105 const char *format, ...);
00106 XMLPUBFUN int XMLCALL
00107 xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
00108 const xmlChar * name,
00109 const char *format,
00110 va_list argptr);
00111 XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
00112 writer,
00113 const xmlChar * name,
00114 const xmlChar *
00115 content);
00116 XMLPUBFUN int XMLCALL
00117 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
00118 const xmlChar * prefix,
00119 const xmlChar * name,
00120 const xmlChar * namespaceURI,
00121 const char *format, ...);
00122 XMLPUBFUN int XMLCALL
00123 xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
00124 const xmlChar * prefix,
00125 const xmlChar * name,
00126 const xmlChar * namespaceURI,
00127 const char *format,
00128 va_list argptr);
00129 XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
00130 writer,
00131 const xmlChar *
00132 prefix,
00133 const xmlChar * name,
00134 const xmlChar *
00135 namespaceURI,
00136 const xmlChar *
00137 content);
00138
00139
00140
00141
00142 XMLPUBFUN int XMLCALL
00143 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
00144 const char *format, ...);
00145 XMLPUBFUN int XMLCALL
00146 xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
00147 const char *format, va_list argptr);
00148 XMLPUBFUN int XMLCALL
00149 xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
00150 const xmlChar * content, int len);
00151 XMLPUBFUN int XMLCALL
00152 xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
00153 const xmlChar * content);
00154 XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
00155 writer,
00156 const char
00157 *format, ...);
00158 XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
00159 writer,
00160 const char
00161 *format,
00162 va_list argptr);
00163 XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
00164 const xmlChar *
00165 content);
00166 XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
00167 const char *data,
00168 int start, int len);
00169 XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
00170 const char *data,
00171 int start, int len);
00172
00173
00174
00175
00176 XMLPUBFUN int XMLCALL
00177 xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
00178 const xmlChar * name);
00179 XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
00180 writer,
00181 const xmlChar *
00182 prefix,
00183 const xmlChar *
00184 name,
00185 const xmlChar *
00186 namespaceURI);
00187 XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
00188 writer);
00189
00190
00191
00192
00193 XMLPUBFUN int XMLCALL
00194 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
00195 const xmlChar * name,
00196 const char *format, ...);
00197 XMLPUBFUN int XMLCALL
00198 xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
00199 const xmlChar * name,
00200 const char *format,
00201 va_list argptr);
00202 XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
00203 writer,
00204 const xmlChar * name,
00205 const xmlChar *
00206 content);
00207 XMLPUBFUN int XMLCALL
00208 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
00209 const xmlChar * prefix,
00210 const xmlChar * name,
00211 const xmlChar * namespaceURI,
00212 const char *format, ...);
00213 XMLPUBFUN int XMLCALL
00214 xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
00215 const xmlChar * prefix,
00216 const xmlChar * name,
00217 const xmlChar * namespaceURI,
00218 const char *format,
00219 va_list argptr);
00220 XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
00221 writer,
00222 const xmlChar *
00223 prefix,
00224 const xmlChar *
00225 name,
00226 const xmlChar *
00227 namespaceURI,
00228 const xmlChar *
00229 content);
00230
00231
00232
00233
00234 XMLPUBFUN int XMLCALL
00235 xmlTextWriterStartPI(xmlTextWriterPtr writer,
00236 const xmlChar * target);
00237 XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
00238
00239
00240
00241
00242 XMLPUBFUN int XMLCALL
00243 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
00244 const xmlChar * target,
00245 const char *format, ...);
00246 XMLPUBFUN int XMLCALL
00247 xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
00248 const xmlChar * target,
00249 const char *format, va_list argptr);
00250 XMLPUBFUN int XMLCALL
00251 xmlTextWriterWritePI(xmlTextWriterPtr writer,
00252 const xmlChar * target,
00253 const xmlChar * content);
00254
00260 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
00261
00262
00263
00264
00265 XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
00266 XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
00267
00268
00269
00270
00271 XMLPUBFUN int XMLCALL
00272 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
00273 const char *format, ...);
00274 XMLPUBFUN int XMLCALL
00275 xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
00276 const char *format, va_list argptr);
00277 XMLPUBFUN int XMLCALL
00278 xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
00279 const xmlChar * content);
00280
00281
00282
00283
00284 XMLPUBFUN int XMLCALL
00285 xmlTextWriterStartDTD(xmlTextWriterPtr writer,
00286 const xmlChar * name,
00287 const xmlChar * pubid,
00288 const xmlChar * sysid);
00289 XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
00290
00291
00292
00293
00294 XMLPUBFUN int XMLCALL
00295 xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
00296 const xmlChar * name,
00297 const xmlChar * pubid,
00298 const xmlChar * sysid,
00299 const char *format, ...);
00300 XMLPUBFUN int XMLCALL
00301 xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
00302 const xmlChar * name,
00303 const xmlChar * pubid,
00304 const xmlChar * sysid,
00305 const char *format, va_list argptr);
00306 XMLPUBFUN int XMLCALL
00307 xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
00308 const xmlChar * name,
00309 const xmlChar * pubid,
00310 const xmlChar * sysid,
00311 const xmlChar * subset);
00312
00318 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
00319
00320
00321
00322
00323 XMLPUBFUN int XMLCALL
00324 xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
00325 const xmlChar * name);
00326 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
00327 writer);
00328
00329
00330
00331
00332 XMLPUBFUN int XMLCALL
00333 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
00334 const xmlChar * name,
00335 const char *format, ...);
00336 XMLPUBFUN int XMLCALL
00337 xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
00338 const xmlChar * name,
00339 const char *format,
00340 va_list argptr);
00341 XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
00342 writer,
00343 const xmlChar *
00344 name,
00345 const xmlChar *
00346 content);
00347
00348
00349
00350
00351 XMLPUBFUN int XMLCALL
00352 xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
00353 const xmlChar * name);
00354 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
00355 writer);
00356
00357
00358
00359
00360 XMLPUBFUN int XMLCALL
00361 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
00362 const xmlChar * name,
00363 const char *format, ...);
00364 XMLPUBFUN int XMLCALL
00365 xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
00366 const xmlChar * name,
00367 const char *format,
00368 va_list argptr);
00369 XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
00370 writer,
00371 const xmlChar *
00372 name,
00373 const xmlChar *
00374 content);
00375
00376
00377
00378
00379 XMLPUBFUN int XMLCALL
00380 xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
00381 int pe, const xmlChar * name);
00382 XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
00383 writer);
00384
00385
00386
00387
00388 XMLPUBFUN int XMLCALL
00389 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
00390 int pe,
00391 const xmlChar * name,
00392 const char *format, ...);
00393 XMLPUBFUN int XMLCALL
00394 xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
00395 int pe,
00396 const xmlChar * name,
00397 const char *format,
00398 va_list argptr);
00399 XMLPUBFUN int XMLCALL
00400 xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
00401 int pe,
00402 const xmlChar * name,
00403 const xmlChar * content);
00404 XMLPUBFUN int XMLCALL
00405 xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
00406 int pe,
00407 const xmlChar * name,
00408 const xmlChar * pubid,
00409 const xmlChar * sysid,
00410 const xmlChar * ndataid);
00411 XMLPUBFUN int XMLCALL
00412 xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
00413 writer,
00414 const xmlChar * pubid,
00415 const xmlChar * sysid,
00416 const xmlChar *
00417 ndataid);
00418 XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
00419 writer, int pe,
00420 const xmlChar * name,
00421 const xmlChar *
00422 pubid,
00423 const xmlChar *
00424 sysid,
00425 const xmlChar *
00426 ndataid,
00427 const xmlChar *
00428 content);
00429
00430
00431
00432
00433 XMLPUBFUN int XMLCALL
00434 xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
00435 const xmlChar * name,
00436 const xmlChar * pubid,
00437 const xmlChar * sysid);
00438
00439
00440
00441
00442 XMLPUBFUN int XMLCALL
00443 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
00444 XMLPUBFUN int XMLCALL
00445 xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
00446 const xmlChar * str);
00447
00448
00449
00450
00451 XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
00452
00453 #ifdef __cplusplus
00454 }
00455 #endif
00456
00457 #endif
00458
00459 #endif