int <ahref="#xmlFileClose">xmlFileClose</a> (void * context);
typedef int <ahref="#xmlOutputMatchCallback">xmlOutputMatchCallback</a> (char const * filename);
int <ahref="#xmlParserInputBufferPush">xmlParserInputBufferPush</a> (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len, <br/> const char * buf);
int <ahref="#xmlIOFTPRead">xmlIOFTPRead</a> (void * context, <br/> char * buffer, <br/> int len);
int <ahref="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a> (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len);
int <ahref="#xmlParserInputBufferRead">xmlParserInputBufferRead</a> (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len);
int <ahref="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a> (<ahref="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/> const char * str);
int <ahref="#xmlFileMatch">xmlFileMatch</a> (const char * filename);
int <ahref="#xmlPopInputCallbacks">xmlPopInputCallbacks</a> (void);
int <ahref="#xmlFileRead">xmlFileRead</a> (void * context, <br/> char * buffer, <br/> int len);
<divclass="refsect2"lang="en"><h3><aname="xmlInputCloseCallback"/>Function type xmlInputCloseCallback</h3><preclass="programlisting">int xmlInputCloseCallback (void * context)<br/>
</pre><p>Callback used in the I/O Input API to close the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlInputMatchCallback"/>Function type xmlInputMatchCallback</h3><preclass="programlisting">int xmlInputMatchCallback (char const * filename)<br/>
</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input fonctionnalities for this resource.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be used</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlInputOpenCallback"/>Function type xmlInputOpenCallback</h3><preclass="programlisting">void * xmlInputOpenCallback (char const * filename)<br/>
</pre><p>Callback used in the I/O Input API to open the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an Input context or NULL in case or error</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlInputReadCallback"/>Function type xmlInputReadCallback</h3><preclass="programlisting">int xmlInputReadCallback (void * context, <br/> char * buffer, <br/> int len)<br/>
</pre><p>Callback used in the I/O Input API to read the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer to store data read</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes read or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlOutputCloseCallback"/>Function type xmlOutputCloseCallback</h3><preclass="programlisting">int xmlOutputCloseCallback (void * context)<br/>
</pre><p>Callback used in the I/O Output API to close the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlOutputMatchCallback"/>Function type xmlOutputMatchCallback</h3><preclass="programlisting">int xmlOutputMatchCallback (char const * filename)<br/>
</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be used</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlOutputOpenCallback"/>Function type xmlOutputOpenCallback</h3><preclass="programlisting">void * xmlOutputOpenCallback (char const * filename)<br/>
</pre><p>Callback used in the I/O Output API to open the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URI</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an Output context or NULL in case or error</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlOutputWriteCallback"/>Function type xmlOutputWriteCallback</h3><preclass="programlisting">int xmlOutputWriteCallback (void * context, <br/> const char * buffer, <br/> int len)<br/>
</pre><p>Callback used in the I/O Output API to write to the resource</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer of data to write</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for progressive parsing</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>path</tt></i>:</span></td><td>the path to check</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td></tr></tbody></table></div></div>
</pre><p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><spanclass="term"><i><tt>ret</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the input or NULL in case of HTTP error.</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
</pre><p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>a handler or NULL in case or failure</td></tr></tbody></table></div></div>
</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or < 0 in case of failure</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div></div>
</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>1 if matches, 0 otherwise</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error</td></tr></tbody></table></div></div>
</pre><p>Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>post_uri</tt></i>:</span></td><td>The destination URI for the document</td></tr><tr><td><spanclass="term"><i><tt>compression</tt></i>:</span></td><td>The compression desired for the document.</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an I/O context or NULL in case of error.</td></tr></tbody></table></div></div>
</pre><p>Read @len bytes to @buffer from the I/O channel.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div></div>
</pre><p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><spanclass="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><spanclass="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or NULL</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated xmlParserInputPtr, or NULL.</td></tr></tbody></table></div></div>
</pre><p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>path</tt></i>:</span></td><td>the input file path</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>a canonicalized version of the path</td></tr></tbody></table></div></div>
</pre><p>flushes and close the output I/O channel and free up all the associated resources</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>Create a buffered output for the progressive saving to a <ahref="libxml2-tree.html#xmlBuffer">xmlBuffer</a></p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>buffer</tt></i>:</span></td><td>a <ahref="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered output for the progressive saving to a file descriptor</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><spanclass="term"><i><tt>compression</tt></i>:</span></td><td>the compression ration (0 none, 9 max).</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new output or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered output for the progressive saving to an I/O handler</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><spanclass="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><spanclass="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><spanclass="term"><i><tt>encoder</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>out</tt></i>:</span></td><td>a buffered output</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><spanclass="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><spanclass="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><spanclass="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or NULL)</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><spanclass="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated C string</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>filename</tt></i>:</span></td><td>the path to a file</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated string containing the directory, or NULL.</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <ahref="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><spanclass="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><spanclass="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><spanclass="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
</pre><p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><spanclass="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><spanclass="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlParserInputBufferGrow"/>xmlParserInputBufferGrow ()</h3><preclass="programlisting">int xmlParserInputBufferGrow (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len)<br/>
</pre><p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in->buffer or in->raw</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlParserInputBufferPush"/>xmlParserInputBufferPush ()</h3><preclass="programlisting">int xmlParserInputBufferPush (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len, <br/> const char * buf)<br/>
</pre><p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><spanclass="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="xmlParserInputBufferRead"/>xmlParserInputBufferRead ()</h3><preclass="programlisting">int xmlParserInputBufferRead (<ahref="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/> int len)<br/>
</pre><p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><spanclass="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of error.</td></tr></tbody></table></div></div>
</pre><p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
</pre><p>Register a new set of I/O callback for handling parser input.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a></td></tr><tr><td><spanclass="term"><i><tt>openFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a></td></tr><tr><td><spanclass="term"><i><tt>readFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a></td></tr><tr><td><spanclass="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a></td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div></div>
</pre><p>Register a new set of I/O callback for handling output.</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a></td></tr><tr><td><spanclass="term"><i><tt>openFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a></td></tr><tr><td><spanclass="term"><i><tt>writeFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a></td></tr><tr><td><spanclass="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <ahref="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a></td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of error</td></tr></tbody></table></div></div>