Return to xmlwriter.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml |
1.1 ! misho 1: ! 2: /* ! 3: * Summary: text writing API for XML ! 4: * Description: text writing API for XML ! 5: * ! 6: * Copy: See Copyright for the status of this software. ! 7: * ! 8: * Author: Alfred Mickautsch <alfred@mickautsch.de> ! 9: */ ! 10: ! 11: #ifndef __XML_XMLWRITER_H__ ! 12: #define __XML_XMLWRITER_H__ ! 13: ! 14: #include <libxml/xmlversion.h> ! 15: ! 16: #ifdef LIBXML_WRITER_ENABLED ! 17: ! 18: #include <stdarg.h> ! 19: #include <libxml/xmlIO.h> ! 20: #include <libxml/list.h> ! 21: #include <libxml/xmlstring.h> ! 22: ! 23: #ifdef __cplusplus ! 24: extern "C" { ! 25: #endif ! 26: ! 27: typedef struct _xmlTextWriter xmlTextWriter; ! 28: typedef xmlTextWriter *xmlTextWriterPtr; ! 29: ! 30: /* ! 31: * Constructors & Destructor ! 32: */ ! 33: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 34: xmlNewTextWriter(xmlOutputBufferPtr out); ! 35: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 36: xmlNewTextWriterFilename(const char *uri, int compression); ! 37: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 38: xmlNewTextWriterMemory(xmlBufferPtr buf, int compression); ! 39: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 40: xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression); ! 41: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 42: xmlNewTextWriterDoc(xmlDocPtr * doc, int compression); ! 43: XMLPUBFUN xmlTextWriterPtr XMLCALL ! 44: xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node, ! 45: int compression); ! 46: XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer); ! 47: ! 48: /* ! 49: * Functions ! 50: */ ! 51: ! 52: ! 53: /* ! 54: * Document ! 55: */ ! 56: XMLPUBFUN int XMLCALL ! 57: xmlTextWriterStartDocument(xmlTextWriterPtr writer, ! 58: const char *version, ! 59: const char *encoding, ! 60: const char *standalone); ! 61: XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr ! 62: writer); ! 63: ! 64: /* ! 65: * Comments ! 66: */ ! 67: XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr ! 68: writer); ! 69: XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer); ! 70: XMLPUBFUN int XMLCALL ! 71: xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer, ! 72: const char *format, ...) ! 73: LIBXML_ATTR_FORMAT(2,3); ! 74: XMLPUBFUN int XMLCALL ! 75: xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer, ! 76: const char *format, ! 77: va_list argptr) ! 78: LIBXML_ATTR_FORMAT(2,0); ! 79: XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr ! 80: writer, ! 81: const xmlChar * ! 82: content); ! 83: ! 84: /* ! 85: * Elements ! 86: */ ! 87: XMLPUBFUN int XMLCALL ! 88: xmlTextWriterStartElement(xmlTextWriterPtr writer, ! 89: const xmlChar * name); ! 90: XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr ! 91: writer, ! 92: const xmlChar * ! 93: prefix, ! 94: const xmlChar * name, ! 95: const xmlChar * ! 96: namespaceURI); ! 97: XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer); ! 98: XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr ! 99: writer); ! 100: ! 101: /* ! 102: * Elements conveniency functions ! 103: */ ! 104: XMLPUBFUN int XMLCALL ! 105: xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer, ! 106: const xmlChar * name, ! 107: const char *format, ...) ! 108: LIBXML_ATTR_FORMAT(3,4); ! 109: XMLPUBFUN int XMLCALL ! 110: xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer, ! 111: const xmlChar * name, ! 112: const char *format, ! 113: va_list argptr) ! 114: LIBXML_ATTR_FORMAT(3,0); ! 115: XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr ! 116: writer, ! 117: const xmlChar * name, ! 118: const xmlChar * ! 119: content); ! 120: XMLPUBFUN int XMLCALL ! 121: xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer, ! 122: const xmlChar * prefix, ! 123: const xmlChar * name, ! 124: const xmlChar * namespaceURI, ! 125: const char *format, ...) ! 126: LIBXML_ATTR_FORMAT(5,6); ! 127: XMLPUBFUN int XMLCALL ! 128: xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer, ! 129: const xmlChar * prefix, ! 130: const xmlChar * name, ! 131: const xmlChar * namespaceURI, ! 132: const char *format, ! 133: va_list argptr) ! 134: LIBXML_ATTR_FORMAT(5,0); ! 135: XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr ! 136: writer, ! 137: const xmlChar * ! 138: prefix, ! 139: const xmlChar * name, ! 140: const xmlChar * ! 141: namespaceURI, ! 142: const xmlChar * ! 143: content); ! 144: ! 145: /* ! 146: * Text ! 147: */ ! 148: XMLPUBFUN int XMLCALL ! 149: xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer, ! 150: const char *format, ...) ! 151: LIBXML_ATTR_FORMAT(2,3); ! 152: XMLPUBFUN int XMLCALL ! 153: xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer, ! 154: const char *format, va_list argptr) ! 155: LIBXML_ATTR_FORMAT(2,0); ! 156: XMLPUBFUN int XMLCALL ! 157: xmlTextWriterWriteRawLen(xmlTextWriterPtr writer, ! 158: const xmlChar * content, int len); ! 159: XMLPUBFUN int XMLCALL ! 160: xmlTextWriterWriteRaw(xmlTextWriterPtr writer, ! 161: const xmlChar * content); ! 162: XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr ! 163: writer, ! 164: const char ! 165: *format, ...) ! 166: LIBXML_ATTR_FORMAT(2,3); ! 167: XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr ! 168: writer, ! 169: const char ! 170: *format, ! 171: va_list argptr) ! 172: LIBXML_ATTR_FORMAT(2,0); ! 173: XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer, ! 174: const xmlChar * ! 175: content); ! 176: XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer, ! 177: const char *data, ! 178: int start, int len); ! 179: XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer, ! 180: const char *data, ! 181: int start, int len); ! 182: ! 183: /* ! 184: * Attributes ! 185: */ ! 186: XMLPUBFUN int XMLCALL ! 187: xmlTextWriterStartAttribute(xmlTextWriterPtr writer, ! 188: const xmlChar * name); ! 189: XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr ! 190: writer, ! 191: const xmlChar * ! 192: prefix, ! 193: const xmlChar * ! 194: name, ! 195: const xmlChar * ! 196: namespaceURI); ! 197: XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr ! 198: writer); ! 199: ! 200: /* ! 201: * Attributes conveniency functions ! 202: */ ! 203: XMLPUBFUN int XMLCALL ! 204: xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer, ! 205: const xmlChar * name, ! 206: const char *format, ...) ! 207: LIBXML_ATTR_FORMAT(3,4); ! 208: XMLPUBFUN int XMLCALL ! 209: xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer, ! 210: const xmlChar * name, ! 211: const char *format, ! 212: va_list argptr) ! 213: LIBXML_ATTR_FORMAT(3,0); ! 214: XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr ! 215: writer, ! 216: const xmlChar * name, ! 217: const xmlChar * ! 218: content); ! 219: XMLPUBFUN int XMLCALL ! 220: xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer, ! 221: const xmlChar * prefix, ! 222: const xmlChar * name, ! 223: const xmlChar * namespaceURI, ! 224: const char *format, ...) ! 225: LIBXML_ATTR_FORMAT(5,6); ! 226: XMLPUBFUN int XMLCALL ! 227: xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer, ! 228: const xmlChar * prefix, ! 229: const xmlChar * name, ! 230: const xmlChar * namespaceURI, ! 231: const char *format, ! 232: va_list argptr) ! 233: LIBXML_ATTR_FORMAT(5,0); ! 234: XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr ! 235: writer, ! 236: const xmlChar * ! 237: prefix, ! 238: const xmlChar * ! 239: name, ! 240: const xmlChar * ! 241: namespaceURI, ! 242: const xmlChar * ! 243: content); ! 244: ! 245: /* ! 246: * PI's ! 247: */ ! 248: XMLPUBFUN int XMLCALL ! 249: xmlTextWriterStartPI(xmlTextWriterPtr writer, ! 250: const xmlChar * target); ! 251: XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer); ! 252: ! 253: /* ! 254: * PI conveniency functions ! 255: */ ! 256: XMLPUBFUN int XMLCALL ! 257: xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer, ! 258: const xmlChar * target, ! 259: const char *format, ...) ! 260: LIBXML_ATTR_FORMAT(3,4); ! 261: XMLPUBFUN int XMLCALL ! 262: xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer, ! 263: const xmlChar * target, ! 264: const char *format, va_list argptr) ! 265: LIBXML_ATTR_FORMAT(3,0); ! 266: XMLPUBFUN int XMLCALL ! 267: xmlTextWriterWritePI(xmlTextWriterPtr writer, ! 268: const xmlChar * target, ! 269: const xmlChar * content); ! 270: ! 271: /** ! 272: * xmlTextWriterWriteProcessingInstruction: ! 273: * ! 274: * This macro maps to xmlTextWriterWritePI ! 275: */ ! 276: #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI ! 277: ! 278: /* ! 279: * CDATA ! 280: */ ! 281: XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer); ! 282: XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer); ! 283: ! 284: /* ! 285: * CDATA conveniency functions ! 286: */ ! 287: XMLPUBFUN int XMLCALL ! 288: xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer, ! 289: const char *format, ...) ! 290: LIBXML_ATTR_FORMAT(2,3); ! 291: XMLPUBFUN int XMLCALL ! 292: xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer, ! 293: const char *format, va_list argptr) ! 294: LIBXML_ATTR_FORMAT(2,0); ! 295: XMLPUBFUN int XMLCALL ! 296: xmlTextWriterWriteCDATA(xmlTextWriterPtr writer, ! 297: const xmlChar * content); ! 298: ! 299: /* ! 300: * DTD ! 301: */ ! 302: XMLPUBFUN int XMLCALL ! 303: xmlTextWriterStartDTD(xmlTextWriterPtr writer, ! 304: const xmlChar * name, ! 305: const xmlChar * pubid, ! 306: const xmlChar * sysid); ! 307: XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer); ! 308: ! 309: /* ! 310: * DTD conveniency functions ! 311: */ ! 312: XMLPUBFUN int XMLCALL ! 313: xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer, ! 314: const xmlChar * name, ! 315: const xmlChar * pubid, ! 316: const xmlChar * sysid, ! 317: const char *format, ...) ! 318: LIBXML_ATTR_FORMAT(5,6); ! 319: XMLPUBFUN int XMLCALL ! 320: xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer, ! 321: const xmlChar * name, ! 322: const xmlChar * pubid, ! 323: const xmlChar * sysid, ! 324: const char *format, va_list argptr) ! 325: LIBXML_ATTR_FORMAT(5,0); ! 326: XMLPUBFUN int XMLCALL ! 327: xmlTextWriterWriteDTD(xmlTextWriterPtr writer, ! 328: const xmlChar * name, ! 329: const xmlChar * pubid, ! 330: const xmlChar * sysid, ! 331: const xmlChar * subset); ! 332: ! 333: /** ! 334: * xmlTextWriterWriteDocType: ! 335: * ! 336: * this macro maps to xmlTextWriterWriteDTD ! 337: */ ! 338: #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD ! 339: ! 340: /* ! 341: * DTD element definition ! 342: */ ! 343: XMLPUBFUN int XMLCALL ! 344: xmlTextWriterStartDTDElement(xmlTextWriterPtr writer, ! 345: const xmlChar * name); ! 346: XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr ! 347: writer); ! 348: ! 349: /* ! 350: * DTD element definition conveniency functions ! 351: */ ! 352: XMLPUBFUN int XMLCALL ! 353: xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer, ! 354: const xmlChar * name, ! 355: const char *format, ...) ! 356: LIBXML_ATTR_FORMAT(3,4); ! 357: XMLPUBFUN int XMLCALL ! 358: xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer, ! 359: const xmlChar * name, ! 360: const char *format, ! 361: va_list argptr) ! 362: LIBXML_ATTR_FORMAT(3,0); ! 363: XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr ! 364: writer, ! 365: const xmlChar * ! 366: name, ! 367: const xmlChar * ! 368: content); ! 369: ! 370: /* ! 371: * DTD attribute list definition ! 372: */ ! 373: XMLPUBFUN int XMLCALL ! 374: xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer, ! 375: const xmlChar * name); ! 376: XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr ! 377: writer); ! 378: ! 379: /* ! 380: * DTD attribute list definition conveniency functions ! 381: */ ! 382: XMLPUBFUN int XMLCALL ! 383: xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer, ! 384: const xmlChar * name, ! 385: const char *format, ...) ! 386: LIBXML_ATTR_FORMAT(3,4); ! 387: XMLPUBFUN int XMLCALL ! 388: xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer, ! 389: const xmlChar * name, ! 390: const char *format, ! 391: va_list argptr) ! 392: LIBXML_ATTR_FORMAT(3,0); ! 393: XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr ! 394: writer, ! 395: const xmlChar * ! 396: name, ! 397: const xmlChar * ! 398: content); ! 399: ! 400: /* ! 401: * DTD entity definition ! 402: */ ! 403: XMLPUBFUN int XMLCALL ! 404: xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer, ! 405: int pe, const xmlChar * name); ! 406: XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr ! 407: writer); ! 408: ! 409: /* ! 410: * DTD entity definition conveniency functions ! 411: */ ! 412: XMLPUBFUN int XMLCALL ! 413: xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer, ! 414: int pe, ! 415: const xmlChar * name, ! 416: const char *format, ...) ! 417: LIBXML_ATTR_FORMAT(4,5); ! 418: XMLPUBFUN int XMLCALL ! 419: xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer, ! 420: int pe, ! 421: const xmlChar * name, ! 422: const char *format, ! 423: va_list argptr) ! 424: LIBXML_ATTR_FORMAT(4,0); ! 425: XMLPUBFUN int XMLCALL ! 426: xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer, ! 427: int pe, ! 428: const xmlChar * name, ! 429: const xmlChar * content); ! 430: XMLPUBFUN int XMLCALL ! 431: xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer, ! 432: int pe, ! 433: const xmlChar * name, ! 434: const xmlChar * pubid, ! 435: const xmlChar * sysid, ! 436: const xmlChar * ndataid); ! 437: XMLPUBFUN int XMLCALL ! 438: xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr ! 439: writer, ! 440: const xmlChar * pubid, ! 441: const xmlChar * sysid, ! 442: const xmlChar * ! 443: ndataid); ! 444: XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr ! 445: writer, int pe, ! 446: const xmlChar * name, ! 447: const xmlChar * ! 448: pubid, ! 449: const xmlChar * ! 450: sysid, ! 451: const xmlChar * ! 452: ndataid, ! 453: const xmlChar * ! 454: content); ! 455: ! 456: /* ! 457: * DTD notation definition ! 458: */ ! 459: XMLPUBFUN int XMLCALL ! 460: xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer, ! 461: const xmlChar * name, ! 462: const xmlChar * pubid, ! 463: const xmlChar * sysid); ! 464: ! 465: /* ! 466: * Indentation ! 467: */ ! 468: XMLPUBFUN int XMLCALL ! 469: xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent); ! 470: XMLPUBFUN int XMLCALL ! 471: xmlTextWriterSetIndentString(xmlTextWriterPtr writer, ! 472: const xmlChar * str); ! 473: ! 474: /* ! 475: * misc ! 476: */ ! 477: XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer); ! 478: ! 479: #ifdef __cplusplus ! 480: } ! 481: #endif ! 482: ! 483: #endif /* LIBXML_WRITER_ENABLED */ ! 484: ! 485: #endif /* __XML_XMLWRITER_H__ */