File indexing completed on 2025-02-22 10:41:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef __XML_XMLWRITER_H__
0011 #define __XML_XMLWRITER_H__
0012
0013 #include <libxml/xmlversion.h>
0014
0015 #ifdef LIBXML_WRITER_ENABLED
0016
0017 #include <stdarg.h>
0018 #include <libxml/xmlIO.h>
0019 #include <libxml/list.h>
0020 #include <libxml/xmlstring.h>
0021
0022 #ifdef __cplusplus
0023 extern "C" {
0024 #endif
0025
0026 typedef struct _xmlTextWriter xmlTextWriter;
0027 typedef xmlTextWriter *xmlTextWriterPtr;
0028
0029
0030
0031
0032 XMLPUBFUN xmlTextWriterPtr
0033 xmlNewTextWriter(xmlOutputBufferPtr out);
0034 XMLPUBFUN xmlTextWriterPtr
0035 xmlNewTextWriterFilename(const char *uri, int compression);
0036 XMLPUBFUN xmlTextWriterPtr
0037 xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
0038 XMLPUBFUN xmlTextWriterPtr
0039 xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
0040 XMLPUBFUN xmlTextWriterPtr
0041 xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
0042 XMLPUBFUN xmlTextWriterPtr
0043 xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
0044 int compression);
0045 XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer);
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 XMLPUBFUN int
0056 xmlTextWriterStartDocument(xmlTextWriterPtr writer,
0057 const char *version,
0058 const char *encoding,
0059 const char *standalone);
0060 XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr
0061 writer);
0062
0063
0064
0065
0066 XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr
0067 writer);
0068 XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer);
0069 XMLPUBFUN int
0070 xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
0071 const char *format, ...)
0072 LIBXML_ATTR_FORMAT(2,3);
0073 XMLPUBFUN int
0074 xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
0075 const char *format,
0076 va_list argptr)
0077 LIBXML_ATTR_FORMAT(2,0);
0078 XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr
0079 writer,
0080 const xmlChar *
0081 content);
0082
0083
0084
0085
0086 XMLPUBFUN int
0087 xmlTextWriterStartElement(xmlTextWriterPtr writer,
0088 const xmlChar * name);
0089 XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr
0090 writer,
0091 const xmlChar *
0092 prefix,
0093 const xmlChar * name,
0094 const xmlChar *
0095 namespaceURI);
0096 XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer);
0097 XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr
0098 writer);
0099
0100
0101
0102
0103 XMLPUBFUN int
0104 xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
0105 const xmlChar * name,
0106 const char *format, ...)
0107 LIBXML_ATTR_FORMAT(3,4);
0108 XMLPUBFUN int
0109 xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
0110 const xmlChar * name,
0111 const char *format,
0112 va_list argptr)
0113 LIBXML_ATTR_FORMAT(3,0);
0114 XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr
0115 writer,
0116 const xmlChar * name,
0117 const xmlChar *
0118 content);
0119 XMLPUBFUN int
0120 xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
0121 const xmlChar * prefix,
0122 const xmlChar * name,
0123 const xmlChar * namespaceURI,
0124 const char *format, ...)
0125 LIBXML_ATTR_FORMAT(5,6);
0126 XMLPUBFUN int
0127 xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
0128 const xmlChar * prefix,
0129 const xmlChar * name,
0130 const xmlChar * namespaceURI,
0131 const char *format,
0132 va_list argptr)
0133 LIBXML_ATTR_FORMAT(5,0);
0134 XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr
0135 writer,
0136 const xmlChar *
0137 prefix,
0138 const xmlChar * name,
0139 const xmlChar *
0140 namespaceURI,
0141 const xmlChar *
0142 content);
0143
0144
0145
0146
0147 XMLPUBFUN int
0148 xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
0149 const char *format, ...)
0150 LIBXML_ATTR_FORMAT(2,3);
0151 XMLPUBFUN int
0152 xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
0153 const char *format, va_list argptr)
0154 LIBXML_ATTR_FORMAT(2,0);
0155 XMLPUBFUN int
0156 xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
0157 const xmlChar * content, int len);
0158 XMLPUBFUN int
0159 xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
0160 const xmlChar * content);
0161 XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr
0162 writer,
0163 const char
0164 *format, ...)
0165 LIBXML_ATTR_FORMAT(2,3);
0166 XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr
0167 writer,
0168 const char
0169 *format,
0170 va_list argptr)
0171 LIBXML_ATTR_FORMAT(2,0);
0172 XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer,
0173 const xmlChar *
0174 content);
0175 XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
0176 const char *data,
0177 int start, int len);
0178 XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
0179 const char *data,
0180 int start, int len);
0181
0182
0183
0184
0185 XMLPUBFUN int
0186 xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
0187 const xmlChar * name);
0188 XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr
0189 writer,
0190 const xmlChar *
0191 prefix,
0192 const xmlChar *
0193 name,
0194 const xmlChar *
0195 namespaceURI);
0196 XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr
0197 writer);
0198
0199
0200
0201
0202 XMLPUBFUN int
0203 xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
0204 const xmlChar * name,
0205 const char *format, ...)
0206 LIBXML_ATTR_FORMAT(3,4);
0207 XMLPUBFUN int
0208 xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
0209 const xmlChar * name,
0210 const char *format,
0211 va_list argptr)
0212 LIBXML_ATTR_FORMAT(3,0);
0213 XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr
0214 writer,
0215 const xmlChar * name,
0216 const xmlChar *
0217 content);
0218 XMLPUBFUN int
0219 xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
0220 const xmlChar * prefix,
0221 const xmlChar * name,
0222 const xmlChar * namespaceURI,
0223 const char *format, ...)
0224 LIBXML_ATTR_FORMAT(5,6);
0225 XMLPUBFUN int
0226 xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
0227 const xmlChar * prefix,
0228 const xmlChar * name,
0229 const xmlChar * namespaceURI,
0230 const char *format,
0231 va_list argptr)
0232 LIBXML_ATTR_FORMAT(5,0);
0233 XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
0234 writer,
0235 const xmlChar *
0236 prefix,
0237 const xmlChar *
0238 name,
0239 const xmlChar *
0240 namespaceURI,
0241 const xmlChar *
0242 content);
0243
0244
0245
0246
0247 XMLPUBFUN int
0248 xmlTextWriterStartPI(xmlTextWriterPtr writer,
0249 const xmlChar * target);
0250 XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer);
0251
0252
0253
0254
0255 XMLPUBFUN int
0256 xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
0257 const xmlChar * target,
0258 const char *format, ...)
0259 LIBXML_ATTR_FORMAT(3,4);
0260 XMLPUBFUN int
0261 xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
0262 const xmlChar * target,
0263 const char *format, va_list argptr)
0264 LIBXML_ATTR_FORMAT(3,0);
0265 XMLPUBFUN int
0266 xmlTextWriterWritePI(xmlTextWriterPtr writer,
0267 const xmlChar * target,
0268 const xmlChar * content);
0269
0270
0271
0272
0273
0274
0275 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
0276
0277
0278
0279
0280 XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
0281 XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
0282
0283
0284
0285
0286 XMLPUBFUN int
0287 xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
0288 const char *format, ...)
0289 LIBXML_ATTR_FORMAT(2,3);
0290 XMLPUBFUN int
0291 xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
0292 const char *format, va_list argptr)
0293 LIBXML_ATTR_FORMAT(2,0);
0294 XMLPUBFUN int
0295 xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
0296 const xmlChar * content);
0297
0298
0299
0300
0301 XMLPUBFUN int
0302 xmlTextWriterStartDTD(xmlTextWriterPtr writer,
0303 const xmlChar * name,
0304 const xmlChar * pubid,
0305 const xmlChar * sysid);
0306 XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer);
0307
0308
0309
0310
0311 XMLPUBFUN int
0312 xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
0313 const xmlChar * name,
0314 const xmlChar * pubid,
0315 const xmlChar * sysid,
0316 const char *format, ...)
0317 LIBXML_ATTR_FORMAT(5,6);
0318 XMLPUBFUN int
0319 xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
0320 const xmlChar * name,
0321 const xmlChar * pubid,
0322 const xmlChar * sysid,
0323 const char *format, va_list argptr)
0324 LIBXML_ATTR_FORMAT(5,0);
0325 XMLPUBFUN int
0326 xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
0327 const xmlChar * name,
0328 const xmlChar * pubid,
0329 const xmlChar * sysid,
0330 const xmlChar * subset);
0331
0332
0333
0334
0335
0336
0337 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
0338
0339
0340
0341
0342 XMLPUBFUN int
0343 xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
0344 const xmlChar * name);
0345 XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr
0346 writer);
0347
0348
0349
0350
0351 XMLPUBFUN int
0352 xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
0353 const xmlChar * name,
0354 const char *format, ...)
0355 LIBXML_ATTR_FORMAT(3,4);
0356 XMLPUBFUN int
0357 xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
0358 const xmlChar * name,
0359 const char *format,
0360 va_list argptr)
0361 LIBXML_ATTR_FORMAT(3,0);
0362 XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr
0363 writer,
0364 const xmlChar *
0365 name,
0366 const xmlChar *
0367 content);
0368
0369
0370
0371
0372 XMLPUBFUN int
0373 xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
0374 const xmlChar * name);
0375 XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
0376 writer);
0377
0378
0379
0380
0381 XMLPUBFUN int
0382 xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
0383 const xmlChar * name,
0384 const char *format, ...)
0385 LIBXML_ATTR_FORMAT(3,4);
0386 XMLPUBFUN int
0387 xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
0388 const xmlChar * name,
0389 const char *format,
0390 va_list argptr)
0391 LIBXML_ATTR_FORMAT(3,0);
0392 XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
0393 writer,
0394 const xmlChar *
0395 name,
0396 const xmlChar *
0397 content);
0398
0399
0400
0401
0402 XMLPUBFUN int
0403 xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
0404 int pe, const xmlChar * name);
0405 XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr
0406 writer);
0407
0408
0409
0410
0411 XMLPUBFUN int
0412 xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
0413 int pe,
0414 const xmlChar * name,
0415 const char *format, ...)
0416 LIBXML_ATTR_FORMAT(4,5);
0417 XMLPUBFUN int
0418 xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
0419 int pe,
0420 const xmlChar * name,
0421 const char *format,
0422 va_list argptr)
0423 LIBXML_ATTR_FORMAT(4,0);
0424 XMLPUBFUN int
0425 xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
0426 int pe,
0427 const xmlChar * name,
0428 const xmlChar * content);
0429 XMLPUBFUN int
0430 xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
0431 int pe,
0432 const xmlChar * name,
0433 const xmlChar * pubid,
0434 const xmlChar * sysid,
0435 const xmlChar * ndataid);
0436 XMLPUBFUN int
0437 xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
0438 writer,
0439 const xmlChar * pubid,
0440 const xmlChar * sysid,
0441 const xmlChar *
0442 ndataid);
0443 XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
0444 writer, int pe,
0445 const xmlChar * name,
0446 const xmlChar *
0447 pubid,
0448 const xmlChar *
0449 sysid,
0450 const xmlChar *
0451 ndataid,
0452 const xmlChar *
0453 content);
0454
0455
0456
0457
0458 XMLPUBFUN int
0459 xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
0460 const xmlChar * name,
0461 const xmlChar * pubid,
0462 const xmlChar * sysid);
0463
0464
0465
0466
0467 XMLPUBFUN int
0468 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
0469 XMLPUBFUN int
0470 xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
0471 const xmlChar * str);
0472
0473 XMLPUBFUN int
0474 xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
0475
0476
0477
0478
0479
0480 XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer);
0481 XMLPUBFUN int xmlTextWriterClose(xmlTextWriterPtr writer);
0482
0483 #ifdef __cplusplus
0484 }
0485 #endif
0486
0487 #endif
0488
0489 #endif