| /* libxml2 - Library for parsing XML documents |
| * Copyright (C) 2006-2019 Free Software Foundation, Inc. |
| * |
| * This file is not part of the GNU gettext program, but is used with |
| * GNU gettext. |
| * |
| * The original copyright notice is as follows: |
| */ |
| |
| /* |
| * Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a copy |
| * of this software and associated documentation files (the "Software"), to deal |
| * in the Software without restriction, including without limitation the rights |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| * copies of the Software, and to permit persons to whom the Software is fur- |
| * nished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included in |
| * all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- |
| * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
| * THE SOFTWARE. |
| * |
| * Author: Daniel Veillard |
| */ |
| |
| /* |
| * Summary: the XML document serializer |
| * Description: API to save document or subtree of document |
| */ |
| |
| #ifndef __XML_XMLSAVE_H__ |
| #define __XML_XMLSAVE_H__ |
| |
| #include <libxml/xmlversion.h> |
| #include <libxml/tree.h> |
| #include <libxml/encoding.h> |
| #include <libxml/xmlIO.h> |
| |
| #ifdef LIBXML_OUTPUT_ENABLED |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * xmlSaveOption: |
| * |
| * This is the set of XML save options that can be passed down |
| * to the xmlSaveToFd() and similar calls. |
| */ |
| typedef enum { |
| XML_SAVE_FORMAT = 1<<0, /* format save output */ |
| XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */ |
| XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */ |
| XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */ |
| XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */ |
| XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */ |
| XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */ |
| XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */ |
| } xmlSaveOption; |
| |
| |
| typedef struct _xmlSaveCtxt xmlSaveCtxt; |
| typedef xmlSaveCtxt *xmlSaveCtxtPtr; |
| |
| XMLPUBFUN xmlSaveCtxtPtr XMLCALL |
| xmlSaveToFd (int fd, |
| const char *encoding, |
| int options); |
| XMLPUBFUN xmlSaveCtxtPtr XMLCALL |
| xmlSaveToFilename (const char *filename, |
| const char *encoding, |
| int options); |
| |
| XMLPUBFUN xmlSaveCtxtPtr XMLCALL |
| xmlSaveToBuffer (xmlBufferPtr buffer, |
| const char *encoding, |
| int options); |
| |
| XMLPUBFUN xmlSaveCtxtPtr XMLCALL |
| xmlSaveToIO (xmlOutputWriteCallback iowrite, |
| xmlOutputCloseCallback ioclose, |
| void *ioctx, |
| const char *encoding, |
| int options); |
| |
| XMLPUBFUN long XMLCALL |
| xmlSaveDoc (xmlSaveCtxtPtr ctxt, |
| xmlDocPtr doc); |
| XMLPUBFUN long XMLCALL |
| xmlSaveTree (xmlSaveCtxtPtr ctxt, |
| xmlNodePtr node); |
| |
| XMLPUBFUN int XMLCALL |
| xmlSaveFlush (xmlSaveCtxtPtr ctxt); |
| XMLPUBFUN int XMLCALL |
| xmlSaveClose (xmlSaveCtxtPtr ctxt); |
| XMLPUBFUN int XMLCALL |
| xmlSaveSetEscape (xmlSaveCtxtPtr ctxt, |
| xmlCharEncodingOutputFunc escape); |
| XMLPUBFUN int XMLCALL |
| xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt, |
| xmlCharEncodingOutputFunc escape); |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* LIBXML_OUTPUT_ENABLED */ |
| #endif /* __XML_XMLSAVE_H__ */ |
| |
| |