Rebuilt the docs, Daniel
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index f2d1c6a..24f64a7 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -117,11 +117,13 @@
 ></DIV
 ><H1
 ><A
-NAME="LIBXML-ENCODING">encoding</H1
+NAME="LIBXML-ENCODING"
+></A
+>encoding</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN24757"
+NAME="AEN26832"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +131,9 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN24760"><H2
+NAME="AEN26835"
+></A
+><H2
 >Synopsis</H2
 ><TABLE
 BORDER="0"
@@ -324,6 +328,11 @@
                                              unsigned char *in,
                                              int *inlen);
 int         <A
+HREF="libxml-encoding.html#XMLGETUTF8CHAR"
+>xmlGetUTF8Char</A
+>                  (unsigned char *utf,
+                                             int *len);
+int         <A
 HREF="libxml-encoding.html#XMLCHECKUTF8"
 >xmlCheckUTF8</A
 >                    (unsigned char *utf);
@@ -394,7 +403,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN24824"
+NAME="AEN26900"
 ></A
 ><H2
 >Description</H2
@@ -404,14 +413,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN24827"
+NAME="AEN26903"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24829"
+NAME="AEN26905"
 ></A
 ><H3
 ><A
@@ -477,7 +486,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24836"
+NAME="AEN26912"
 ></A
 ><H3
 ><A
@@ -508,7 +517,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24842"><P
+NAME="AEN26918"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -613,14 +624,14 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >the number of byte written, or -1 by lack of space, or -2
-if the transcoding failed.
+    if the transcoding failed.
 The value of <TT
 CLASS="PARAMETER"
 ><I
 >inlen</I
 ></TT
 > after return is the number of octets consumed
-as the return value is positive, else unpredictiable.
+    as the return value is positive, else unpredictiable.
 The value of <TT
 CLASS="PARAMETER"
 ><I
@@ -637,7 +648,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24871"
+NAME="AEN26947"
 ></A
 ><H3
 ><A
@@ -670,7 +681,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24877"><P
+NAME="AEN26953"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -775,14 +788,14 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >the number of byte written, or -1 by lack of space, or -2
-if the transcoding failed.
+    if the transcoding failed.
 The value of <TT
 CLASS="PARAMETER"
 ><I
 >inlen</I
 ></TT
 > after return is the number of octets consumed
-as the return value is positive, else unpredictiable.
+    as the return value is positive, else unpredictiable.
 The value of <TT
 CLASS="PARAMETER"
 ><I
@@ -799,7 +812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24906"
+NAME="AEN26982"
 ></A
 ><H3
 ><A
@@ -833,7 +846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24911"
+NAME="AEN26987"
 ></A
 ><H3
 ><A
@@ -859,7 +872,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24916"
+NAME="AEN26992"
 ></A
 ><H3
 ><A
@@ -883,14 +896,14 @@
 >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
+      in normal processing.</P
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24922"
+NAME="AEN26998"
 ></A
 ><H3
 ><A
@@ -919,7 +932,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24928"
+NAME="AEN27004"
 ></A
 ><H3
 ><A
@@ -949,7 +962,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24935"><P
+NAME="AEN27011"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -985,7 +1000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24944"
+NAME="AEN27020"
 ></A
 ><H3
 ><A
@@ -1019,7 +1034,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24952"><P
+NAME="AEN27028"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1073,7 +1090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24965"
+NAME="AEN27041"
 ></A
 ><H3
 ><A
@@ -1104,7 +1121,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24972"><P
+NAME="AEN27048"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1158,7 +1177,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN24985"
+NAME="AEN27061"
 ></A
 ><H3
 ><A
@@ -1197,7 +1216,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN24994"><P
+NAME="AEN27070"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1285,7 +1306,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25015"
+NAME="AEN27091"
 ></A
 ><H3
 ><A
@@ -1324,7 +1345,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25023"><P
+NAME="AEN27099"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1395,7 +1418,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25040"
+NAME="AEN27116"
 ></A
 ><H3
 ><A
@@ -1427,7 +1450,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25047"><P
+NAME="AEN27123"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1481,7 +1506,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25060"
+NAME="AEN27136"
 ></A
 ><H3
 ><A
@@ -1508,7 +1533,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25066"><P
+NAME="AEN27142"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1562,7 +1589,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25079"
+NAME="AEN27155"
 ></A
 ><H3
 ><A
@@ -1590,7 +1617,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25085"
+NAME="AEN27161"
 ></A
 ><H3
 ><A
