moved string and UTF8 routines out of parser.c and encoding.c into a new
* encoding.c, parser.c, xmlstring.c, Makefile.am,
include/libxml/Makefile.am, include/libxml/catalog.c,
include/libxml/chvalid.h, include/libxml/encoding.h,
include/libxml/parser.h, include/libxml/relaxng.h,
include/libxml/tree.h, include/libxml/xmlwriter.h,
include/libxml/xmlstring.h:
moved string and UTF8 routines out of parser.c and encoding.c
into a new module xmlstring.c with include file
include/libxml/xmlstring.h mostly using patches from Reid
Spencer. Since xmlChar now defined in xmlstring.h, several
include files needed to have a #include added for safety.
* doc/apibuild.py: added some additional sorting for various
references displayed in the APIxxx.html files. Rebuilt the
docs, and also added new file for xmlstring module.
* configure.in: small addition to help my testing; no effect on
normal usage.
* doc/search.php: added $_GET[query] so that persistent globals
can be disabled (for recent versions of PHP)
diff --git a/doc/html/libxml-DOCBparser.html b/doc/html/libxml-DOCBparser.html
index 8939f4c..b54595c 100644
--- a/doc/html/libxml-DOCBparser.html
+++ b/doc/html/libxml-DOCBparser.html
@@ -22,8 +22,8 @@
<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbParseFile">docbParseFile</a> (const char * filename, <br /> const char * encoding)</pre>
<pre class="programlisting">int <a href="#docbParseDocument">docbParseDocument</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)</pre>
<pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> <a href="#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a> (const char * filename, <br /> const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbParseDoc">docbParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding)</pre>
-<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbSAXParseDoc">docbSAXParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)</pre>
+<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbParseDoc">docbParseDoc</a> (<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding)</pre>
+<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbSAXParseDoc">docbSAXParseDoc</a> (<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)</pre>
<pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> <a href="#docbSAXParseFile">docbSAXParseFile</a> (const char * filename, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)</pre>
<pre class="programlisting">int <a href="#docbParseChunk">docbParseChunk</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br /> const char * chunk, <br /> int size, <br /> int terminate)</pre>
<pre class="programlisting">void <a href="#docbFreeParserCtxt">docbFreeParserCtxt</a> (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)</pre>
@@ -32,17 +32,17 @@
</pre><p>Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be >= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="docbEncodeEntities" id="docbEncodeEntities"></a>Function: docbEncodeEntities</h3><pre class="programlisting">int docbEncodeEntities (unsigned char * out, <br /> int * outlen, <br /> const unsigned char * in, <br /> int * inlen, <br /> int quoteChar)<br />
</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><h3><a name="docbParseFile" id="docbParseFile"></a>Function: docbParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseFile (const char * filename, <br /> const char * encoding)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><h3><a name="docbParseFile" id="docbParseFile"></a>Function: docbParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseFile (const char * filename, <br /> const char * encoding)<br />
</pre><p>parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbParseDocument" id="docbParseDocument"></a>Function: docbParseDocument</h3><pre class="programlisting">int docbParseDocument (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt)<br />
</pre><p>parse an SGML document (and build a tree if using the standard SAX interface).</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an SGML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><h3><a name="docbCreateFileParserCtxt" id="docbCreateFileParserCtxt"></a>Function: docbCreateFileParserCtxt</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> docbCreateFileParserCtxt (const char * filename, <br /> const char * encoding)<br />
</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="docbParseDoc" id="docbParseDoc"></a>Function: docbParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="docbParseDoc" id="docbParseDoc"></a>Function: docbParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbParseDoc (<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding)<br />
</pre><p>parse an SGML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-tree.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbSAXParseDoc" id="docbSAXParseDoc"></a>Function: docbSAXParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbSAXParseDoc" id="docbSAXParseDoc"></a>Function: docbSAXParseDoc</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseDoc (<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)<br />
</pre><p>parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-tree.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbSAXParseFile" id="docbSAXParseFile"></a>Function: docbSAXParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseFile (const char * filename, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbSAXParseFile" id="docbSAXParseFile"></a>Function: docbSAXParseFile</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a> docbSAXParseFile (const char * filename, <br /> const char * encoding, <br /> <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax, <br /> void * userData)<br />
</pre><p>parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the SGML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="docbParseChunk" id="docbParseChunk"></a>Function: docbParseChunk</h3><pre class="programlisting">int docbParseChunk (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt, <br /> const char * chunk, <br /> int size, <br /> int terminate)<br />
</pre><p>Parse a Chunk of memory</p>