added Info.plist
[TestXSLT.git] / libxml2 / doc / html / libxml-xmlio.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlIO</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
2         .synopsis, .classsynopsis {
3             background: #eeeeee;
4             border: solid 1px #aaaaaa;
5             padding: 0.5em;
6         }
7         .programlisting {
8             background: #eeeeff;
9             border: solid 1px #aaaaff;
10             padding: 0.5em;
11         }
12         .variablelist {
13             padding: 4px;
14             margin-left: 3em;
15         }
16         .navigation {
17             background: #ffeeee;
18             border: solid 1px #ffaaaa;
19             margin-top: 0.5em;
20             margin-bottom: 0.5em;
21         }
22         .navigation a {
23             color: #770000;
24         }
25         .navigation a:visited {
26             color: #550000;
27         }
28         .navigation .title {
29             font-size: 200%;
30         }
31       </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-nanoftp.html" title="nanoftp"><link rel="next" href="libxml-catalog.html" title="catalog"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-xmlIO"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlIO</h2><p>xmlIO &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
32
33
34
35 int         (<a href="libxml-xmlIO.html#xmlInputMatchCallback">*xmlInputMatchCallback</a>)        (char const *filename);
36 void*       (<a href="libxml-xmlIO.html#xmlInputOpenCallback">*xmlInputOpenCallback</a>)         (char const *filename);
37 int         (<a href="libxml-xmlIO.html#xmlInputReadCallback">*xmlInputReadCallback</a>)         (void *context,
38                                              char *buffer,
39                                              int len);
40 int         (<a href="libxml-xmlIO.html#xmlInputCloseCallback">*xmlInputCloseCallback</a>)        (void *context);
41 int         (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">*xmlOutputMatchCallback</a>)       (char const *filename);
42 void*       (<a href="libxml-xmlIO.html#xmlOutputOpenCallback">*xmlOutputOpenCallback</a>)        (char const *filename);
43 int         (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">*xmlOutputWriteCallback</a>)       (void *context,
44                                              const char *buffer,
45                                              int len);
46 int         (<a href="libxml-xmlIO.html#xmlOutputCloseCallback">*xmlOutputCloseCallback</a>)       (void *context);
47 struct      <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a>;
48 struct      <a href="libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a>;
49 void        <a href="libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>        (void);
50 void        <a href="libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>       (void);
51 void        <a href="libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>
52                                             (void);
53 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>
54                                             (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
55 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>
56                                             (const char *URI,
57                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
58 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>
59                                             (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
60                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
61 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>
62                                             (int fd,
63                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
64 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>
65                                             (const char *mem,
66                                              int size,
67                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
68 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>
69                                             (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
70                                              <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
71                                              void *ioctx,
72                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
73 int         <a href="libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
74                                              int len);
75 int         <a href="libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
76                                              int len);
77 int         <a href="libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
78                                              int len,
79                                              const char *buf);
80 void        <a href="libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
81 char*       <a href="libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a>           (const char *filename);
82 int         <a href="libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>       (<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc,
83                                              <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
84                                              <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
85                                              <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
86 void        <a href="libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>
87                                             (void);
88 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>     (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
89 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>
90                                             (const char *URI,
91                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
92                                              int compression);
93 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>
94                                             (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
95                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
96 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>  (int fd,
97                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
98 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>  (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite,
99                                              <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
100                                              void *ioctx,
101                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
102 int         <a href="libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
103                                              int len,
104                                              const char *buf);
105 int         <a href="libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>      (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
106                                              const char *str);
107 int         <a href="libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
108 int         <a href="libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
109 int         <a href="libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>      (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc,
110                                              <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
111                                              <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
112                                              <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
113 void*       <a href="libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>                  (const char *post_uri,
114                                              int compression);
115 void        <a href="libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>    (void);
116 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>
117                                             (const char *URL,
118                                              const char *ID,
119                                              <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
120 <a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);
121 int         <a href="libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a>                (const char *path);
122 int         <a href="libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a>                    (const char *filename);
123 void*       <a href="libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a>                     (const char *filename);
124 int         <a href="libxml-xmlIO.html#xmlFileRead">xmlFileRead</a>                     (void *context,
125                                              char *buffer,
126                                              int len);
127 int         <a href="libxml-xmlIO.html#xmlFileClose">xmlFileClose</a>                    (void *context);
128 int         <a href="libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a>                  (const char *filename);
129 void*       <a href="libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a>                   (const char *filename);
130 int         <a href="libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a>                   (void *context,
131                                              char *buffer,
132                                              int len);
133 int         <a href="libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a>                  (void *context);
134 int         <a href="libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a>                   (const char *filename);
135 void*       <a href="libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a>                    (const char *filename);
136 int         <a href="libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a>                    (void *context,
137                                              char *buffer,
138                                              int len);
139 int         <a href="libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a>                   (void *context);
140 </pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
141
142 </p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlInputMatchCallback"></a>xmlInputMatchCallback ()</h3><pre class="programlisting">int         (*xmlInputMatchCallback)        (char const *filename);</pre><p>
143 Callback used in the I/O Input API to detect if the current handler 
144 can provide input fonctionnalities for this resource.</p><p>
145
146 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename or URI
147 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if yes and 0 if another Input module should be used
148 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInputOpenCallback"></a>xmlInputOpenCallback ()</h3><pre class="programlisting">void*       (*xmlInputOpenCallback)         (char const *filename);</pre><p>
149 Callback used in the I/O Input API to open the resource</p><p>
150
151 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename or URI
152 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInputReadCallback"></a>xmlInputReadCallback ()</h3><pre class="programlisting">int         (*xmlInputReadCallback)         (void *context,
153                                              char *buffer,
154                                              int len);</pre><p>
155 Callback used in the I/O Input API to read the resource</p><p>
156
157 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  an Input context
158 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>  the buffer to store data read
159 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  the length of the buffer in bytes
160 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes read or -1 in case of error
161 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInputCloseCallback"></a>xmlInputCloseCallback ()</h3><pre class="programlisting">int         (*xmlInputCloseCallback)        (void *context);</pre><p>
162 Callback used in the I/O Input API to close the resource</p><p>
163
164 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  an Input context
165 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or -1 in case of error
166 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputMatchCallback"></a>xmlOutputMatchCallback ()</h3><pre class="programlisting">int         (*xmlOutputMatchCallback)       (char const *filename);</pre><p>
167 Callback used in the I/O Output API to detect if the current handler 
168 can provide output fonctionnalities for this resource.</p><p>
169
170 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename or URI
171 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if yes and 0 if another Output module should be used
172 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputOpenCallback"></a>xmlOutputOpenCallback ()</h3><pre class="programlisting">void*       (*xmlOutputOpenCallback)        (char const *filename);</pre><p>
173 Callback used in the I/O Output API to open the resource</p><p>
174
175 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename or URI
176 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputWriteCallback"></a>xmlOutputWriteCallback ()</h3><pre class="programlisting">int         (*xmlOutputWriteCallback)       (void *context,
177                                              const char *buffer,
178                                              int len);</pre><p>
179 Callback used in the I/O Output API to write to the resource</p><p>
180
181 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  an Output context
182 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>  the buffer of data to write
183 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  the length of the buffer in bytes
184 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written or -1 in case of error
185 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputCloseCallback"></a>xmlOutputCloseCallback ()</h3><pre class="programlisting">int         (*xmlOutputCloseCallback)       (void *context);</pre><p>
186 Callback used in the I/O Output API to close the resource</p><p>
187
188 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  an Output context
189 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or -1 in case of error
190 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBuffer"></a>struct xmlParserInputBuffer</h3><pre class="programlisting">struct xmlParserInputBuffer {
191     void*                  context;
192     xmlInputReadCallback   readcallback;
193     xmlInputCloseCallback  closecallback;
194     
195     xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
196     
197     xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 */
198     xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */
199 };
200 </pre><p>
201
202 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBuffer"></a>struct xmlOutputBuffer</h3><pre class="programlisting">struct xmlOutputBuffer {
203     void*                   context;
204     xmlOutputWriteCallback  writecallback;
205     xmlOutputCloseCallback  closecallback;
206     
207     xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
208     
209     xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
210     xmlBufferPtr conv;      /* if encoder != NULL buffer for output */
211     int written;            /* total number of byte written */
212 };
213 </pre><p>
214
215 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3><pre class="programlisting">void        xmlCleanupInputCallbacks        (void);</pre><p>
216 clears the entire input callback table. this includes the
217 compiled-in I/O.</p><p>
218
219 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3><pre class="programlisting">void        xmlCleanupOutputCallbacks       (void);</pre><p>
220 clears the entire output callback table. this includes the
221 compiled-in I/O callbacks.</p><p>
222
223 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3><pre class="programlisting">void        xmlRegisterDefaultInputCallbacks
224                                             (void);</pre><p>
225 Registers the default compiled-in I/O handlers.</p><p>
226
227 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlAllocParserInputBuffer
228                                             (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
229 Create a buffered parser input for progressive parsing</p><p>
230
231 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
232 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
233 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFilename
234                                             (const char *URI,
235                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
236 Create a buffered parser input for the progressive parsing of a file
237 If filename is "-' then we use stdin as the input.
238 Automatic support for ZLIB/Compress compressed document is provided
239 by default if found at compile-time.
240 Do an encoding check if enc == XML_CHAR_ENCODING_NONE</p><p>
241
242 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>URI</tt></i> :</span></td><td>  a C string containing the URI or filename
243 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
244 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
245 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFile
246                                             (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
247                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
248 Create a buffered parser input for the progressive parsing of a FILE *
249 buffered C I/O</p><p>
250
251 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>file</tt></i> :</span></td><td>  a FILE* 
252 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
253 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
254 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFd
255                                             (int fd,
256                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
257 Create a buffered parser input for the progressive parsing for the input
258 from a file descriptor</p><p>
259
260 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>fd</tt></i> :</span></td><td>  a file descriptor number
261 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
262 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
263 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateMem
264                                             (const char *mem,
265                                              int size,
266                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
267 Create a buffered parser input for the progressive parsing for the input
268 from a memory area.</p><p>
269
270 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>mem</tt></i> :</span></td><td>  the memory input
271 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>  the length of the memory block
272 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
273 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
274 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateIO
275                                             (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
276                                              <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
277                                              void *ioctx,
278                                              <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
279 Create a buffered parser input for the progressive parsing for the input
280 from an I/O handler</p><p>
281
282 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i> :</span></td><td>  an I/O read function
283 </td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td>  an I/O close function
284 </td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td>  an I/O handler
285 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>  the charset encoding if known
286 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser input or NULL
287 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3><pre class="programlisting">int         xmlParserInputBufferRead        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
288                                              int len);</pre><p>
289 Refresh the content of the input buffer, the old data are considered
290 consumed
291 This routine handle the I18N transcoding to internal UTF-8</p><p>
292
293 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>  a buffered parser input
294 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  indicative value of the amount of chars to read
295 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of chars read and stored in the buffer, or -1
296         in case of error.
297 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3><pre class="programlisting">int         xmlParserInputBufferGrow        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
298                                              int len);</pre><p>
299 Grow up the content of the input buffer, the old data are preserved
300 This routine handle the I18N transcoding to internal UTF-8
301 This routine is used when operating the parser in normal (pull) mode
302 </p><p>
303 TODO: one should be able to remove one extra copy by copying directly
304       onto in-&gt;buffer or in-&gt;raw</p><p>
305
306 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>  a buffered parser input
307 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  indicative value of the amount of chars to read
308 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of chars read and stored in the buffer, or -1
309         in case of error.
310 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3><pre class="programlisting">int         xmlParserInputBufferPush        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
311                                              int len,
312                                              const char *buf);</pre><p>
313 Push the content of the arry in the input buffer
314 This routine handle the I18N transcoding to internal UTF-8
315 This is used when operating the parser in progressive (push) mode.</p><p>
316
317 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>  a buffered parser input
318 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  the size in bytes of the array.
319 </td></tr><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td>  an char array
320 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of chars read and stored in the buffer, or -1
321         in case of error.
322 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3><pre class="programlisting">void        xmlFreeParserInputBuffer        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);</pre><p>
323 Free up the memory used by a buffered parser input</p><p>
324
325 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>  a buffered parser input
326 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3><pre class="programlisting">char*       xmlParserGetDirectory           (const char *filename);</pre><p>
327 lookup the directory for that file</p><p>
328
329 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the path to a file
330 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new allocated string containing the directory, or NULL.
331 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3><pre class="programlisting">int         xmlRegisterInputCallbacks       (<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc,
332                                              <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
333                                              <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
334                                              <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);</pre><p>
335 Register a new set of I/O callback for handling parser input.</p><p>
336
337 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i> :</span></td><td>  the xmlInputMatchCallback
338 </td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i> :</span></td><td>  the xmlInputOpenCallback
339 </td></tr><tr><td><span class="term"><i><tt>readFunc</tt></i> :</span></td><td>  the xmlInputReadCallback
340 </td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i> :</span></td><td>  the xmlInputCloseCallback
341 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the registered handler number or -1 in case of error
342 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3><pre class="programlisting">void        xmlRegisterDefaultOutputCallbacks
343                                             (void);</pre><p>
344 Registers the default compiled-in I/O handlers.</p><p>
345
346 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlAllocOutputBuffer     (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
347 Create a buffered parser output</p><p>
348
349 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>  the encoding converter or NULL
350 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser output or NULL
351 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFilename
352                                             (const char *URI,
353                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
354                                              int compression);</pre><p>
355 Create a buffered  output for the progressive saving of a file
356 If filename is "-' then we use stdout as the output.
357 Automatic support for ZLIB/Compress compressed document is provided
358 by default if found at compile-time.
359 TODO: currently if compression is set, the library only support
360       writing to a local file.</p><p>
361
362 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>URI</tt></i> :</span></td><td>  a C string containing the URI or filename
363 </td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>  the encoding converter or NULL
364 </td></tr><tr><td><span class="term"><i><tt>compression</tt></i> :</span></td><td>  the compression ration (0 none, 9 max).
365 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new output or NULL
366 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFile
367                                             (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
368                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
369 Create a buffered output for the progressive saving to a FILE *
370 buffered C I/O</p><p>
371
372 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>file</tt></i> :</span></td><td>  a FILE* 
373 </td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>  the encoding converter or NULL
374 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser output or NULL
375 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFd  (int fd,
376                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
377 Create a buffered output for the progressive saving 
378 to a file descriptor</p><p>
379
380 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>fd</tt></i> :</span></td><td>  a file descriptor number
381 </td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>  the encoding converter or NULL
382 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser output or NULL
383 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateIO  (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite,
384                                              <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
385                                              void *ioctx,
386                                              <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
387 Create a buffered output for the progressive saving
388 to an I/O handler</p><p>
389
390 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>iowrite</tt></i> :</span></td><td>  an I/O write function
391 </td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td>  an I/O close function
392 </td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td>  an I/O handler
393 </td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>  the charset encoding if known
394 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser output or NULL
395 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3><pre class="programlisting">int         xmlOutputBufferWrite            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
396                                              int len,
397                                              const char *buf);</pre><p>
398 Write the content of the array in the output I/O buffer
399 This routine handle the I18N transcoding from internal UTF-8
400 The buffer is lossless, i.e. will store in case of partial
401 or delayed writes.</p><p>
402
403 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out</tt></i> :</span></td><td>  a buffered parser output
404 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  the size in bytes of the array.
405 </td></tr><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td>  an char array
406 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of chars immediately written, or -1
407         in case of error.
408 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3><pre class="programlisting">int         xmlOutputBufferWriteString      (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
409                                              const char *str);</pre><p>
410 Write the content of the string in the output I/O buffer
411 This routine handle the I18N transcoding from internal UTF-8
412 The buffer is lossless, i.e. will store in case of partial
413 or delayed writes.</p><p>
414
415 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out</tt></i> :</span></td><td>  a buffered parser output
416 </td></tr><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>  a zero terminated C string
417 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of chars immediately written, or -1
418         in case of error.
419 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3><pre class="programlisting">int         xmlOutputBufferFlush            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);</pre><p>
420 flushes the output I/O channel</p><p>
421
422 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out</tt></i> :</span></td><td>  a buffered output
423 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of byte written or -1 in case of error.
424 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3><pre class="programlisting">int         xmlOutputBufferClose            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);</pre><p>
425 flushes and close the output I/O channel
426 and free up all the associated resources</p><p>
427
428 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>out</tt></i> :</span></td><td>  a buffered output
429 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of byte written or -1 in case of error.
430 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3><pre class="programlisting">int         xmlRegisterOutputCallbacks      (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc,
431                                              <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
432                                              <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
433                                              <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);</pre><p>
434 Register a new set of I/O callback for handling output.</p><p>
435
436 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>matchFunc</tt></i> :</span></td><td>  the xmlOutputMatchCallback
437 </td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i> :</span></td><td>  the xmlOutputOpenCallback
438 </td></tr><tr><td><span class="term"><i><tt>writeFunc</tt></i> :</span></td><td>  the xmlOutputWriteCallback
439 </td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i> :</span></td><td>  the xmlOutputCloseCallback
440 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the registered handler number or -1 in case of error
441 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3><pre class="programlisting">void*       xmlIOHTTPOpenW                  (const char *post_uri,
442                                              int compression);</pre><p>
443 Open a temporary buffer to collect the document for a subsequent HTTP POST
444 request.  Non-static as is called from the output buffer creation routine.</p><p>
445
446 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>post_uri</tt></i> :</span></td><td>  The destination URI for the document
447 </td></tr><tr><td><span class="term"><i><tt>compression</tt></i> :</span></td><td>  The compression desired for the document.
448 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3><pre class="programlisting">void        xmlRegisterHTTPPostCallbacks    (void);</pre><p>
449 By default, libxml submits HTTP output requests using the "PUT" method.
450 Calling this method changes the HTTP output method to use the "POST"
451 method instead.</p><p>
452
453 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNoNetExternalEntityLoader
454                                             (const char *URL,
455                                              const char *ID,
456                                              <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
457 A specific entity loader disabling network accesses, though still
458 allowing local catalog accesses for resolution.</p><p>
459
460 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td>  the URL for the entity to load
461 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>  the System ID for the entity to load
462 </td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>  the context in which the entity is called or NULL
463 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new allocated xmlParserInputPtr, or NULL.
464 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNormalizeWindowsPath         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);</pre><p>
465 This function is obsolete. Please see xmlURIFromPath in uri.c for
466 a better solution.</p><p>
467
468 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>path</tt></i> :</span></td><td> the input file path
469 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a canonicalized version of the path
470 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3><pre class="programlisting">int         xmlCheckFilename                (const char *path);</pre><p>
471 function checks to see if <i><tt>path</tt></i> is a valid source
472 (file, socket...) for XML.
473 </p><p>
474 if stat is not available on the target machine,
475 returns 1.  if stat fails, returns 0 (if calling
476 stat on the filename fails, it can't be right).
477 if stat succeeds and the file is a directory,</p><p>
478
479 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>path</tt></i> :</span></td><td>  the path to check
480 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>2.  otherwise returns 1.
481 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFileMatch"></a>xmlFileMatch ()</h3><pre class="programlisting">int         xmlFileMatch                    (const char *filename);</pre><p>
482 input from FILE *</p><p>
483
484 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
485 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if matches, 0 otherwise
486 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFileOpen"></a>xmlFileOpen ()</h3><pre class="programlisting">void*       xmlFileOpen                     (const char *filename);</pre><p>
487 Wrapper around xmlFileOpen_real that try it with an unescaped
488 version of <i><tt>filename</tt></i>, if this fails fallback to <i><tt>filename</tt></i></p><p>
489
490 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
491 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFileRead"></a>xmlFileRead ()</h3><pre class="programlisting">int         xmlFileRead                     (void *context,
492                                              char *buffer,
493                                              int len);</pre><p>
494 Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
495
496 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
497 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>  where to drop data
498 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  number of bytes to write
499 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written
500 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFileClose"></a>xmlFileClose ()</h3><pre class="programlisting">int         xmlFileClose                    (void *context);</pre><p>
501 Close an I/O channel</p><p>
502
503 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
504 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or -1 in case of error
505 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3><pre class="programlisting">int         xmlIOHTTPMatch                  (const char *filename);</pre><p>
506 check if the URI matches an HTTP one</p><p>
507
508 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
509 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if matches, 0 otherwise
510 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3><pre class="programlisting">void*       xmlIOHTTPOpen                   (const char *filename);</pre><p>
511 open an HTTP I/O channel</p><p>
512
513 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
514 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3><pre class="programlisting">int         xmlIOHTTPRead                   (void *context,
515                                              char *buffer,
516                                              int len);</pre><p>
517 Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
518
519 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
520 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>  where to drop data
521 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  number of bytes to write
522 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written
523 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3><pre class="programlisting">int         xmlIOHTTPClose                  (void *context);</pre><p>
524 Close an HTTP I/O channel</p><p>
525
526 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
527 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0
528 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3><pre class="programlisting">int         xmlIOFTPMatch                   (const char *filename);</pre><p>
529 check if the URI matches an FTP one</p><p>
530
531 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
532 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if matches, 0 otherwise
533 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3><pre class="programlisting">void*       xmlIOFTPOpen                    (const char *filename);</pre><p>
534 open an FTP I/O channel</p><p>
535
536 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>  the URI for matching
537 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3><pre class="programlisting">int         xmlIOFTPRead                    (void *context,
538                                              char *buffer,
539                                              int len);</pre><p>
540 Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
541
542 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
543 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>  where to drop data
544 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>  number of bytes to write
545 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of bytes written
546 </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3><pre class="programlisting">int         xmlIOFTPClose                   (void *context);</pre><p>
547 Close an FTP I/O channel</p><p>
548
549 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>  the I/O context
550 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0
551 </td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-nanoftp.html"><b>&lt;&lt; nanoftp</b></a></td><td align="right"><a accesskey="n" href="libxml-catalog.html"><b>catalog &gt;&gt;</b></a></td></tr></table></body></html>