@@ -1622,7 +1649,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25092"><P
+NAME="AEN27168"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1677,7 +1706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25105"
+NAME="AEN27181"
 ></A
 ><H3
 ><A
@@ -1712,7 +1741,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25113"><P
+NAME="AEN27189"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1766,7 +1797,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25126"
+NAME="AEN27202"
 ></A
 ><H3
 ><A
@@ -1798,7 +1829,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25133"><P
+NAME="AEN27209"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1824,7 +1857,7 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >  a pointer to the first bytes of the XML entity, must be at least
-4 bytes long.</TD
+      4 bytes long.</TD
 ></TR
 ><TR
 ><TD
@@ -1870,7 +1903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25150"
+NAME="AEN27226"
 ></A
 ><H3
 ><A
@@ -1918,7 +1951,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25160"><P
+NAME="AEN27236"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -1996,9 +2031,9 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >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
+    -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
@@ -2009,7 +2044,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25181"
+NAME="AEN27257"
 ></A
 ><H3
 ><A
@@ -2047,7 +2082,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25190"><P
+NAME="AEN27266"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2125,9 +2162,9 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >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
+    -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
@@ -2138,7 +2175,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25211"
+NAME="AEN27287"
 ></A
 ><H3
 ><A
@@ -2177,7 +2214,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25220"><P
+NAME="AEN27296"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2255,9 +2294,9 @@
 ALIGN="LEFT"
 VALIGN="TOP"
 >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
+    -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
@@ -2268,7 +2307,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25241"
+NAME="AEN27317"
 ></A
 ><H3
 ><A
@@ -2298,7 +2337,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25248"><P
+NAME="AEN27324"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2352,7 +2393,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25261"
+NAME="AEN27337"
 ></A
 ><H3
 ><A
@@ -2383,7 +2424,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25267"><P
+NAME="AEN27343"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2494,7 +2537,7 @@
 >inlen</I
 ></TT
 > after return is the number of octets consumed
-as the return value is positive, else unpredictable.
+    as the return value is positive, else unpredictable.
 The value of <TT
 CLASS="PARAMETER"
 ><I
@@ -2511,7 +2554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25296"
+NAME="AEN27372"
 ></A
 ><H3
 ><A
@@ -2542,7 +2585,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25302"><P
+NAME="AEN27378"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2653,7 +2698,7 @@
 >inlen</I
 ></TT
 > after return is the number of octets consumed
-as the return value is positive, else unpredictable.
+    as the return value is positive, else unpredictable.
 The value of <TT
 CLASS="PARAMETER"
 ><I
@@ -2670,7 +2715,124 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25331"
+NAME="AEN27407"
+></A
+><H3
+><A
+NAME="XMLGETUTF8CHAR"
+></A
+>xmlGetUTF8Char ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlGetUTF8Char                  (unsigned char *utf,
+                                             int *len);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Read one UTF8 Char from <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+></P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN27414"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a sequence of UTF-8 encoded bytes</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to <TT
+CLASS="PARAMETER"
+><I
+>bytes</I
+></TT
+> len</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+></SPAN
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the char value or -1 in case of error and update <TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+> with the
+       number of bytes used</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN27433"
 ></A
 ><H3
 ><A
@@ -2712,7 +2874,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25339"><P
+NAME="AEN27441"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2771,7 +2935,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25353"
+NAME="AEN27455"
 ></A
 ><H3
 ><A
@@ -2802,7 +2966,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25360"><P
+NAME="AEN27462"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2874,7 +3040,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25377"
+NAME="AEN27479"
 ></A
 ><H3
 ><A
@@ -2908,7 +3074,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25385"><P
+NAME="AEN27487"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -2984,7 +3152,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25403"
+NAME="AEN27505"
 ></A
 ><H3
 ><A
@@ -3019,7 +3187,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25411"><P
+NAME="AEN27513"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -3090,7 +3260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25428"
+NAME="AEN27530"
 ></A
 ><H3
 ><A
@@ -3124,7 +3294,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25436"><P
+NAME="AEN27538"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -3196,7 +3368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25453"
+NAME="AEN27555"
 ></A
 ><H3
 ><A
@@ -3231,7 +3403,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25461"><P
+NAME="AEN27563"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"
@@ -3320,7 +3494,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN25482"
+NAME="AEN27584"
 ></A
 ><H3
 ><A
@@ -3351,7 +3525,9 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN25489"><P
+NAME="AEN27591"
+></A
+><P
 ></P
 ><TABLE
 BORDER="0"