2005-09-12 13:10:09 +00:00
< html >
2022-08-24 14:34:04 +02:00
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" >
< title > xmlsave: the XML document serializer< / title >
< meta name = "generator" content = "Libxml2 devhelp stylesheet" >
< link rel = "start" href = "index.html" title = "libxml2 Reference Manual" >
< link rel = "up" href = "general.html" title = "API" >
< link rel = "stylesheet" href = "style.css" type = "text/css" >
< link rel = "chapter" href = "general.html" title = "API" >
< / head >
< body bgcolor = "white" text = "black" link = "#0000FF" vlink = "#840084" alink = "#0000FF" >
< table class = "navigation" width = "100%" summary = "Navigation header" cellpadding = "2" cellspacing = "2" > < tr valign = "middle" >
< td > < a accesskey = "p" href = "libxml2-xmlregexp.html" > < img src = "left.png" width = "24" height = "24" border = "0" alt = "Prev" > < / a > < / td >
< td > < a accesskey = "u" href = "general.html" > < img src = "up.png" width = "24" height = "24" border = "0" alt = "Up" > < / a > < / td >
< td > < a accesskey = "h" href = "index.html" > < img src = "home.png" width = "24" height = "24" border = "0" alt = "Home" > < / a > < / td >
< td > < a accesskey = "n" href = "libxml2-xmlschemas.html" > < img src = "right.png" width = "24" height = "24" border = "0" alt = "Next" > < / a > < / td >
< th width = "100%" align = "center" > libxml2 Reference Manual< / th >
< / tr > < / table >
< h2 > < span class = "refentrytitle" > xmlsave< / span > < / h2 >
< p > xmlsave - the XML document serializer< / p >
< p > API to save document or subtree of document < / p >
< p > Author(s): Daniel Veillard < / p >
< div class = "refsynopsisdiv" >
< h2 > Synopsis< / h2 >
< pre class = "synopsis" > typedef struct _xmlSaveCtxt < a href = "#xmlSaveCtxt" > xmlSaveCtxt< / a > ;
2005-09-12 13:10:09 +00:00
typedef < a href = "libxml2-xmlsave.html#xmlSaveCtxt" > xmlSaveCtxt< / a > * < a href = "#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ;
2022-08-19 11:28:49 +02:00
typedef enum < a href = "#xmlSaveOption" > xmlSaveOption< / a > ;
2005-09-12 13:10:09 +00:00
int < a href = "#xmlSaveClose" > xmlSaveClose< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt);
2022-08-24 14:34:04 +02:00
long < a href = "#xmlSaveDoc" > xmlSaveDoc< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-tree.html#xmlDocPtr" > xmlDocPtr< / a > doc);
2025-03-27 15:17:22 +01:00
< a href = "libxml2-xmlerror.html#xmlParserErrors" > xmlParserErrors< / a > < a href = "#xmlSaveFinish" > xmlSaveFinish< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt);
2022-08-19 11:28:49 +02:00
int < a href = "#xmlSaveFlush" > xmlSaveFlush< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt);
2022-08-24 14:34:04 +02:00
int < a href = "#xmlSaveSetAttrEscape" > xmlSaveSetAttrEscape< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-encoding.html#xmlCharEncodingOutputFunc" > xmlCharEncodingOutputFunc< / a > escape);
int < a href = "#xmlSaveSetEscape" > xmlSaveSetEscape< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-encoding.html#xmlCharEncodingOutputFunc" > xmlCharEncodingOutputFunc< / a > escape);
2025-03-27 15:17:22 +01:00
int < a href = "#xmlSaveSetIndentString" > xmlSaveSetIndentString< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > const char * indent);
2022-08-24 14:34:04 +02:00
< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > < a href = "#xmlSaveToBuffer" > xmlSaveToBuffer< / a > (< a href = "libxml2-tree.html#xmlBufferPtr" > xmlBufferPtr< / a > buffer, < br > const char * encoding, < br > int options);
< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > < a href = "#xmlSaveToFd" > xmlSaveToFd< / a > (int fd, < br > const char * encoding, < br > int options);
< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > < a href = "#xmlSaveToFilename" > xmlSaveToFilename< / a > (const char * filename, < br > const char * encoding, < br > int options);
< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > < a href = "#xmlSaveToIO" > xmlSaveToIO< / a > (< a href = "libxml2-xmlIO.html#xmlOutputWriteCallback" > xmlOutputWriteCallback< / a > iowrite, < br > < a href = "libxml2-xmlIO.html#xmlOutputCloseCallback" > xmlOutputCloseCallback< / a > ioclose, < br > void * ioctx, < br > const char * encoding, < br > int options);
long < a href = "#xmlSaveTree" > xmlSaveTree< / a > (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-tree.html#xmlNodePtr" > xmlNodePtr< / a > cur);
2023-11-04 19:07:37 +01:00
int < a href = "#xmlThrDefIndentTreeOutput" > xmlThrDefIndentTreeOutput< / a > (int v);
int < a href = "#xmlThrDefSaveNoEmptyTags" > xmlThrDefSaveNoEmptyTags< / a > (int v);
const char * < a href = "#xmlThrDefTreeIndentString" > xmlThrDefTreeIndentString< / a > (const char * v);
2005-09-12 13:10:09 +00:00
< / pre >
2022-08-24 14:34:04 +02:00
< / div >
< div class = "refsect1" lang = "en" > < h2 > Description< / h2 > < / div >
< div class = "refsect1" lang = "en" >
< h2 > Details< / h2 >
< div class = "refsect2" lang = "en" >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveCtxt" > Structure < / a > xmlSaveCtxt< / h3 >
< pre class = "programlisting" > struct _xmlSaveCtxt {
2005-09-12 13:10:09 +00:00
The content of this structure is not made public by the API.
} xmlSaveCtxt;
2022-08-24 14:34:04 +02:00
< / pre >
< p > < / p >
2005-09-12 13:10:09 +00:00
< / div >
2022-08-24 14:34:04 +02:00
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveCtxtPtr" > Typedef < / a > xmlSaveCtxtPtr< / h3 >
< pre class = "programlisting" > < a href = "libxml2-xmlsave.html#xmlSaveCtxt" > xmlSaveCtxt< / a > * xmlSaveCtxtPtr;
< / pre >
< p > < / p >
2005-09-12 13:10:09 +00:00
< / div >
2022-08-24 14:34:04 +02:00
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveOption" > Enum < / a > xmlSaveOption< / h3 >
< pre class = "programlisting" > enum < a href = "#xmlSaveOption" > xmlSaveOption< / a > {
2005-09-12 13:10:09 +00:00
< a name = "XML_SAVE_FORMAT" > XML_SAVE_FORMAT< / a > = 1 /* format save output */
2005-09-12 21:43:20 +00:00
< a name = "XML_SAVE_NO_DECL" > XML_SAVE_NO_DECL< / a > = 2 /* drop the xml declaration */
< a name = "XML_SAVE_NO_EMPTY" > XML_SAVE_NO_EMPTY< / a > = 4 /* no empty tags */
2008-10-03 07:58:23 +00:00
< a name = "XML_SAVE_NO_XHTML" > XML_SAVE_NO_XHTML< / a > = 8 /* disable XHTML1 specific rules */
< a name = "XML_SAVE_XHTML" > XML_SAVE_XHTML< / a > = 16 /* force XHTML1 specific rules */
< a name = "XML_SAVE_AS_XML" > XML_SAVE_AS_XML< / a > = 32 /* force XML serialization on HTML doc */
2010-11-04 12:08:08 +01:00
< a name = "XML_SAVE_AS_HTML" > XML_SAVE_AS_HTML< / a > = 64 /* force HTML serialization on XML doc */
2025-03-27 15:17:22 +01:00
< a name = "XML_SAVE_WSNONSIG" > XML_SAVE_WSNONSIG< / a > = 128 /* format with non-significant whitespace Available since 2.14.0 */
< a name = "XML_SAVE_EMPTY" > XML_SAVE_EMPTY< / a > = 256 /* force empty tags, overriding global */
< a name = "XML_SAVE_NO_INDENT" > XML_SAVE_NO_INDENT< / a > = 512 /* disable indenting */
< a name = "XML_SAVE_INDENT" > XML_SAVE_INDENT< / a > = 1024 /* force indenting, overriding global */
2005-09-12 13:10:09 +00:00
};
2022-08-24 14:34:04 +02:00
< / pre >
< p > < / p >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveClose" > < / a > xmlSaveClose ()< / h3 >
< pre class = "programlisting" > int xmlSaveClose (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt)< br >
< / pre >
< p > Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > the number of byte written or -1 in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveDoc" > < / a > xmlSaveDoc ()< / h3 >
< pre class = "programlisting" > long xmlSaveDoc (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-tree.html#xmlDocPtr" > xmlDocPtr< / a > doc)< br >
< / pre >
< p > Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > doc< / tt > < / i > :< / span > < / td >
< td > a document< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > the number of byte written or -1 in case of error< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
2024-06-12 13:35:20 +02:00
< a name = "xmlSaveFinish" > < / a > xmlSaveFinish ()< / h3 >
2025-03-27 15:17:22 +01:00
< pre class = "programlisting" > < a href = "libxml2-xmlerror.html#xmlParserErrors" > xmlParserErrors< / a > xmlSaveFinish (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt)< br >
2024-06-12 13:35:20 +02:00
< / pre >
< p > Close a document saving context, i.e. make sure that all bytes have been output and free the associated data. Available since 2.13.0.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > an < a href = "libxml2-xmlerror.html#xmlParserErrors" > xmlParserErrors< / a > code.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
2022-08-24 14:34:04 +02:00
< a name = "xmlSaveFlush" > < / a > xmlSaveFlush ()< / h3 >
< pre class = "programlisting" > int xmlSaveFlush (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt)< br >
< / pre >
< p > Flush a document saving context, i.e. make sure that all bytes have been output.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > the number of byte written or -1 in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveSetAttrEscape" > < / a > xmlSaveSetAttrEscape ()< / h3 >
< pre class = "programlisting" > int xmlSaveSetAttrEscape (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-encoding.html#xmlCharEncodingOutputFunc" > xmlCharEncodingOutputFunc< / a > escape)< br >
< / pre >
2025-03-27 15:17:22 +01:00
< p > DEPRECATED: Don't use. Has no effect.< / p >
2022-08-24 14:34:04 +02:00
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > escape< / tt > < / i > :< / span > < / td >
< td > the escaping function< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > 0 if successful or -1 in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveSetEscape" > < / a > xmlSaveSetEscape ()< / h3 >
< pre class = "programlisting" > int xmlSaveSetEscape (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-encoding.html#xmlCharEncodingOutputFunc" > xmlCharEncodingOutputFunc< / a > escape)< br >
< / pre >
2025-03-27 15:17:22 +01:00
< p > DEPRECATED: Don't use. Set a custom escaping function to be used for text in element content< / p >
2022-08-24 14:34:04 +02:00
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > escape< / tt > < / i > :< / span > < / td >
< td > the escaping function< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > 0 if successful or -1 in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
2025-03-27 15:17:22 +01:00
< a name = "xmlSaveSetIndentString" > < / a > xmlSaveSetIndentString ()< / h3 >
< pre class = "programlisting" > int xmlSaveSetIndentString (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > const char * indent)< br >
< / pre >
< p > Sets the indent string. Available since 2.14.0.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > save context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > indent< / tt > < / i > :< / span > < / td >
< td > indent string< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > 0 on success, -1 if the string is NULL, empty or too long.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
2022-08-24 14:34:04 +02:00
< a name = "xmlSaveToBuffer" > < / a > xmlSaveToBuffer ()< / h3 >
< pre class = "programlisting" > < a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > xmlSaveToBuffer (< a href = "libxml2-tree.html#xmlBufferPtr" > xmlBufferPtr< / a > buffer, < br > const char * encoding, < br > int options)< br >
< / pre >
< p > Create a document saving context serializing to a buffer with the encoding and the options given< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > buffer< / tt > < / i > :< / span > < / td >
< td > a buffer< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > encoding< / tt > < / i > :< / span > < / td >
< td > the encoding name to use or NULL< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > options< / tt > < / i > :< / span > < / td >
< td > a set of xmlSaveOptions< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > a new serialization context or NULL in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveToFd" > < / a > xmlSaveToFd ()< / h3 >
< pre class = "programlisting" > < a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > xmlSaveToFd (int fd, < br > const char * encoding, < br > int options)< br >
< / pre >
< p > Create a document saving context serializing to a file descriptor with the encoding and the options given.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > fd< / tt > < / i > :< / span > < / td >
< td > a file descriptor number< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > encoding< / tt > < / i > :< / span > < / td >
< td > the encoding name to use or NULL< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > options< / tt > < / i > :< / span > < / td >
< td > a set of xmlSaveOptions< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > a new serialization context or NULL in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveToFilename" > < / a > xmlSaveToFilename ()< / h3 >
< pre class = "programlisting" > < a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > xmlSaveToFilename (const char * filename, < br > const char * encoding, < br > int options)< br >
< / pre >
< p > Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > filename< / tt > < / i > :< / span > < / td >
< td > a file name or an URL< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > encoding< / tt > < / i > :< / span > < / td >
< td > the encoding name to use or NULL< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > options< / tt > < / i > :< / span > < / td >
< td > a set of xmlSaveOptions< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > a new serialization context or NULL in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveToIO" > < / a > xmlSaveToIO ()< / h3 >
< pre class = "programlisting" > < a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > xmlSaveToIO (< a href = "libxml2-xmlIO.html#xmlOutputWriteCallback" > xmlOutputWriteCallback< / a > iowrite, < br > < a href = "libxml2-xmlIO.html#xmlOutputCloseCallback" > xmlOutputCloseCallback< / a > ioclose, < br > void * ioctx, < br > const char * encoding, < br > int options)< br >
< / pre >
< p > Create a document saving context serializing to a file descriptor with the encoding and the options given< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > iowrite< / tt > < / i > :< / span > < / td >
< td > an I/O write function< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > ioclose< / tt > < / i > :< / span > < / td >
< td > an I/O close function< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > ioctx< / tt > < / i > :< / span > < / td >
< td > an I/O handler< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > encoding< / tt > < / i > :< / span > < / td >
< td > the encoding name to use or NULL< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > options< / tt > < / i > :< / span > < / td >
< td > a set of xmlSaveOptions< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > a new serialization context or NULL in case of error.< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlSaveTree" > < / a > xmlSaveTree ()< / h3 >
< pre class = "programlisting" > long xmlSaveTree (< a href = "libxml2-xmlsave.html#xmlSaveCtxtPtr" > xmlSaveCtxtPtr< / a > ctxt, < br > < a href = "libxml2-tree.html#xmlNodePtr" > xmlNodePtr< / a > cur)< br >
< / pre >
< p > Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead< / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > ctxt< / tt > < / i > :< / span > < / td >
< td > a document saving context< / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > cur< / tt > < / i > :< / span > < / td >
2023-11-04 19:07:37 +01:00
< td > the top node of the subtree to save< / td >
2022-08-24 14:34:04 +02:00
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > the number of byte written or -1 in case of error< / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
2023-11-04 19:07:37 +01:00
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlThrDefIndentTreeOutput" > < / a > xmlThrDefIndentTreeOutput ()< / h3 >
< pre class = "programlisting" > int xmlThrDefIndentTreeOutput (int v)< br >
< / pre >
< p > < / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > v< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlThrDefSaveNoEmptyTags" > < / a > xmlThrDefSaveNoEmptyTags ()< / h3 >
< pre class = "programlisting" > int xmlThrDefSaveNoEmptyTags (int v)< br >
< / pre >
< p > < / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > v< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
< div class = "refsect2" lang = "en" >
< h3 >
< a name = "xmlThrDefTreeIndentString" > < / a > xmlThrDefTreeIndentString ()< / h3 >
< pre class = "programlisting" > const char * xmlThrDefTreeIndentString (const char * v)< br >
< / pre >
< p > < / p >
< div class = "variablelist" > < table border = "0" >
< col align = "left" >
< tbody >
< tr >
< td > < span class = "term" > < i > < tt > v< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< tr >
< td > < span class = "term" > < i > < tt > Returns< / tt > < / i > :< / span > < / td >
< td > < / td >
< / tr >
< / tbody >
< / table > < / div >
< / div >
< hr >
2022-08-24 14:34:04 +02:00
< / div >
< / div >
< / body >
2005-09-12 13:10:09 +00:00
< / html >