blob: 9ae6055c891bf57b1137db6a3767a1eb593695cb [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<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">
3 .synopsis, .classsynopsis {
4 background: #eeeeee;
5 border: solid 1px #aaaaaa;
6 padding: 0.5em;
7 }
8 .programlisting {
9 background: #eeeeff;
10 border: solid 1px #aaaaff;
11 padding: 0.5em;
12 }
13 .variablelist {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .navigation {
18 background: #ffeeee;
19 border: solid 1px #ffaaaa;
20 margin-top: 0.5em;
21 margin-bottom: 0.5em;
22 }
23 .navigation a {
24 color: #770000;
25 }
26 .navigation a:visited {
27 color: #550000;
28 }
29 .navigation .title {
30 font-size: 200%;
31 }
32 </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">
33
34
35
36int (<a href="libxml-xmlIO.html#xmlInputMatchCallback">*xmlInputMatchCallback</a>) (char const *filename);
37void* (<a href="libxml-xmlIO.html#xmlInputOpenCallback">*xmlInputOpenCallback</a>) (char const *filename);
38int (<a href="libxml-xmlIO.html#xmlInputReadCallback">*xmlInputReadCallback</a>) (void *context,
39 char *buffer,
40 int len);
41int (<a href="libxml-xmlIO.html#xmlInputCloseCallback">*xmlInputCloseCallback</a>) (void *context);
42int (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">*xmlOutputMatchCallback</a>) (char const *filename);
43void* (<a href="libxml-xmlIO.html#xmlOutputOpenCallback">*xmlOutputOpenCallback</a>) (char const *filename);
44int (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">*xmlOutputWriteCallback</a>) (void *context,
45 const char *buffer,
46 int len);
47int (<a href="libxml-xmlIO.html#xmlOutputCloseCallback">*xmlOutputCloseCallback</a>) (void *context);
48struct <a href="libxml-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a>;
49struct <a href="libxml-tree.html#xmlOutputBuffer">xmlOutputBuffer</a>;
50void <a href="libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a> (void);
51void <a href="libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a> (void);
52void <a href="libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>
53 (void);
54<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>
55 (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
56<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>
57 (const char *URI,
58 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
59<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>
60 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
61 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
62<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>
63 (int fd,
64 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
65<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>
66 (const char *mem,
67 int size,
68 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
69<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>
70 (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
71 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
72 void *ioctx,
73 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
74int <a href="libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a> (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
75 int len);
76int <a href="libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a> (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
77 int len);
78int <a href="libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a> (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
79 int len,
80 const char *buf);
81void <a href="libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a> (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
82char* <a href="libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a> (const char *filename);
83int <a href="libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> (<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc,
84 <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
85 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
86 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
87void <a href="libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>
88 (void);
89<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);
90<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>
91 (const char *URI,
92 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
93 int compression);
94<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>
95 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
96 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
97<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a> (int fd,
98 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
99<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,
100 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
101 void *ioctx,
102 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
103int <a href="libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
104 int len,
105 const char *buf);
106int <a href="libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
107 const char *str);
108int <a href="libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
109int <a href="libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a> (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
110int <a href="libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc,
111 <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
112 <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
113 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
114void* <a href="libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a> (const char *post_uri,
115 int compression);
116void <a href="libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a> (void);
117<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>
118 (const char *URL,
119 const char *ID,
120 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
121<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);
122int <a href="libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a> (const char *path);
123int <a href="libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a> (const char *filename);
124void* <a href="libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a> (const char *filename);
125int <a href="libxml-xmlIO.html#xmlFileRead">xmlFileRead</a> (void *context,
126 char *buffer,
127 int len);
128int <a href="libxml-xmlIO.html#xmlFileClose">xmlFileClose</a> (void *context);
129int <a href="libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a> (const char *filename);
130void* <a href="libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a> (const char *filename);
131int <a href="libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a> (void *context,
132 char *buffer,
133 int len);
134int <a href="libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a> (void *context);
135int <a href="libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a> (const char *filename);
136void* <a href="libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a> (const char *filename);
137int <a href="libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a> (void *context,
138 char *buffer,
139 int len);
140int <a href="libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a> (void *context);
141</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
142
143</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>
144Callback used in the I/O Input API to detect if the current handler
145can provide input fonctionnalities for this resource.</p><p>
146
Daniel Veillard93d95252003-04-29 20:25:40 +0000147</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>
148</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
149
150
Daniel Veillardd4330462003-04-29 12:40:16 +0000151</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>
152Callback used in the I/O Input API to open the resource</p><p>
153
Daniel Veillard93d95252003-04-29 20:25:40 +0000154</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>
155
156
Daniel Veillardd4330462003-04-29 12:40:16 +0000157</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,
158 char *buffer,
159 int len);</pre><p>
160Callback used in the I/O Input API to read the resource</p><p>
161
Daniel Veillard93d95252003-04-29 20:25:40 +0000162</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>
163</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
164</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
165</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
166
167
Daniel Veillardd4330462003-04-29 12:40:16 +0000168</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>
169Callback used in the I/O Input API to close the resource</p><p>
170
Daniel Veillard93d95252003-04-29 20:25:40 +0000171</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>
172</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
173
174
Daniel Veillardd4330462003-04-29 12:40:16 +0000175</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>
176Callback used in the I/O Output API to detect if the current handler
177can provide output fonctionnalities for this resource.</p><p>
178
Daniel Veillard93d95252003-04-29 20:25:40 +0000179</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>
180</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
181
182
Daniel Veillardd4330462003-04-29 12:40:16 +0000183</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>
184Callback used in the I/O Output API to open the resource</p><p>
185
Daniel Veillard93d95252003-04-29 20:25:40 +0000186</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>
187
188
Daniel Veillardd4330462003-04-29 12:40:16 +0000189</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,
190 const char *buffer,
191 int len);</pre><p>
192Callback used in the I/O Output API to write to the resource</p><p>
193
Daniel Veillard93d95252003-04-29 20:25:40 +0000194</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>
195</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
196</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
197</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
198
199
Daniel Veillardd4330462003-04-29 12:40:16 +0000200</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>
201Callback used in the I/O Output API to close the resource</p><p>
202
Daniel Veillard93d95252003-04-29 20:25:40 +0000203</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>
204</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
205
206
Daniel Veillardd4330462003-04-29 12:40:16 +0000207</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 {
208 void* context;
209 xmlInputReadCallback readcallback;
210 xmlInputCloseCallback closecallback;
211
212 xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
213
214 xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */
215 xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
216};
217</pre><p>
218
219</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 {
220 void* context;
221 xmlOutputWriteCallback writecallback;
222 xmlOutputCloseCallback closecallback;
223
224 xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
225
226 xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */
227 xmlBufferPtr conv; /* if encoder != NULL buffer for output */
228 int written; /* total number of byte written */
229};
230</pre><p>
231
232</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>
233clears the entire input callback table. this includes the
234compiled-in I/O.</p><p>
235
236</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>
237clears the entire output callback table. this includes the
238compiled-in I/O callbacks.</p><p>
239
240</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
241 (void);</pre><p>
242Registers the default compiled-in I/O handlers.</p><p>
243
244</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
245 (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
246Create a buffered parser input for progressive parsing</p><p>
247
Daniel Veillard93d95252003-04-29 20:25:40 +0000248</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>
249</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
250
251
Daniel Veillardd4330462003-04-29 12:40:16 +0000252</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
253 (const char *URI,
254 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
255Create a buffered parser input for the progressive parsing of a file
256If filename is &quot;-' then we use stdin as the input.
257Automatic support for ZLIB/Compress compressed document is provided
258by default if found at compile-time.
259Do an encoding check if enc == XML_CHAR_ENCODING_NONE</p><p>
260
Daniel Veillard93d95252003-04-29 20:25:40 +0000261</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>
262</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
263</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
264
265
Daniel Veillardd4330462003-04-29 12:40:16 +0000266</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
267 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
268 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
269Create a buffered parser input for the progressive parsing of a FILE *
270buffered C I/O</p><p>
271
Daniel Veillard93d95252003-04-29 20:25:40 +0000272</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>
273</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
274</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
275
276
Daniel Veillardd4330462003-04-29 12:40:16 +0000277</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
278 (int fd,
279 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
280Create a buffered parser input for the progressive parsing for the input
281from a file descriptor</p><p>
282
Daniel Veillard93d95252003-04-29 20:25:40 +0000283</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>
284</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
285</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
286
287
Daniel Veillardd4330462003-04-29 12:40:16 +0000288</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
289 (const char *mem,
290 int size,
291 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
292Create a buffered parser input for the progressive parsing for the input
293from a memory area.</p><p>
294
Daniel Veillard93d95252003-04-29 20:25:40 +0000295</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>
296</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
297</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
298</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
299
300
Daniel Veillardd4330462003-04-29 12:40:16 +0000301</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
302 (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
303 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
304 void *ioctx,
305 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
306Create a buffered parser input for the progressive parsing for the input
307from an I/O handler</p><p>
308
Daniel Veillard93d95252003-04-29 20:25:40 +0000309</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>
310</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td>
311</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td>
312</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
313</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
314
315
Daniel Veillardd4330462003-04-29 12:40:16 +0000316</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,
317 int len);</pre><p>
318Refresh the content of the input buffer, the old data are considered
319consumed
320This routine handle the I18N transcoding to internal UTF-8</p><p>
321
Daniel Veillard93d95252003-04-29 20:25:40 +0000322</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>
323</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
324</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
325
326
Daniel Veillardd4330462003-04-29 12:40:16 +0000327</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,
328 int len);</pre><p>
329Grow up the content of the input buffer, the old data are preserved
330This routine handle the I18N transcoding to internal UTF-8
331This routine is used when operating the parser in normal (pull) mode
332</p><p>
333TODO: one should be able to remove one extra copy by copying directly
334 onto in-&gt;buffer or in-&gt;raw</p><p>
335
Daniel Veillard93d95252003-04-29 20:25:40 +0000336</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>
337</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
338</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
339
340
Daniel Veillardd4330462003-04-29 12:40:16 +0000341</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,
342 int len,
343 const char *buf);</pre><p>
344Push the content of the arry in the input buffer
345This routine handle the I18N transcoding to internal UTF-8
346This is used when operating the parser in progressive (push) mode.</p><p>
347
Daniel Veillard93d95252003-04-29 20:25:40 +0000348</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>
349</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
350</td></tr><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td>
351</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
352
353
Daniel Veillardd4330462003-04-29 12:40:16 +0000354</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>
355Free up the memory used by a buffered parser input</p><p>
356
Daniel Veillard93d95252003-04-29 20:25:40 +0000357</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>
358
359
Daniel Veillardd4330462003-04-29 12:40:16 +0000360</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>
361lookup the directory for that file</p><p>
362
Daniel Veillard93d95252003-04-29 20:25:40 +0000363</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>
364</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
365
366
Daniel Veillardd4330462003-04-29 12:40:16 +0000367</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,
368 <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
369 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
370 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);</pre><p>
371Register a new set of I/O callback for handling parser input.</p><p>
372
Daniel Veillard93d95252003-04-29 20:25:40 +0000373</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>
374</td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i> :</span></td><td>
375</td></tr><tr><td><span class="term"><i><tt>readFunc</tt></i> :</span></td><td>
376</td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i> :</span></td><td>
377</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
378
379
Daniel Veillardd4330462003-04-29 12:40:16 +0000380</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
381 (void);</pre><p>
382Registers the default compiled-in I/O handlers.</p><p>
383
384</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>
385Create a buffered parser output</p><p>
386
Daniel Veillard93d95252003-04-29 20:25:40 +0000387</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>
388</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
389
390
Daniel Veillardd4330462003-04-29 12:40:16 +0000391</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
392 (const char *URI,
393 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
394 int compression);</pre><p>
395Create a buffered output for the progressive saving of a file
396If filename is &quot;-' then we use stdout as the output.
397Automatic support for ZLIB/Compress compressed document is provided
398by default if found at compile-time.
399TODO: currently if compression is set, the library only support
400 writing to a local file.</p><p>
401
Daniel Veillard93d95252003-04-29 20:25:40 +0000402</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>
403</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>
404</td></tr><tr><td><span class="term"><i><tt>compression</tt></i> :</span></td><td>
405</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
406
407
Daniel Veillardd4330462003-04-29 12:40:16 +0000408</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
409 (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
410 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
411Create a buffered output for the progressive saving to a FILE *
412buffered C I/O</p><p>
413
Daniel Veillard93d95252003-04-29 20:25:40 +0000414</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>
415</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>
416</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
417
418
Daniel Veillardd4330462003-04-29 12:40:16 +0000419</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,
420 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
421Create a buffered output for the progressive saving
422to a file descriptor</p><p>
423
Daniel Veillard93d95252003-04-29 20:25:40 +0000424</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>
425</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>
426</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
427
428
Daniel Veillardd4330462003-04-29 12:40:16 +0000429</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,
430 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
431 void *ioctx,
432 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
433Create a buffered output for the progressive saving
434to an I/O handler</p><p>
435
Daniel Veillard93d95252003-04-29 20:25:40 +0000436</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>
437</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td>
438</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td>
439</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i> :</span></td><td>
440</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
441
442
Daniel Veillardd4330462003-04-29 12:40:16 +0000443</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,
444 int len,
445 const char *buf);</pre><p>
446Write the content of the array in the output I/O buffer
447This routine handle the I18N transcoding from internal UTF-8
448The buffer is lossless, i.e. will store in case of partial
449or delayed writes.</p><p>
450
Daniel Veillard93d95252003-04-29 20:25:40 +0000451</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>
452</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
453</td></tr><tr><td><span class="term"><i><tt>buf</tt></i> :</span></td><td>
454</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
455
456
Daniel Veillardd4330462003-04-29 12:40:16 +0000457</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,
458 const char *str);</pre><p>
459Write the content of the string in the output I/O buffer
460This routine handle the I18N transcoding from internal UTF-8
461The buffer is lossless, i.e. will store in case of partial
462or delayed writes.</p><p>
463
Daniel Veillard93d95252003-04-29 20:25:40 +0000464</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>
465</td></tr><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
466</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
467
468
Daniel Veillardd4330462003-04-29 12:40:16 +0000469</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>
470flushes the output I/O channel</p><p>
471
Daniel Veillard93d95252003-04-29 20:25:40 +0000472</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>
473</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
474
475
Daniel Veillardd4330462003-04-29 12:40:16 +0000476</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>
477flushes and close the output I/O channel
478and free up all the associated resources</p><p>
479
Daniel Veillard93d95252003-04-29 20:25:40 +0000480</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>
481</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
482
483
Daniel Veillardd4330462003-04-29 12:40:16 +0000484</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,
485 <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
486 <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
487 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);</pre><p>
488Register a new set of I/O callback for handling output.</p><p>
489
Daniel Veillard93d95252003-04-29 20:25:40 +0000490</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>
491</td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i> :</span></td><td>
492</td></tr><tr><td><span class="term"><i><tt>writeFunc</tt></i> :</span></td><td>
493</td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i> :</span></td><td>
494</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
495
496
Daniel Veillardd4330462003-04-29 12:40:16 +0000497</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,
498 int compression);</pre><p>
499Open a temporary buffer to collect the document for a subsequent HTTP POST
500request. Non-static as is called from the output buffer creation routine.</p><p>
501
Daniel Veillard93d95252003-04-29 20:25:40 +0000502</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>
503</td></tr><tr><td><span class="term"><i><tt>compression</tt></i> :</span></td><td>
504
505
Daniel Veillardd4330462003-04-29 12:40:16 +0000506</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>
507By default, libxml submits HTTP output requests using the &quot;PUT&quot; method.
508Calling this method changes the HTTP output method to use the &quot;POST&quot;
509method instead.</p><p>
510
511</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
512 (const char *URL,
513 const char *ID,
514 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
515A specific entity loader disabling network accesses, though still
516allowing local catalog accesses for resolution.</p><p>
517
Daniel Veillard93d95252003-04-29 20:25:40 +0000518</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>
519</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
520</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
521</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
522
523
Daniel Veillardd4330462003-04-29 12:40:16 +0000524</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>
525This function is obsolete. Please see xmlURIFromPath in uri.c for
526a better solution.</p><p>
527
Daniel Veillard93d95252003-04-29 20:25:40 +0000528</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>
529</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
530
531
Daniel Veillardd4330462003-04-29 12:40:16 +0000532</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>
533function checks to see if <i><tt>path</tt></i> is a valid source
534(file, socket...) for XML.
535</p><p>
536if stat is not available on the target machine,
537returns 1. if stat fails, returns 0 (if calling
538stat on the filename fails, it can't be right).
539if stat succeeds and the file is a directory,</p><p>
540
Daniel Veillard93d95252003-04-29 20:25:40 +0000541</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>
542</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
543
544
Daniel Veillardd4330462003-04-29 12:40:16 +0000545</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>
546input from FILE *</p><p>
547
Daniel Veillard93d95252003-04-29 20:25:40 +0000548</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>
549</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
550
551
Daniel Veillardd4330462003-04-29 12:40:16 +0000552</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>
553Wrapper around xmlFileOpen_real that try it with an unescaped
554version of <i><tt>filename</tt></i>, if this fails fallback to <i><tt>filename</tt></i></p><p>
555
Daniel Veillard93d95252003-04-29 20:25:40 +0000556</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>
557
558
Daniel Veillardd4330462003-04-29 12:40:16 +0000559</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,
560 char *buffer,
561 int len);</pre><p>
562Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
563
Daniel Veillard93d95252003-04-29 20:25:40 +0000564</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>
565</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
566</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
567</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
568
569
Daniel Veillardd4330462003-04-29 12:40:16 +0000570</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>
571Close an I/O channel</p><p>
572
Daniel Veillard93d95252003-04-29 20:25:40 +0000573</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>
574</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
575
576
Daniel Veillardd4330462003-04-29 12:40:16 +0000577</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>
578check if the URI matches an HTTP one</p><p>
579
Daniel Veillard93d95252003-04-29 20:25:40 +0000580</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>
581</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
582
583
Daniel Veillardd4330462003-04-29 12:40:16 +0000584</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>
585open an HTTP I/O channel</p><p>
586
Daniel Veillard93d95252003-04-29 20:25:40 +0000587</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>
588
589
Daniel Veillardd4330462003-04-29 12:40:16 +0000590</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,
591 char *buffer,
592 int len);</pre><p>
593Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
594
Daniel Veillard93d95252003-04-29 20:25:40 +0000595</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>
596</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
597</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
598</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
599
600
Daniel Veillardd4330462003-04-29 12:40:16 +0000601</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>
602Close an HTTP I/O channel</p><p>
603
Daniel Veillard93d95252003-04-29 20:25:40 +0000604</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>
605</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
606
607
Daniel Veillardd4330462003-04-29 12:40:16 +0000608</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>
609check if the URI matches an FTP one</p><p>
610
Daniel Veillard93d95252003-04-29 20:25:40 +0000611</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>
612</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
613
614
Daniel Veillardd4330462003-04-29 12:40:16 +0000615</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>
616open an FTP I/O channel</p><p>
617
Daniel Veillard93d95252003-04-29 20:25:40 +0000618</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>
619
620
Daniel Veillardd4330462003-04-29 12:40:16 +0000621</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,
622 char *buffer,
623 int len);</pre><p>
624Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
625
Daniel Veillard93d95252003-04-29 20:25:40 +0000626</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>
627</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
628</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
629</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
630
631
Daniel Veillardd4330462003-04-29 12:40:16 +0000632</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>
633Close an FTP I/O channel</p><p>
634
Daniel Veillard93d95252003-04-29 20:25:40 +0000635</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>
636</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
637
638
Daniel Veillardd4330462003-04-29 12:40:16 +0000639</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>