Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/xmlwriter.h
811 views
/*1* Summary: text writing API for XML2* Description: text writing API for XML3*4* Copy: See Copyright for the status of this software.5*6* Author: Alfred Mickautsch <[email protected]>7*/89#ifndef __XML_XMLWRITER_H__10#define __XML_XMLWRITER_H__1112#include <libxml/xmlversion.h>1314#ifdef LIBXML_WRITER_ENABLED1516#include <stdarg.h>17#include <libxml/xmlIO.h>18#include <libxml/list.h>19#include <libxml/xmlstring.h>2021#ifdef __cplusplus22extern "C" {23#endif2425typedef struct _xmlTextWriter xmlTextWriter;26typedef xmlTextWriter *xmlTextWriterPtr;2728/*29* Constructors & Destructor30*/31XMLPUBFUN xmlTextWriterPtr XMLCALL32xmlNewTextWriter(xmlOutputBufferPtr out);33XMLPUBFUN xmlTextWriterPtr XMLCALL34xmlNewTextWriterFilename(const char *uri, int compression);35XMLPUBFUN xmlTextWriterPtr XMLCALL36xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);37XMLPUBFUN xmlTextWriterPtr XMLCALL38xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);39XMLPUBFUN xmlTextWriterPtr XMLCALL40xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);41XMLPUBFUN xmlTextWriterPtr XMLCALL42xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,43int compression);44XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);4546/*47* Functions48*/495051/*52* Document53*/54XMLPUBFUN int XMLCALL55xmlTextWriterStartDocument(xmlTextWriterPtr writer,56const char *version,57const char *encoding,58const char *standalone);59XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr60writer);6162/*63* Comments64*/65XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr66writer);67XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);68XMLPUBFUN int XMLCALL69xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,70const char *format, ...)71LIBXML_ATTR_FORMAT(2,3);72XMLPUBFUN int XMLCALL73xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,74const char *format,75va_list argptr)76LIBXML_ATTR_FORMAT(2,0);77XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr78writer,79const xmlChar *80content);8182/*83* Elements84*/85XMLPUBFUN int XMLCALL86xmlTextWriterStartElement(xmlTextWriterPtr writer,87const xmlChar * name);88XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr89writer,90const xmlChar *91prefix,92const xmlChar * name,93const xmlChar *94namespaceURI);95XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);96XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr97writer);9899/*100* Elements conveniency functions101*/102XMLPUBFUN int XMLCALL103xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,104const xmlChar * name,105const char *format, ...)106LIBXML_ATTR_FORMAT(3,4);107XMLPUBFUN int XMLCALL108xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,109const xmlChar * name,110const char *format,111va_list argptr)112LIBXML_ATTR_FORMAT(3,0);113XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr114writer,115const xmlChar * name,116const xmlChar *117content);118XMLPUBFUN int XMLCALL119xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,120const xmlChar * prefix,121const xmlChar * name,122const xmlChar * namespaceURI,123const char *format, ...)124LIBXML_ATTR_FORMAT(5,6);125XMLPUBFUN int XMLCALL126xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,127const xmlChar * prefix,128const xmlChar * name,129const xmlChar * namespaceURI,130const char *format,131va_list argptr)132LIBXML_ATTR_FORMAT(5,0);133XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr134writer,135const xmlChar *136prefix,137const xmlChar * name,138const xmlChar *139namespaceURI,140const xmlChar *141content);142143/*144* Text145*/146XMLPUBFUN int XMLCALL147xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,148const char *format, ...)149LIBXML_ATTR_FORMAT(2,3);150XMLPUBFUN int XMLCALL151xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,152const char *format, va_list argptr)153LIBXML_ATTR_FORMAT(2,0);154XMLPUBFUN int XMLCALL155xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,156const xmlChar * content, int len);157XMLPUBFUN int XMLCALL158xmlTextWriterWriteRaw(xmlTextWriterPtr writer,159const xmlChar * content);160XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr161writer,162const char163*format, ...)164LIBXML_ATTR_FORMAT(2,3);165XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr166writer,167const char168*format,169va_list argptr)170LIBXML_ATTR_FORMAT(2,0);171XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,172const xmlChar *173content);174XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,175const char *data,176int start, int len);177XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,178const char *data,179int start, int len);180181/*182* Attributes183*/184XMLPUBFUN int XMLCALL185xmlTextWriterStartAttribute(xmlTextWriterPtr writer,186const xmlChar * name);187XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr188writer,189const xmlChar *190prefix,191const xmlChar *192name,193const xmlChar *194namespaceURI);195XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr196writer);197198/*199* Attributes conveniency functions200*/201XMLPUBFUN int XMLCALL202xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,203const xmlChar * name,204const char *format, ...)205LIBXML_ATTR_FORMAT(3,4);206XMLPUBFUN int XMLCALL207xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,208const xmlChar * name,209const char *format,210va_list argptr)211LIBXML_ATTR_FORMAT(3,0);212XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr213writer,214const xmlChar * name,215const xmlChar *216content);217XMLPUBFUN int XMLCALL218xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,219const xmlChar * prefix,220const xmlChar * name,221const xmlChar * namespaceURI,222const char *format, ...)223LIBXML_ATTR_FORMAT(5,6);224XMLPUBFUN int XMLCALL225xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,226const xmlChar * prefix,227const xmlChar * name,228const xmlChar * namespaceURI,229const char *format,230va_list argptr)231LIBXML_ATTR_FORMAT(5,0);232XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr233writer,234const xmlChar *235prefix,236const xmlChar *237name,238const xmlChar *239namespaceURI,240const xmlChar *241content);242243/*244* PI's245*/246XMLPUBFUN int XMLCALL247xmlTextWriterStartPI(xmlTextWriterPtr writer,248const xmlChar * target);249XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);250251/*252* PI conveniency functions253*/254XMLPUBFUN int XMLCALL255xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,256const xmlChar * target,257const char *format, ...)258LIBXML_ATTR_FORMAT(3,4);259XMLPUBFUN int XMLCALL260xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,261const xmlChar * target,262const char *format, va_list argptr)263LIBXML_ATTR_FORMAT(3,0);264XMLPUBFUN int XMLCALL265xmlTextWriterWritePI(xmlTextWriterPtr writer,266const xmlChar * target,267const xmlChar * content);268269/**270* xmlTextWriterWriteProcessingInstruction:271*272* This macro maps to xmlTextWriterWritePI273*/274#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI275276/*277* CDATA278*/279XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);280XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);281282/*283* CDATA conveniency functions284*/285XMLPUBFUN int XMLCALL286xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,287const char *format, ...)288LIBXML_ATTR_FORMAT(2,3);289XMLPUBFUN int XMLCALL290xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,291const char *format, va_list argptr)292LIBXML_ATTR_FORMAT(2,0);293XMLPUBFUN int XMLCALL294xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,295const xmlChar * content);296297/*298* DTD299*/300XMLPUBFUN int XMLCALL301xmlTextWriterStartDTD(xmlTextWriterPtr writer,302const xmlChar * name,303const xmlChar * pubid,304const xmlChar * sysid);305XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);306307/*308* DTD conveniency functions309*/310XMLPUBFUN int XMLCALL311xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,312const xmlChar * name,313const xmlChar * pubid,314const xmlChar * sysid,315const char *format, ...)316LIBXML_ATTR_FORMAT(5,6);317XMLPUBFUN int XMLCALL318xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,319const xmlChar * name,320const xmlChar * pubid,321const xmlChar * sysid,322const char *format, va_list argptr)323LIBXML_ATTR_FORMAT(5,0);324XMLPUBFUN int XMLCALL325xmlTextWriterWriteDTD(xmlTextWriterPtr writer,326const xmlChar * name,327const xmlChar * pubid,328const xmlChar * sysid,329const xmlChar * subset);330331/**332* xmlTextWriterWriteDocType:333*334* this macro maps to xmlTextWriterWriteDTD335*/336#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD337338/*339* DTD element definition340*/341XMLPUBFUN int XMLCALL342xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,343const xmlChar * name);344XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr345writer);346347/*348* DTD element definition conveniency functions349*/350XMLPUBFUN int XMLCALL351xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,352const xmlChar * name,353const char *format, ...)354LIBXML_ATTR_FORMAT(3,4);355XMLPUBFUN int XMLCALL356xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,357const xmlChar * name,358const char *format,359va_list argptr)360LIBXML_ATTR_FORMAT(3,0);361XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr362writer,363const xmlChar *364name,365const xmlChar *366content);367368/*369* DTD attribute list definition370*/371XMLPUBFUN int XMLCALL372xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,373const xmlChar * name);374XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr375writer);376377/*378* DTD attribute list definition conveniency functions379*/380XMLPUBFUN int XMLCALL381xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,382const xmlChar * name,383const char *format, ...)384LIBXML_ATTR_FORMAT(3,4);385XMLPUBFUN int XMLCALL386xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,387const xmlChar * name,388const char *format,389va_list argptr)390LIBXML_ATTR_FORMAT(3,0);391XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr392writer,393const xmlChar *394name,395const xmlChar *396content);397398/*399* DTD entity definition400*/401XMLPUBFUN int XMLCALL402xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,403int pe, const xmlChar * name);404XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr405writer);406407/*408* DTD entity definition conveniency functions409*/410XMLPUBFUN int XMLCALL411xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,412int pe,413const xmlChar * name,414const char *format, ...)415LIBXML_ATTR_FORMAT(4,5);416XMLPUBFUN int XMLCALL417xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,418int pe,419const xmlChar * name,420const char *format,421va_list argptr)422LIBXML_ATTR_FORMAT(4,0);423XMLPUBFUN int XMLCALL424xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,425int pe,426const xmlChar * name,427const xmlChar * content);428XMLPUBFUN int XMLCALL429xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,430int pe,431const xmlChar * name,432const xmlChar * pubid,433const xmlChar * sysid,434const xmlChar * ndataid);435XMLPUBFUN int XMLCALL436xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr437writer,438const xmlChar * pubid,439const xmlChar * sysid,440const xmlChar *441ndataid);442XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr443writer, int pe,444const xmlChar * name,445const xmlChar *446pubid,447const xmlChar *448sysid,449const xmlChar *450ndataid,451const xmlChar *452content);453454/*455* DTD notation definition456*/457XMLPUBFUN int XMLCALL458xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,459const xmlChar * name,460const xmlChar * pubid,461const xmlChar * sysid);462463/*464* Indentation465*/466XMLPUBFUN int XMLCALL467xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);468XMLPUBFUN int XMLCALL469xmlTextWriterSetIndentString(xmlTextWriterPtr writer,470const xmlChar * str);471472XMLPUBFUN int XMLCALL473xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);474475476/*477* misc478*/479XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);480481#ifdef __cplusplus482}483#endif484485#endif /* LIBXML_WRITER_ENABLED */486487#endif /* __XML_XMLWRITER_H__ */488489490