Edit

kc3-lang/libxml2/include/libxml/xmlwriter.h

Branch :

  • Show log

    Commit

  • Author : Nick Wellnhofer
    Date : 2024-01-05 20:31:10
    Hash : d2b55a7a
    Message : writer: Implement xmlTextWriterClose This function can be used to make sure that closing the output stream succeeded. Fixes #513.

  • include/libxml/xmlwriter.h
  • /*
     * Summary: text writing API for XML
     * Description: text writing API for XML
     *
     * Copy: See Copyright for the status of this software.
     *
     * Author: Alfred Mickautsch <alfred@mickautsch.de>
     */
    
    #ifndef __XML_XMLWRITER_H__
    #define __XML_XMLWRITER_H__
    
    #include <libxml/xmlversion.h>
    
    #ifdef LIBXML_WRITER_ENABLED
    
    #include <stdarg.h>
    #include <libxml/xmlIO.h>
    #include <libxml/list.h>
    #include <libxml/xmlstring.h>
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
        typedef struct _xmlTextWriter xmlTextWriter;
        typedef xmlTextWriter *xmlTextWriterPtr;
    
    /*
     * Constructors & Destructor
     */
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriter(xmlOutputBufferPtr out);
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriterFilename(const char *uri, int compression);
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
        XMLPUBFUN xmlTextWriterPtr
            xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
                                 int compression);
        XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer);
    
    /*
     * Functions
     */
    
    
    /*
     * Document
     */
        XMLPUBFUN int
            xmlTextWriterStartDocument(xmlTextWriterPtr writer,
                                       const char *version,
                                       const char *encoding,
                                       const char *standalone);
        XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr
                                                       writer);
    
    /*
     * Comments
     */
        XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr
                                                        writer);
        XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer);
        XMLPUBFUN int
            xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                            const char *format, ...)
    					LIBXML_ATTR_FORMAT(2,3);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
                                             const char *format,
                                             va_list argptr)
    					 LIBXML_ATTR_FORMAT(2,0);
        XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        content);
    
    /*
     * Elements
     */
        XMLPUBFUN int
            xmlTextWriterStartElement(xmlTextWriterPtr writer,
                                      const xmlChar * name);
        XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr
                                                          writer,
                                                          const xmlChar *
                                                          prefix,
                                                          const xmlChar * name,
                                                          const xmlChar *
                                                          namespaceURI);
        XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer);
        XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr
                                                          writer);
    
    /*
     * Elements conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format, ...)
    					LIBXML_ATTR_FORMAT(3,4);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
                                             const xmlChar * name,
                                             const char *format,
                                             va_list argptr)
    					 LIBXML_ATTR_FORMAT(3,0);
        XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar * name,
                                                        const xmlChar *
                                                        content);
        XMLPUBFUN int
            xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                              const xmlChar * prefix,
                                              const xmlChar * name,
                                              const xmlChar * namespaceURI,
                                              const char *format, ...)
    					  LIBXML_ATTR_FORMAT(5,6);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
                                               const xmlChar * prefix,
                                               const xmlChar * name,
                                               const xmlChar * namespaceURI,
                                               const char *format,
                                               va_list argptr)
    					   LIBXML_ATTR_FORMAT(5,0);
        XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr
                                                          writer,
                                                          const xmlChar *
                                                          prefix,
                                                          const xmlChar * name,
                                                          const xmlChar *
                                                          namespaceURI,
                                                          const xmlChar *
                                                          content);
    
    /*
     * Text
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
                                        const char *format, ...)
    				    LIBXML_ATTR_FORMAT(2,3);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
                                         const char *format, va_list argptr)
    				     LIBXML_ATTR_FORMAT(2,0);
        XMLPUBFUN int
            xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
                                     const xmlChar * content, int len);
        XMLPUBFUN int
            xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
                                  const xmlChar * content);
        XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr
                                                             writer,
                                                             const char
                                                             *format, ...)
    							 LIBXML_ATTR_FORMAT(2,3);
        XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr
                                                              writer,
                                                              const char
                                                              *format,
                                                              va_list argptr)
    							  LIBXML_ATTR_FORMAT(2,0);
        XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer,
                                                       const xmlChar *
                                                       content);
        XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
                                                       const char *data,
                                                       int start, int len);
        XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
                                                       const char *data,
                                                       int start, int len);
    
    /*
     * Attributes
     */
        XMLPUBFUN int
            xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
                                        const xmlChar * name);
        XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr
                                                            writer,
                                                            const xmlChar *
                                                            prefix,
                                                            const xmlChar *
                                                            name,
                                                            const xmlChar *
                                                            namespaceURI);
        XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr
                                                        writer);
    
    /*
     * Attributes conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                              const xmlChar * name,
                                              const char *format, ...)
    					  LIBXML_ATTR_FORMAT(3,4);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
                                               const xmlChar * name,
                                               const char *format,
                                               va_list argptr)
    					   LIBXML_ATTR_FORMAT(3,0);
        XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr
                                                          writer,
                                                          const xmlChar * name,
                                                          const xmlChar *
                                                          content);
        XMLPUBFUN int
            xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                                const xmlChar * prefix,
                                                const xmlChar * name,
                                                const xmlChar * namespaceURI,
                                                const char *format, ...)
    					    LIBXML_ATTR_FORMAT(5,6);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
                                                 const xmlChar * prefix,
                                                 const xmlChar * name,
                                                 const xmlChar * namespaceURI,
                                                 const char *format,
                                                 va_list argptr)
    					     LIBXML_ATTR_FORMAT(5,0);
        XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
                                                            writer,
                                                            const xmlChar *
                                                            prefix,
                                                            const xmlChar *
                                                            name,
                                                            const xmlChar *
                                                            namespaceURI,
                                                            const xmlChar *
                                                            content);
    
    /*
     * PI's
     */
        XMLPUBFUN int
            xmlTextWriterStartPI(xmlTextWriterPtr writer,
                                 const xmlChar * target);
        XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer);
    
    /*
     * PI conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
                                       const xmlChar * target,
                                       const char *format, ...)
    				   LIBXML_ATTR_FORMAT(3,4);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
                                        const xmlChar * target,
                                        const char *format, va_list argptr)
    				    LIBXML_ATTR_FORMAT(3,0);
        XMLPUBFUN int
            xmlTextWriterWritePI(xmlTextWriterPtr writer,
                                 const xmlChar * target,
                                 const xmlChar * content);
    
    /**
     * xmlTextWriterWriteProcessingInstruction:
     *
     * This macro maps to xmlTextWriterWritePI
     */
    #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
    
    /*
     * CDATA
     */
        XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
        XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
    
    /*
     * CDATA conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
                                          const char *format, ...)
    				      LIBXML_ATTR_FORMAT(2,3);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
                                           const char *format, va_list argptr)
    				       LIBXML_ATTR_FORMAT(2,0);
        XMLPUBFUN int
            xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
                                    const xmlChar * content);
    
    /*
     * DTD
     */
        XMLPUBFUN int
            xmlTextWriterStartDTD(xmlTextWriterPtr writer,
                                  const xmlChar * name,
                                  const xmlChar * pubid,
                                  const xmlChar * sysid);
        XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer);
    
    /*
     * DTD conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                                        const xmlChar * name,
                                        const xmlChar * pubid,
                                        const xmlChar * sysid,
                                        const char *format, ...)
    				    LIBXML_ATTR_FORMAT(5,6);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
                                         const xmlChar * name,
                                         const xmlChar * pubid,
                                         const xmlChar * sysid,
                                         const char *format, va_list argptr)
    				     LIBXML_ATTR_FORMAT(5,0);
        XMLPUBFUN int
            xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
                                  const xmlChar * name,
                                  const xmlChar * pubid,
                                  const xmlChar * sysid,
                                  const xmlChar * subset);
    
    /**
     * xmlTextWriterWriteDocType:
     *
     * this macro maps to xmlTextWriterWriteDTD
     */
    #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
    
    /*
     * DTD element definition
     */
        XMLPUBFUN int
            xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
                                         const xmlChar * name);
        XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr
                                                         writer);
    
    /*
     * DTD element definition conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                               const xmlChar * name,
                                               const char *format, ...)
    					   LIBXML_ATTR_FORMAT(3,4);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
                                                const xmlChar * name,
                                                const char *format,
                                                va_list argptr)
    					    LIBXML_ATTR_FORMAT(3,0);
        XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr
                                                           writer,
                                                           const xmlChar *
                                                           name,
                                                           const xmlChar *
                                                           content);
    
    /*
     * DTD attribute list definition
     */
        XMLPUBFUN int
            xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
                                         const xmlChar * name);
        XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
                                                         writer);
    
    /*
     * DTD attribute list definition conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                               const xmlChar * name,
                                               const char *format, ...)
    					   LIBXML_ATTR_FORMAT(3,4);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
                                                const xmlChar * name,
                                                const char *format,
                                                va_list argptr)
    					    LIBXML_ATTR_FORMAT(3,0);
        XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
                                                           writer,
                                                           const xmlChar *
                                                           name,
                                                           const xmlChar *
                                                           content);
    
    /*
     * DTD entity definition
     */
        XMLPUBFUN int
            xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
                                        int pe, const xmlChar * name);
        XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr
                                                        writer);
    
    /*
     * DTD entity definition conveniency functions
     */
        XMLPUBFUN int
            xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                      int pe,
                                                      const xmlChar * name,
                                                      const char *format, ...)
    						  LIBXML_ATTR_FORMAT(4,5);
        XMLPUBFUN int
            xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                       int pe,
                                                       const xmlChar * name,
                                                       const char *format,
                                                       va_list argptr)
    						   LIBXML_ATTR_FORMAT(4,0);
        XMLPUBFUN int
            xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
                                                int pe,
                                                const xmlChar * name,
                                                const xmlChar * content);
        XMLPUBFUN int
            xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
                                                int pe,
                                                const xmlChar * name,
                                                const xmlChar * pubid,
                                                const xmlChar * sysid,
                                                const xmlChar * ndataid);
        XMLPUBFUN int
            xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar * pubid,
                                                        const xmlChar * sysid,
                                                        const xmlChar *
                                                        ndataid);
        XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
                                                          writer, int pe,
                                                          const xmlChar * name,
                                                          const xmlChar *
                                                          pubid,
                                                          const xmlChar *
                                                          sysid,
                                                          const xmlChar *
                                                          ndataid,
                                                          const xmlChar *
                                                          content);
    
    /*
     * DTD notation definition
     */
        XMLPUBFUN int
            xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
                                          const xmlChar * name,
                                          const xmlChar * pubid,
                                          const xmlChar * sysid);
    
    /*
     * Indentation
     */
        XMLPUBFUN int
            xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
        XMLPUBFUN int
            xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
                                         const xmlChar * str);
    
        XMLPUBFUN int
            xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
    
    
    /*
     * misc
     */
        XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer);
        XMLPUBFUN int xmlTextWriterClose(xmlTextWriterPtr writer);
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif /* LIBXML_WRITER_ENABLED */
    
    #endif                          /* __XML_XMLWRITER_H__ */