Annotation of embedaddon/libxml2/include/libxml/xmlwriter.h, revision 1.1.1.2

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>