un Nov 30 21:33:37 MST 2003 John Fleck <jfleck@inkstain.net>

	* include/libxml/xinclude.h
	* doc/*
	Add comments for macro definitions in xinclude.h and
	rebuild the docs
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index aa32dc5..b02c728 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -83,10 +83,10 @@
     iconv_t	iconv_out
 }</pre><h3><a name="UTF8Toisolat1" id="UTF8Toisolat1"></a>Function: UTF8Toisolat1</h3><pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<br />
 </pre><p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 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>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 ocetes consumed.</td></tr></tbody></table></div><h3><a name="isolat1ToUTF8" id="isolat1ToUTF8"></a>Function: isolat1ToUTF8</h3><pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<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>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 if 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="isolat1ToUTF8" id="isolat1ToUTF8"></a>Function: isolat1ToUTF8</h3><pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)<br />
 </pre><p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 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 ISO Latin 1 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>Returns</tt></i>:</span></td><td>0 if success, 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 ocetes consumed.</td></tr></tbody></table></div><h3><a name="xmlAddEncodingAlias" id="xmlAddEncodingAlias"></a>Function: xmlAddEncodingAlias</h3><pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br />					 const char * alias)<br />
-</pre><p>Registers and alias @alias for an encoding named @name. Existing alias will be overwritten.</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 ISO Latin 1 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>Returns</tt></i>:</span></td><td>0 if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if 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="xmlAddEncodingAlias" id="xmlAddEncodingAlias"></a>Function: xmlAddEncodingAlias</h3><pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br />					 const char * alias)<br />
+</pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncCloseFunc" id="xmlCharEncCloseFunc"></a>Function: xmlCharEncCloseFunc</h3><pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br />
 </pre><p>Generic front-end for encoding handler close function</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlCharEncFirstLine" id="xmlCharEncFirstLine"></a>Function: xmlCharEncFirstLine</h3><pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br />					 <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br />
@@ -97,21 +97,21 @@
 </pre><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>char enconding transformation data structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlBuffer">xmlBuffer</a> for the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div><h3><a name="xmlCharEncodingInputFunc" id="xmlCharEncodingInputFunc"></a>Function type: xmlCharEncodingInputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingInputFunc
 int	xmlCharEncodingInputFunc	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre><p>Take a block of chars in the original encoding and try to convert it to an UTF-8 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 UTF-8 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 chars in the original encoding</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>Returns</tt></i>:</span></td><td>the number of byte written, or -1 by lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><br />
+</pre><p>Take a block of chars in the original encoding and try to convert it to an UTF-8 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 UTF-8 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 chars in the original encoding</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>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><br />
 <h3><a name="xmlCharEncodingOutputFunc" id="xmlCharEncodingOutputFunc"></a>Function type: xmlCharEncodingOutputFunc</h3><pre class="programlisting">Function type: xmlCharEncodingOutputFunc
 int	xmlCharEncodingOutputFunc	(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an other encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</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>Returns</tt></i>:</span></td><td>the number of byte written, or -1 by lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictiable. The value of @outlen after return is the number of ocetes consumed.</td></tr></tbody></table></div><br />
+</pre><p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</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>Returns</tt></i>:</span></td><td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of ocetes consumed.</td></tr></tbody></table></div><br />
 <h3><a name="xmlCheckUTF8" id="xmlCheckUTF8"></a>Function: xmlCheckUTF8</h3><pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br />
-</pre><p>Checks @utf for being valid utf-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer utf-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative utf-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div><h3><a name="xmlCleanupCharEncodingHandlers" id="xmlCleanupCharEncodingHandlers"></a>Function: xmlCleanupCharEncodingHandlers</h3><pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br />
+</pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div><h3><a name="xmlCleanupCharEncodingHandlers" id="xmlCleanupCharEncodingHandlers"></a>Function: xmlCleanupCharEncodingHandlers</h3><pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br />
 </pre><p>Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
 <h3><a name="xmlCleanupEncodingAliases" id="xmlCleanupEncodingAliases"></a>Function: xmlCleanupEncodingAliases</h3><pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br />
 </pre><p>Unregisters all aliases</p>
 <h3><a name="xmlDelEncodingAlias" id="xmlDelEncodingAlias"></a>Function: xmlDelEncodingAlias</h3><pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br />
 </pre><p>Unregisters an encoding alias @alias</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlDetectCharEncoding" id="xmlDetectCharEncoding"></a>Function: xmlDetectCharEncoding</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br />					 int len)<br />
-</pre><p>Guess the encoding of the entity using the first bytes of the entity content accordingly of the non-normative appendix F of the XML-1.0 recommendation.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to the first bytes of the XML entity, must be at least 4 bytes long.</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values.</td></tr></tbody></table></div><h3><a name="xmlFindCharEncodingHandler" id="xmlFindCharEncodingHandler"></a>Function: xmlFindCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br />
+</pre><p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values.</td></tr></tbody></table></div><h3><a name="xmlFindCharEncodingHandler" id="xmlFindCharEncodingHandler"></a>Function: xmlFindCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br />
 </pre><p>Search in the registered set the handler able to read/write that encoding.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>a string describing the char encoding.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlGetCharEncodingHandler" id="xmlGetCharEncodingHandler"></a>Function: xmlGetCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
 </pre><p>Search in the registered set the handler able to read/write that encoding.</p>
@@ -119,24 +119,24 @@
 </pre><p>The &quot;canonical&quot; name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the canonical name for the given encoding</td></tr></tbody></table></div><h3><a name="xmlGetEncodingAlias" id="xmlGetEncodingAlias"></a>Function: xmlGetEncodingAlias</h3><pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br />
 </pre><p>Lookup an encoding name for the given alias.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found the original name otherwise</td></tr></tbody></table></div><h3><a name="xmlGetUTF8Char" id="xmlGetUTF8Char"></a>Function: xmlGetUTF8Char</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br />					 int * len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the original name</td></tr></tbody></table></div><h3><a name="xmlGetUTF8Char" id="xmlGetUTF8Char"></a>Function: xmlGetUTF8Char</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br />					 int * len)<br />
 </pre><p>Read one UTF8 Char from @utf</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to @bytes len</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error and update @len with the number of bytes used</td></tr></tbody></table></div><h3><a name="xmlInitCharEncodingHandlers" id="xmlInitCharEncodingHandlers"></a>Function: xmlInitCharEncodingHandlers</h3><pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to @bytes len</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and updates *len with the number of bytes consumed</td></tr></tbody></table></div><h3><a name="xmlInitCharEncodingHandlers" id="xmlInitCharEncodingHandlers"></a>Function: xmlInitCharEncodingHandlers</h3><pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br />
 </pre><p>Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
 <h3><a name="xmlNewCharEncodingHandler" id="xmlNewCharEncodingHandler"></a>Function: xmlNewCharEncodingHandler</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br />							 <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br />							 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br />
 </pre><p>Create and registers an xmlCharEncodingHandler.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the encoding name, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td></tr></tbody></table></div><h3><a name="xmlParseCharEncoding" id="xmlParseCharEncoding"></a>Function: xmlParseCharEncoding</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br />
-</pre><p>Compare the string to the known encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</p>
+</pre><p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... values or <a href="libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td></tr></tbody></table></div><h3><a name="xmlRegisterCharEncodingHandler" id="xmlRegisterCharEncodingHandler"></a>Function: xmlRegisterCharEncodingHandler</h3><pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br />
 </pre><p>Register the char encoding handler, surprising, isn't it ?</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</td></tr></tbody></table></div><h3><a name="xmlUTF8Charcmp" id="xmlUTF8Charcmp"></a>Function: xmlUTF8Charcmp</h3><pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf1, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf2)<br />
 </pre><p>compares the two UCS4 values</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf1</tt></i>:</span></td><td>pointer to first UTF8 char</td></tr><tr><td><span class="term"><i><tt>utf2</tt></i>:</span></td><td>pointer to second UTF8 char</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>result of the compare as with <a href="libxml-parser.html#xmlStrncmp">xmlStrncmp</a></td></tr></tbody></table></div><h3><a name="xmlUTF8Size" id="xmlUTF8Size"></a>Function: xmlUTF8Size</h3><pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf)<br />
-</pre><p>calulates the internal size of a UTF8 character</p>
+</pre><p>calculates the internal size of a UTF8 character</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>pointer to the UTF8 character</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the numbers of bytes in the character, -1 on format error</td></tr></tbody></table></div><h3><a name="xmlUTF8Strlen" id="xmlUTF8Strlen"></a>Function: xmlUTF8Strlen</h3><pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf)<br />
 </pre><p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the string or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlUTF8Strloc" id="xmlUTF8Strloc"></a>Function: xmlUTF8Strloc</h3><pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utfchar)<br />
-</pre><p>a function to provide relative location of a UTF8 char</p>
+</pre><p>a function to provide the relative location of a UTF8 char</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>utfchar</tt></i>:</span></td><td>the UTF8 character to be found</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the relative character position of the desired char or -1 if not found</td></tr></tbody></table></div><h3><a name="xmlUTF8Strndup" id="xmlUTF8Strndup"></a>Function: xmlUTF8Strndup</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
 </pre><p>a strndup for array of UTF8's</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strpos" id="xmlUTF8Strpos"></a>Function: xmlUTF8Strpos</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)<br />
@@ -144,5 +144,5 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsize" id="xmlUTF8Strsize"></a>Function: xmlUTF8Strsize</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
 </pre><p>storage size of an UTF8 string</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsub" id="xmlUTF8Strsub"></a>Function: xmlUTF8Strsub</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)<br />
-</pre><p>Note: positions are given in units of UTF-8 chars</p>
+</pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any problem</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
index 184fa73..63405c1 100644
--- a/doc/html/libxml-schemasInternals.html
+++ b/doc/html/libxml-schemasInternals.html
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double}
-    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
+    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a name="xmlSchemaAnnotPtr" id="xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a><br />struct _xmlSchemaAttribute
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />struct _xmlSchemaAttributeGroup
@@ -34,11 +34,13 @@
 <h3><a name="XML_SCHEMAS_ANYATTR_LAX" id="XML_SCHEMAS_ANYATTR_LAX"></a>Macro: XML_SCHEMAS_ANYATTR_LAX</h3><pre>#define XML_SCHEMAS_ANYATTR_LAX</pre><p></p>
 <h3><a name="XML_SCHEMAS_ANYATTR_SKIP" id="XML_SCHEMAS_ANYATTR_SKIP"></a>Macro: XML_SCHEMAS_ANYATTR_SKIP</h3><pre>#define XML_SCHEMAS_ANYATTR_SKIP</pre><p></p>
 <h3><a name="XML_SCHEMAS_ANYATTR_STRICT" id="XML_SCHEMAS_ANYATTR_STRICT"></a>Macro: XML_SCHEMAS_ANYATTR_STRICT</h3><pre>#define XML_SCHEMAS_ANYATTR_STRICT</pre><p></p>
+<h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT" id="XML_SCHEMAS_ATTR_NSDEFAULT"></a>Macro: XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ATTR_NSDEFAULT</pre><p>allow elements in no namespace</p>
 <h3><a name="XML_SCHEMAS_ELEM_ABSTRACT" id="XML_SCHEMAS_ELEM_ABSTRACT"></a>Macro: XML_SCHEMAS_ELEM_ABSTRACT</h3><pre>#define XML_SCHEMAS_ELEM_ABSTRACT</pre><p>the element is abstract</p>
 <h3><a name="XML_SCHEMAS_ELEM_DEFAULT" id="XML_SCHEMAS_ELEM_DEFAULT"></a>Macro: XML_SCHEMAS_ELEM_DEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_DEFAULT</pre><p>the element has a default value</p>
 <h3><a name="XML_SCHEMAS_ELEM_FIXED" id="XML_SCHEMAS_ELEM_FIXED"></a>Macro: XML_SCHEMAS_ELEM_FIXED</h3><pre>#define XML_SCHEMAS_ELEM_FIXED</pre><p>the element has a fixed value</p>
 <h3><a name="XML_SCHEMAS_ELEM_GLOBAL" id="XML_SCHEMAS_ELEM_GLOBAL"></a>Macro: XML_SCHEMAS_ELEM_GLOBAL</h3><pre>#define XML_SCHEMAS_ELEM_GLOBAL</pre><p>the element is global</p>
 <h3><a name="XML_SCHEMAS_ELEM_NILLABLE" id="XML_SCHEMAS_ELEM_NILLABLE"></a>Macro: XML_SCHEMAS_ELEM_NILLABLE</h3><pre>#define XML_SCHEMAS_ELEM_NILLABLE</pre><p>the element is nillable</p>
+<h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT" id="XML_SCHEMAS_ELEM_NSDEFAULT"></a>Macro: XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_NSDEFAULT</pre><p>allow elements in no namespace</p>
 <h3><a name="XML_SCHEMAS_ELEM_REF" id="XML_SCHEMAS_ELEM_REF"></a>Macro: XML_SCHEMAS_ELEM_REF</h3><pre>#define XML_SCHEMAS_ELEM_REF</pre><p>the element is a <a href="libxml-SAX.html#reference">reference</a> to a type</p>
 <h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL" id="XML_SCHEMAS_ELEM_TOPLEVEL"></a>Macro: XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre>#define XML_SCHEMAS_ELEM_TOPLEVEL</pre><p>the element is top level</p>
 <h3><a name="XML_SCHEMAS_FACET_COLLAPSE" id="XML_SCHEMAS_FACET_COLLAPSE"></a>Macro: XML_SCHEMAS_FACET_COLLAPSE</h3><pre>#define XML_SCHEMAS_FACET_COLLAPSE</pre><p>collapse the types of the facet</p>
@@ -54,25 +56,27 @@
 }</pre><h3><a name="xmlSchemaAttribute" id="xmlSchemaAttribute">Structure xmlSchemaAttribute</a></h3><pre class="programlisting">Structure xmlSchemaAttribute<br />struct _xmlSchemaAttribute {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	typeName
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	typeNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	typeName
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	typeNs
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base
     int	occurs
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	defValue
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	defValue
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	targetNamespace
+    int	flags
 }</pre><h3><a name="xmlSchemaAttributeGroup" id="xmlSchemaAttributeGroup">Structure xmlSchemaAttributeGroup</a></h3><pre class="programlisting">Structure xmlSchemaAttributeGroup<br />struct _xmlSchemaAttributeGroup {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
@@ -89,10 +93,10 @@
 </pre><h3><a name="xmlSchemaElement" id="xmlSchemaElement">Structure xmlSchemaElement</a></h3><pre class="programlisting">Structure xmlSchemaElement<br />struct _xmlSchemaElement {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaType *	next	: the next type if in a sequence ...
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
     <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
@@ -100,21 +104,21 @@
     int	minOccurs
     int	maxOccurs
     int	flags
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	targetNamespace
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	namedType
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	namedTypeNs
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	substGroup
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	substGroupNs
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	scope
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	value
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	targetNamespace
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	namedType
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	namedTypeNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	substGroup
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	substGroupNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	scope
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	value
     struct _xmlSchemaElement *	refDecl
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
 }</pre><h3><a name="xmlSchemaFacet" id="xmlSchemaFacet">Structure xmlSchemaFacet</a></h3><pre class="programlisting">Structure xmlSchemaFacet<br />struct _xmlSchemaFacet {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	value
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	value
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     int	fixed
@@ -123,16 +127,16 @@
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp
 }</pre><h3><a name="xmlSchemaNotation" id="xmlSchemaNotation">Structure xmlSchemaNotation</a></h3><pre class="programlisting">Structure xmlSchemaNotation<br />struct _xmlSchemaNotation {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	identifier
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	identifier
 }</pre><h3><a name="xmlSchemaType" id="xmlSchemaType">Structure xmlSchemaType</a></h3><pre class="programlisting">Structure xmlSchemaType<br />struct _xmlSchemaType {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaType *	next	: the next type if in a sequence ...
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
     <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
@@ -141,8 +145,8 @@
     int	maxOccurs
     int	flags
     <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	base
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	baseNs
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	base
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	baseNs
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType
     <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets
 }</pre><h3>Enum <a name="xmlSchemaTypeType" id="xmlSchemaTypeType">xmlSchemaTypeType</a></h3><pre class="programlisting">Enum xmlSchemaTypeType {
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index 0188bda..e2ba46e 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -206,7 +206,7 @@
 <h3><a name="BAD_CAST" id="BAD_CAST"></a>Macro: BAD_CAST</h3><pre>#define BAD_CAST</pre><p>Macro to cast a string to an <a href="libxml-tree.html#xmlChar">xmlChar</a> * when one know its safe.</p>
 <h3><a name="BASE_BUFFER_SIZE" id="BASE_BUFFER_SIZE"></a>Macro: BASE_BUFFER_SIZE</h3><pre>#define BASE_BUFFER_SIZE</pre><p>default buffer size 4000.</p>
 <h3><a name="XML_GET_CONTENT" id="XML_GET_CONTENT"></a>Macro: XML_GET_CONTENT</h3><pre>#define XML_GET_CONTENT</pre><p>Macro to extract the content pointer of a node.</p>
-<h3><a name="XML_GET_LINE" id="XML_GET_LINE"></a>Macro: XML_GET_LINE</h3><pre>#define XML_GET_LINE</pre><p>Macro to extract the line number of an element node. This will work only if line numbering is activated by calling xmlLineNumbersDefault(1) before parsing.</p>
+<h3><a name="XML_GET_LINE" id="XML_GET_LINE"></a>Macro: XML_GET_LINE</h3><pre>#define XML_GET_LINE</pre><p>Macro to extract the line number of an element node.</p>
 <h3><a name="XML_LOCAL_NAMESPACE" id="XML_LOCAL_NAMESPACE"></a>Macro: XML_LOCAL_NAMESPACE</h3><pre>#define XML_LOCAL_NAMESPACE</pre><p>A namespace declaration node.</p>
 <h3><a name="XML_XML_NAMESPACE" id="XML_XML_NAMESPACE"></a>Macro: XML_XML_NAMESPACE</h3><pre>#define XML_XML_NAMESPACE</pre><p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
 <h3><a name="xmlChildrenNode" id="xmlChildrenNode"></a>Macro: xmlChildrenNode</h3><pre>#define xmlChildrenNode</pre><p>Macro for compatibility naming layer with libxml1.</p>
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
index 72a4f84..8c4368a 100644
--- a/doc/html/libxml-xinclude.html
+++ b/doc/html/libxml-xinclude.html
@@ -19,14 +19,14 @@
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)</pre>
 <h2>Description</h2>
-<h3><a name="XINCLUDE_FALLBACK" id="XINCLUDE_FALLBACK"></a>Macro: XINCLUDE_FALLBACK</h3><pre>#define XINCLUDE_FALLBACK</pre><p></p>
-<h3><a name="XINCLUDE_HREF" id="XINCLUDE_HREF"></a>Macro: XINCLUDE_HREF</h3><pre>#define XINCLUDE_HREF</pre><p></p>
-<h3><a name="XINCLUDE_NODE" id="XINCLUDE_NODE"></a>Macro: XINCLUDE_NODE</h3><pre>#define XINCLUDE_NODE</pre><p></p>
-<h3><a name="XINCLUDE_NS" id="XINCLUDE_NS"></a>Macro: XINCLUDE_NS</h3><pre>#define XINCLUDE_NS</pre><p></p>
-<h3><a name="XINCLUDE_PARSE" id="XINCLUDE_PARSE"></a>Macro: XINCLUDE_PARSE</h3><pre>#define XINCLUDE_PARSE</pre><p></p>
-<h3><a name="XINCLUDE_PARSE_ENCODING" id="XINCLUDE_PARSE_ENCODING"></a>Macro: XINCLUDE_PARSE_ENCODING</h3><pre>#define XINCLUDE_PARSE_ENCODING</pre><p></p>
-<h3><a name="XINCLUDE_PARSE_TEXT" id="XINCLUDE_PARSE_TEXT"></a>Macro: XINCLUDE_PARSE_TEXT</h3><pre>#define XINCLUDE_PARSE_TEXT</pre><p></p>
-<h3><a name="XINCLUDE_PARSE_XML" id="XINCLUDE_PARSE_XML"></a>Macro: XINCLUDE_PARSE_XML</h3><pre>#define XINCLUDE_PARSE_XML</pre><p></p>
+<h3><a name="XINCLUDE_FALLBACK" id="XINCLUDE_FALLBACK"></a>Macro: XINCLUDE_FALLBACK</h3><pre>#define XINCLUDE_FALLBACK</pre><p>Macro defining &quot;fallback&quot;</p>
+<h3><a name="XINCLUDE_HREF" id="XINCLUDE_HREF"></a>Macro: XINCLUDE_HREF</h3><pre>#define XINCLUDE_HREF</pre><p>Macro defining &quot;href&quot;</p>
+<h3><a name="XINCLUDE_NODE" id="XINCLUDE_NODE"></a>Macro: XINCLUDE_NODE</h3><pre>#define XINCLUDE_NODE</pre><p>Macro defining &quot;include&quot;</p>
+<h3><a name="XINCLUDE_NS" id="XINCLUDE_NS"></a>Macro: XINCLUDE_NS</h3><pre>#define XINCLUDE_NS</pre><p>Macro defining the Xinclude namespace: http://www.w3.org/2001/XInclude</p>
+<h3><a name="XINCLUDE_PARSE" id="XINCLUDE_PARSE"></a>Macro: XINCLUDE_PARSE</h3><pre>#define XINCLUDE_PARSE</pre><p>Macro defining &quot;parse&quot;</p>
+<h3><a name="XINCLUDE_PARSE_ENCODING" id="XINCLUDE_PARSE_ENCODING"></a>Macro: XINCLUDE_PARSE_ENCODING</h3><pre>#define XINCLUDE_PARSE_ENCODING</pre><p>Macro defining &quot;encoding&quot;</p>
+<h3><a name="XINCLUDE_PARSE_TEXT" id="XINCLUDE_PARSE_TEXT"></a>Macro: XINCLUDE_PARSE_TEXT</h3><pre>#define XINCLUDE_PARSE_TEXT</pre><p>Macro defining &quot;text&quot;</p>
+<h3><a name="XINCLUDE_PARSE_XML" id="XINCLUDE_PARSE_XML"></a>Macro: XINCLUDE_PARSE_XML</h3><pre>#define XINCLUDE_PARSE_XML</pre><p>Macro defining &quot;xml&quot;</p>
 <h3><a name="xmlXIncludeCtxt" id="xmlXIncludeCtxt">Structure xmlXIncludeCtxt</a></h3><pre class="programlisting">Structure xmlXIncludeCtxt<br />struct _xmlXIncludeCtxt {
 The content of this structure is not made public by the API.
 }</pre><h3><a name="xmlXIncludeFreeContext" id="xmlXIncludeFreeContext"></a>Function: xmlXIncludeFreeContext</h3><pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br />
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index a0eaac0..b8a9d34 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -529,6 +529,12 @@
     <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1763
     <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1764
     <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1765
+    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1766
+    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1767
+    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1768
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1769
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1770
+    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1771
     <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1800
     <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1801 : 1801
     <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1802 : 1802
diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html
index 39ce772..bb2cfa2 100644
--- a/doc/html/libxml-xmlschemas.html
+++ b/doc/html/libxml-xmlschemas.html
@@ -40,10 +40,10 @@
 </pre>
 <h2>Description</h2>
 <h3><a name="xmlSchema" id="xmlSchema">Structure xmlSchema</a></h3><pre class="programlisting">Structure xmlSchema<br />struct _xmlSchema {
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name	: schema name
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	version
-    <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	name	: schema name
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	version
+    const <a href="libxml-tree.html#xmlChar">xmlChar</a> *	id
     <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     int	flags
@@ -55,6 +55,8 @@
     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	schemasImports
     void *	_private	: unused by the library for users or bind
     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	groupDecl
+    <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
+    void *	includes	: the includes, this is opaque for now
 }</pre><h3><a name="xmlSchemaParserCtxt" id="xmlSchemaParserCtxt">Structure xmlSchemaParserCtxt</a></h3><pre class="programlisting">Structure xmlSchemaParserCtxt<br />struct _xmlSchemaParserCtxt {
 The content of this structure is not made public by the API.
 }</pre><h3><a name="xmlSchemaValidCtxt" id="xmlSchemaValidCtxt">Structure xmlSchemaValidCtxt</a></h3><pre class="programlisting">Structure xmlSchemaValidCtxt<br />struct _xmlSchemaValidCtxt {
diff --git a/doc/html/libxml-xmlwriter.html b/doc/html/libxml-xmlwriter.html
index 6b06837..9f9b997 100644
--- a/doc/html/libxml-xmlwriter.html
+++ b/doc/html/libxml-xmlwriter.html
@@ -176,31 +176,31 @@
 </pre><p>Write an xml element with namespace support.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatAttribute" id="xmlTextWriterWriteFormatAttribute"></a>Function: xmlTextWriterWriteFormatAttribute</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
 </pre><p>Write a formatted xml attribute.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatAttributeNS" id="xmlTextWriterWriteFormatAttributeNS"></a>Function: xmlTextWriterWriteFormatAttributeNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatAttributeNS" id="xmlTextWriterWriteFormatAttributeNS"></a>Function: xmlTextWriterWriteFormatAttributeNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
 </pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatCDATA" id="xmlTextWriterWriteFormatCDATA"></a>Function: xmlTextWriterWriteFormatCDATA</h3><pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml-SAX.html#attribute">attribute</a> local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatCDATA" id="xmlTextWriterWriteFormatCDATA"></a>Function: xmlTextWriterWriteFormatCDATA</h3><pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatComment" id="xmlTextWriterWriteFormatComment"></a>Function: xmlTextWriterWriteFormatComment</h3><pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatComment" id="xmlTextWriterWriteFormatComment"></a>Function: xmlTextWriterWriteFormatComment</h3><pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTD" id="xmlTextWriterWriteFormatDTD"></a>Function: xmlTextWriterWriteFormatDTD</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTD" id="xmlTextWriterWriteFormatDTD"></a>Function: xmlTextWriterWriteFormatDTD</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * pubid, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * sysid, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDAttlist" id="xmlTextWriterWriteFormatDTDAttlist"></a>Function: xmlTextWriterWriteFormatDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the DTD</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDAttlist" id="xmlTextWriterWriteFormatDTDAttlist"></a>Function: xmlTextWriterWriteFormatDTDAttlist</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
 </pre><p>Write a formatted DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDElement" id="xmlTextWriterWriteFormatDTDElement"></a>Function: xmlTextWriterWriteFormatDTDElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDElement" id="xmlTextWriterWriteFormatDTDElement"></a>Function: xmlTextWriterWriteFormatDTDElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const char * format, <br />						 ... ...)<br />
 </pre><p>Write a formatted DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDInternalEntity" id="xmlTextWriterWriteFormatDTDInternalEntity"></a>Function: xmlTextWriterWriteFormatDTDInternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatDTDInternalEntity" id="xmlTextWriterWriteFormatDTDInternalEntity"></a>Function: xmlTextWriterWriteFormatDTDInternalEntity</h3><pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />							 int pe, <br />							 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />							 const char * format, <br />							 ... ...)<br />
 </pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElement" id="xmlTextWriterWriteFormatElement"></a>Function: xmlTextWriterWriteFormatElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElement" id="xmlTextWriterWriteFormatElement"></a>Function: xmlTextWriterWriteFormatElement</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a formatted xml element.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElementNS" id="xmlTextWriterWriteFormatElementNS"></a>Function: xmlTextWriterWriteFormatElementNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatElementNS" id="xmlTextWriterWriteFormatElementNS"></a>Function: xmlTextWriterWriteFormatElementNS</h3><pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * prefix, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * namespaceURI, <br />						 const char * format, <br />						 ... ...)<br />
 </pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatPI" id="xmlTextWriterWriteFormatPI"></a>Function: xmlTextWriterWriteFormatPI</h3><pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatPI" id="xmlTextWriterWriteFormatPI"></a>Function: xmlTextWriterWriteFormatPI</h3><pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * target, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a formatted PI.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatRaw" id="xmlTextWriterWriteFormatRaw"></a>Function: xmlTextWriterWriteFormatRaw</h3><pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatRaw" id="xmlTextWriterWriteFormatRaw"></a>Function: xmlTextWriterWriteFormatRaw</h3><pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatString" id="xmlTextWriterWriteFormatString"></a>Function: xmlTextWriterWriteFormatString</h3><pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteFormatString" id="xmlTextWriterWriteFormatString"></a>Function: xmlTextWriterWriteFormatString</h3><pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const char * format, <br />					 ... ...)<br />
 </pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWritePI" id="xmlTextWriterWritePI"></a>Function: xmlTextWriterWritePI</h3><pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * content)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWritePI" id="xmlTextWriterWritePI"></a>Function: xmlTextWriterWritePI</h3><pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * target, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Write an xml PI.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterWriteRaw" id="xmlTextWriterWriteRaw"></a>Function: xmlTextWriterWriteRaw</h3><pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br />					 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Write a raw xml text.</p>