File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml / xmlwriter.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:38 2014 UTC (10 years, 3 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    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: 
  473:     XMLPUBFUN int XMLCALL
  474:         xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
  475: 
  476: 
  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>