123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488 |
- /*
- * 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 XMLCALL
- xmlNewTextWriter(xmlOutputBufferPtr out);
- XMLPUBFUN xmlTextWriterPtr XMLCALL
- xmlNewTextWriterFilename(const char *uri, int compression);
- XMLPUBFUN xmlTextWriterPtr XMLCALL
- xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
- XMLPUBFUN xmlTextWriterPtr XMLCALL
- xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
- XMLPUBFUN xmlTextWriterPtr XMLCALL
- xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
- XMLPUBFUN xmlTextWriterPtr XMLCALL
- xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
- int compression);
- XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
- /*
- * Functions
- */
- /*
- * Document
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartDocument(xmlTextWriterPtr writer,
- const char *version,
- const char *encoding,
- const char *standalone);
- XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
- writer);
- /*
- * Comments
- */
- XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
- writer);
- XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
- writer,
- const xmlChar *
- content);
- /*
- * Elements
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartElement(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar * name,
- const xmlChar *
- namespaceURI);
- XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
- XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
- writer);
- /*
- * Elements conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
- writer,
- const xmlChar * name,
- const xmlChar *
- content);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int XMLCALL
- 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 XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar * name,
- const xmlChar *
- namespaceURI,
- const xmlChar *
- content);
- /*
- * Text
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
- const xmlChar * content, int len);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
- const xmlChar * content);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
- writer,
- const char
- *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
- writer,
- const char
- *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
- const xmlChar *
- content);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
- const char *data,
- int start, int len);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
- const char *data,
- int start, int len);
- /*
- * Attributes
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar *
- name,
- const xmlChar *
- namespaceURI);
- XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
- writer);
- /*
- * Attributes conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
- writer,
- const xmlChar * name,
- const xmlChar *
- content);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int XMLCALL
- 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 XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar *
- name,
- const xmlChar *
- namespaceURI,
- const xmlChar *
- content);
- /*
- * PI's
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartPI(xmlTextWriterPtr writer,
- const xmlChar * target);
- XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
- /*
- * PI conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWritePI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const xmlChar * content);
- /**
- * xmlTextWriterWriteProcessingInstruction:
- *
- * This macro maps to xmlTextWriterWritePI
- */
- #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
- /*
- * CDATA
- */
- XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
- XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
- /*
- * CDATA conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
- const xmlChar * content);
- /*
- * DTD
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid);
- XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
- /*
- * DTD conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int XMLCALL
- 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 XMLCALL
- 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 XMLCALL
- xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
- writer);
- /*
- * DTD element definition conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
- writer,
- const xmlChar *
- name,
- const xmlChar *
- content);
- /*
- * DTD attribute list definition
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
- writer);
- /*
- * DTD attribute list definition conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
- writer,
- const xmlChar *
- name,
- const xmlChar *
- content);
- /*
- * DTD entity definition
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
- int pe, const xmlChar * name);
- XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
- writer);
- /*
- * DTD entity definition conveniency functions
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(4,5);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(4,0);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const xmlChar * content);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const xmlChar * ndataid);
- XMLPUBFUN int XMLCALL
- xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
- writer,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const xmlChar *
- ndataid);
- XMLPUBFUN int XMLCALL 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 XMLCALL
- xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid);
- /*
- * Indentation
- */
- XMLPUBFUN int XMLCALL
- xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
- XMLPUBFUN int XMLCALL
- xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
- const xmlChar * str);
- XMLPUBFUN int XMLCALL
- xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
- /*
- * misc
- */
- XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
- #ifdef __cplusplus
- }
- #endif
- #endif /* LIBXML_WRITER_ENABLED */
- #endif /* __XML_XMLWRITER_H__ */
|