diff --git a/doc/html/book1.html b/doc/html/book1.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvYm9vazEuaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvYm9vazEuaHRtbA== 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -7,7 +7,7 @@
 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
 "><LINK
 REL="NEXT"
-TITLE="Libxml Programming Notes"
+TITLE="Libxslt Programming Notes"
 HREF="libxslt-notes.html"></HEAD
 ><BODY
 CLASS="BOOK"
@@ -113,7 +113,7 @@
 ><DT
 ><A
 HREF="libxslt-notes.html"
->Libxml Programming Notes</A
+>Libxslt Programming Notes</A
 ></DT
 ><DT
 ><A
@@ -187,6 +187,11 @@
 HREF="libxslt-xsltinternals.html"
 >xsltInternals</A
 >&nbsp;--&nbsp;</DT
+><DT
+><A
+HREF="libxslt-numbersinternals.html"
+>numbersInternals</A
+>&nbsp;--&nbsp;</DT
 ></DL
 ></DD
 ></DL
@@ -256,7 +261,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->Libxml Programming Notes</B
+>Libxslt Programming Notes</B
 ></FONT
 ></TD
 ></TR
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvaW5kZXguc2dtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvaW5kZXguc2dtbA== 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -47,7 +47,6 @@
 <ANCHOR id ="XSLTFREETRANSFORMCONTEXT" href="libxslt/libxslt-transform.html#XSLTFREETRANSFORMCONTEXT">
 <ANCHOR id ="XSLTAPPLYSTYLESHEETUSER" href="libxslt/libxslt-transform.html#XSLTAPPLYSTYLESHEETUSER">
 <ANCHOR id ="XSLTAPPLYSTRIPSPACES" href="libxslt/libxslt-transform.html#XSLTAPPLYSTRIPSPACES">
-<ANCHOR id ="XSLTEXTELEMENTLOOKUP" href="libxslt/libxslt-transform.html#XSLTEXTELEMENTLOOKUP">
 <ANCHOR id ="XSLTAPPLYSTYLESHEET" href="libxslt/libxslt-transform.html#XSLTAPPLYSTYLESHEET">
 <ANCHOR id ="XSLTPROFILESTYLESHEET" href="libxslt/libxslt-transform.html#XSLTPROFILESTYLESHEET">
 <ANCHOR id ="XSLTRUNSTYLESHEET" href="libxslt/libxslt-transform.html#XSLTRUNSTYLESHEET">
@@ -87,4 +86,7 @@
 <ANCHOR id ="XSLTSETTRANSFORMERRORFUNC" href="libxslt/libxslt-xsltutils.html#XSLTSETTRANSFORMERRORFUNC">
 <ANCHOR id ="XSLTTRANSFORMERROR" href="libxslt/libxslt-xsltutils.html#XSLTTRANSFORMERROR">
 <ANCHOR id ="XSLTDOCUMENTSORTFUNCTION" href="libxslt/libxslt-xsltutils.html#XSLTDOCUMENTSORTFUNCTION">
+<ANCHOR id ="XSLTSETSORTFUNC" href="libxslt/libxslt-xsltutils.html#XSLTSETSORTFUNC">
+<ANCHOR id ="XSLTSETCTXTSORTFUNC" href="libxslt/libxslt-xsltutils.html#XSLTSETCTXTSORTFUNC">
+<ANCHOR id ="XSLTDEFAULTSORTFUNCTION" href="libxslt/libxslt-xsltutils.html#XSLTDEFAULTSORTFUNCTION">
 <ANCHOR id ="XSLTDOSORTFUNCTION" href="libxslt/libxslt-xsltutils.html#XSLTDOSORTFUNCTION">
@@ -90,4 +92,5 @@
 <ANCHOR id ="XSLTDOSORTFUNCTION" href="libxslt/libxslt-xsltutils.html#XSLTDOSORTFUNCTION">
+<ANCHOR id ="XSLTCOMPUTESORTRESULT" href="libxslt/libxslt-xsltutils.html#XSLTCOMPUTESORTRESULT">
 <ANCHOR id ="XSLTGETQNAMEURI" href="libxslt/libxslt-xsltutils.html#XSLTGETQNAMEURI">
 <ANCHOR id ="XSLTSAVERESULTTO" href="libxslt/libxslt-xsltutils.html#XSLTSAVERESULTTO">
 <ANCHOR id ="XSLTSAVERESULTTOFILENAME" href="libxslt/libxslt-xsltutils.html#XSLTSAVERESULTTOFILENAME">
@@ -206,6 +209,7 @@
 <ANCHOR id ="XSLTELEMPRECOMP" href="libxslt/libxslt-xsltinternals.html#XSLTELEMPRECOMP">
 <ANCHOR id ="XSLTELEMPRECOMPPTR" href="libxslt/libxslt-xsltinternals.html#XSLTELEMPRECOMPPTR">
 <ANCHOR id ="XSLTTRANSFORMFUNCTION" href="libxslt/libxslt-xsltinternals.html#XSLTTRANSFORMFUNCTION">
+<ANCHOR id ="XSLTSORTFUNC" href="libxslt/libxslt-xsltinternals.html#XSLTSORTFUNC">
 <ANCHOR id ="XSLTSTYLETYPE" href="libxslt/libxslt-xsltinternals.html#XSLTSTYLETYPE">
 <ANCHOR id ="XSLTELEMPRECOMPDEALLOCATOR" href="libxslt/libxslt-xsltinternals.html#XSLTELEMPRECOMPDEALLOCATOR">
 <ANCHOR id ="XSLTSTYLEPRECOMP" href="libxslt/libxslt-xsltinternals.html#XSLTSTYLEPRECOMP">
@@ -234,3 +238,8 @@
 <ANCHOR id ="XSLTPARSETEMPLATECONTENT" href="libxslt/libxslt-xsltinternals.html#XSLTPARSETEMPLATECONTENT">
 <ANCHOR id ="XSLTALLOCATEEXTRA" href="libxslt/libxslt-xsltinternals.html#XSLTALLOCATEEXTRA">
 <ANCHOR id ="XSLTALLOCATEEXTRACTXT" href="libxslt/libxslt-xsltinternals.html#XSLTALLOCATEEXTRACTXT">
+<ANCHOR id ="LIBXSLT-NUMBERSINTERNALS" href="libxslt/libxslt-numbersinternals.html">
+<ANCHOR id ="XSLTNUMBERDATA" href="libxslt/libxslt-numbersinternals.html#XSLTNUMBERDATA">
+<ANCHOR id ="XSLTNUMBERDATAPTR" href="libxslt/libxslt-numbersinternals.html#XSLTNUMBERDATAPTR">
+<ANCHOR id ="XSLTFORMATNUMBERINFO" href="libxslt/libxslt-numbersinternals.html#XSLTFORMATNUMBERINFO">
+<ANCHOR id ="XSLTFORMATNUMBERINFOPTR" href="libxslt/libxslt-numbersinternals.html#XSLTFORMATNUMBERINFOPTR">
diff --git a/doc/html/libxslt-attributes.html b/doc/html/libxslt-attributes.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1hdHRyaWJ1dGVzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1hdHRyaWJ1dGVzLmh0bWw= 100644
--- a/doc/html/libxslt-attributes.html
+++ b/doc/html/libxslt-attributes.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3001"
+NAME="AEN3071"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3004"
+NAME="AEN3074"
 ></A
 ><H2
 >Synopsis</H2
@@ -198,7 +198,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3019"
+NAME="AEN3089"
 ></A
 ><H2
 >Description</H2
@@ -208,10 +208,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3022"
+NAME="AEN3092"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -212,10 +212,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3024"
+NAME="AEN3094"
 ></A
 ><H3
 ><A
@@ -243,10 +243,9 @@
 ></TR
 ></TABLE
 ><P
->parse an XSLT stylesheet preserve-space element and record
-elements needing preserving</P
+>parse an XSLT stylesheet attribute-set element</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -248,9 +247,9 @@
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3032"
+NAME="AEN3102"
 ></A
 ><P
 ></P
@@ -294,7 +293,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the "attribute-set" element</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -305,7 +304,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3045"
+NAME="AEN3115"
 ></A
 ><H3
 ><A
@@ -335,7 +334,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3052"
+NAME="AEN3122"
 ></A
 ><P
 ></P
@@ -373,7 +372,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3061"
+NAME="AEN3131"
 ></A
 ><H3
 ><A
@@ -415,7 +414,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3071"
+NAME="AEN3141"
 ></A
 ><P
 ></P
@@ -504,7 +503,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3092"
+NAME="AEN3162"
 ></A
 ><H3
 ><A
@@ -535,7 +534,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3099"
+NAME="AEN3169"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-extensions.html b/doc/html/libxslt-extensions.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1leHRlbnNpb25zLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1leHRlbnNpb25zLmh0bWw= 100644
--- a/doc/html/libxslt-extensions.html
+++ b/doc/html/libxslt-extensions.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3343"
+NAME="AEN3413"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3346"
+NAME="AEN3416"
 ></A
 ><H2
 >Synopsis</H2
@@ -407,7 +407,7 @@
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMFUNCTION"
 >xsltTransformFunction</A
 > <A
-HREF="libxslt-transform.html#XSLTEXTELEMENTLOOKUP"
+HREF="libxslt-extensions.html#XSLTEXTELEMENTLOOKUP"
 >xsltExtElementLookup</A
 >  (<A
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
@@ -632,7 +632,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3478"
+NAME="AEN3548"
 ></A
 ><H2
 >Description</H2
@@ -642,10 +642,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3481"
+NAME="AEN3551"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -646,10 +646,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3483"
+NAME="AEN3553"
 ></A
 ><H3
 ><A
@@ -683,7 +683,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3491"
+NAME="AEN3561"
 ></A
 ><P
 ></P
@@ -738,7 +738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3504"
+NAME="AEN3574"
 ></A
 ><H3
 ><A
@@ -773,7 +773,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3512"
+NAME="AEN3582"
 ></A
 ><P
 ></P
@@ -845,7 +845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3529"
+NAME="AEN3599"
 ></A
 ><H3
 ><A
@@ -879,7 +879,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3537"
+NAME="AEN3607"
 ></A
 ><P
 ></P
@@ -934,7 +934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3550"
+NAME="AEN3620"
 ></A
 ><H3
 ><A
@@ -969,7 +969,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3558"
+NAME="AEN3628"
 ></A
 ><P
 ></P
@@ -1041,7 +1041,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3575"
+NAME="AEN3645"
 ></A
 ><H3
 ><A
@@ -1079,7 +1079,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3584"
+NAME="AEN3654"
 ></A
 ><P
 ></P
@@ -1169,7 +1169,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3605"
+NAME="AEN3675"
 ></A
 ><H3
 ><A
@@ -1215,7 +1215,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3616"
+NAME="AEN3686"
 ></A
 ><P
 ></P
@@ -1339,7 +1339,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3645"
+NAME="AEN3715"
 ></A
 ><H3
 ><A
@@ -1369,7 +1369,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3652"
+NAME="AEN3722"
 ></A
 ><P
 ></P
@@ -1425,7 +1425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3665"
+NAME="AEN3735"
 ></A
 ><H3
 ><A
@@ -1460,7 +1460,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3673"
+NAME="AEN3743"
 ></A
 ><P
 ></P
@@ -1515,7 +1515,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3686"
+NAME="AEN3756"
 ></A
 ><H3
 ><A
@@ -1550,7 +1550,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3694"
+NAME="AEN3764"
 ></A
 ><P
 ></P
@@ -1605,7 +1605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3707"
+NAME="AEN3777"
 ></A
 ><H3
 ><A
@@ -1635,7 +1635,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3714"
+NAME="AEN3784"
 ></A
 ><P
 ></P
@@ -1673,7 +1673,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3723"
+NAME="AEN3793"
 ></A
 ><H3
 ><A
@@ -1703,7 +1703,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3730"
+NAME="AEN3800"
 ></A
 ><P
 ></P
@@ -1741,7 +1741,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3739"
+NAME="AEN3809"
 ></A
 ><H3
 ><A
@@ -1769,7 +1769,7 @@
 ></TR
 ></TABLE
 ><P
->Returns the XSLT transformation context from the XPath transformation
+>Provides the XSLT transformation context from the XPath transformation
 context. This is useful when an XPath function in the extension module
 is called by the XPath interpreter and that the XSLT context is needed
 for example to retrieve the associated data pertaining to this XSLT
@@ -1779,7 +1779,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3747"
+NAME="AEN3817"
 ></A
 ><P
 ></P
@@ -1835,7 +1835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3760"
+NAME="AEN3830"
 ></A
 ><H3
 ><A
@@ -1873,7 +1873,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3769"
+NAME="AEN3839"
 ></A
 ><P
 ></P
@@ -1963,7 +1963,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3790"
+NAME="AEN3860"
 ></A
 ><H3
 ><A
@@ -2002,7 +2002,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3799"
+NAME="AEN3869"
 ></A
 ><P
 ></P
@@ -2092,7 +2092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3820"
+NAME="AEN3890"
 ></A
 ><H3
 ><A
@@ -2130,7 +2130,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3829"
+NAME="AEN3899"
 ></A
 ><P
 ></P
@@ -2203,7 +2203,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3846"
+NAME="AEN3916"
 ></A
 ><H3
 ><A
@@ -2237,7 +2237,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3854"
+NAME="AEN3924"
 ></A
 ><P
 ></P
@@ -2310,7 +2310,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3871"
+NAME="AEN3941"
 ></A
 ><H3
 ><A
@@ -2354,7 +2354,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3882"
+NAME="AEN3952"
 ></A
 ><P
 ></P
@@ -2447,7 +2447,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3904"
+NAME="AEN3974"
 ></A
 ><H3
 ><A
@@ -2502,7 +2502,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3917"
+NAME="AEN3987"
 ></A
 ><P
 ></P
@@ -2616,7 +2616,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3944"
+NAME="AEN4014"
 ></A
 ><H3
 ><A
@@ -2658,7 +2658,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3954"
+NAME="AEN4024"
 ></A
 ><P
 ></P
@@ -2765,7 +2765,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3979"
+NAME="AEN4049"
 ></A
 ><H3
 ><A
@@ -2812,7 +2812,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3990"
+NAME="AEN4060"
 ></A
 ><P
 ></P
@@ -2902,7 +2902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4011"
+NAME="AEN4081"
 ></A
 ><H3
 ><A
@@ -2940,7 +2940,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4020"
+NAME="AEN4090"
 ></A
 ><P
 ></P
@@ -3013,7 +3013,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4037"
+NAME="AEN4107"
 ></A
 ><H3
 ><A
@@ -3051,7 +3051,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4046"
+NAME="AEN4116"
 ></A
 ><P
 ></P
@@ -3124,7 +3124,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4063"
+NAME="AEN4133"
 ></A
 ><H3
 ><A
@@ -3158,7 +3158,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4071"
+NAME="AEN4141"
 ></A
 ><P
 ></P
@@ -3231,7 +3231,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4088"
+NAME="AEN4158"
 ></A
 ><H3
 ><A
@@ -3263,7 +3263,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4095"
+NAME="AEN4165"
 ></A
 ><P
 ></P
@@ -3318,7 +3318,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4108"
+NAME="AEN4178"
 ></A
 ><H3
 ><A
@@ -3356,7 +3356,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4117"
+NAME="AEN4187"
 ></A
 ><P
 ></P
@@ -3446,7 +3446,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4138"
+NAME="AEN4208"
 ></A
 ><H3
 ><A
@@ -3484,7 +3484,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4147"
+NAME="AEN4217"
 ></A
 ><P
 ></P
@@ -3557,7 +3557,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4164"
+NAME="AEN4234"
 ></A
 ><H3
 ><A
@@ -3591,7 +3591,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4172"
+NAME="AEN4242"
 ></A
 ><P
 ></P
@@ -3664,7 +3664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4189"
+NAME="AEN4259"
 ></A
 ><H3
 ><A
@@ -3706,7 +3706,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4199"
+NAME="AEN4269"
 ></A
 ><P
 ></P
@@ -3813,7 +3813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4224"
+NAME="AEN4294"
 ></A
 ><H3
 ><A
@@ -3855,7 +3855,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4234"
+NAME="AEN4304"
 ></A
 ><P
 ></P
@@ -3962,7 +3962,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4259"
+NAME="AEN4329"
 ></A
 ><H3
 ><A
@@ -4000,7 +4000,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4268"
+NAME="AEN4338"
 ></A
 ><P
 ></P
@@ -4090,7 +4090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4289"
+NAME="AEN4359"
 ></A
 ><H3
 ><A
@@ -4124,7 +4124,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4297"
+NAME="AEN4367"
 ></A
 ><P
 ></P
@@ -4197,7 +4197,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4314"
+NAME="AEN4384"
 ></A
 ><H3
 ><A
@@ -4227,7 +4227,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4321"
+NAME="AEN4391"
 ></A
 ><P
 ></P
@@ -4283,7 +4283,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4334"
+NAME="AEN4404"
 ></A
 ><H3
 ><A
@@ -4313,7 +4313,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4341"
+NAME="AEN4411"
 ></A
 ><P
 ></P
@@ -4351,7 +4351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4350"
+NAME="AEN4420"
 ></A
 ><H3
 ><A
@@ -4381,7 +4381,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4357"
+NAME="AEN4427"
 ></A
 ><P
 ></P
@@ -4419,7 +4419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4366"
+NAME="AEN4436"
 ></A
 ><H3
 ><A
@@ -4457,7 +4457,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4375"
+NAME="AEN4445"
 ></A
 ><P
 ></P
@@ -4530,7 +4530,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4392"
+NAME="AEN4462"
 ></A
 ><H3
 ><A
@@ -4558,7 +4558,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4398"
+NAME="AEN4468"
 ></A
 ><H3
 ><A
@@ -4588,7 +4588,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4405"
+NAME="AEN4475"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-imports.html b/doc/html/libxslt-imports.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1pbXBvcnRzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1pbXBvcnRzLmh0bWw= 100644
--- a/doc/html/libxslt-imports.html
+++ b/doc/html/libxslt-imports.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3113"
+NAME="AEN3183"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3116"
+NAME="AEN3186"
 ></A
 ><H2
 >Synopsis</H2
@@ -229,7 +229,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3140"
+NAME="AEN3210"
 ></A
 ><H2
 >Description</H2
@@ -239,10 +239,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3143"
+NAME="AEN3213"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -243,10 +243,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3145"
+NAME="AEN3215"
 ></A
 ><H3
 ><A
@@ -273,7 +273,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3151"
+NAME="AEN3221"
 ></A
 ><P
 ></P
@@ -345,7 +345,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3168"
+NAME="AEN3238"
 ></A
 ><H3
 ><A
@@ -372,7 +372,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3174"
+NAME="AEN3244"
 ></A
 ><P
 ></P
@@ -444,7 +444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3191"
+NAME="AEN3261"
 ></A
 ><H3
 ><A
@@ -472,11 +472,9 @@
 ></TR
 ></TABLE
 ><P
->parse an XSLT stylesheet strip-space element and record
-elements needing stripping. Returns zero on success and something else
-on failure.</P
+>parse an XSLT stylesheet import element</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -478,9 +476,9 @@
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3199"
+NAME="AEN3269"
 ></A
 ><P
 ></P
@@ -524,7 +522,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the import element</TD
 ></TR
 ><TR
 ><TD
@@ -542,7 +540,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 in case of success -1 in case of failure.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -553,7 +551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3216"
+NAME="AEN3286"
 ></A
 ><H3
 ><A
@@ -581,11 +579,9 @@
 ></TR
 ></TABLE
 ><P
->parse an XSLT stylesheet strip-space element and record
-elements needing stripping. Returns zero on success, something else
-on failure.</P
+>parse an XSLT stylesheet include element</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -587,9 +583,9 @@
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3224"
+NAME="AEN3294"
 ></A
 ><P
 ></P
@@ -633,7 +629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the include node</TD
 ></TR
 ><TR
 ><TD
@@ -651,7 +647,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 in case of success -1 in case of failure</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -662,7 +658,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3241"
+NAME="AEN3311"
 ></A
 ><H3
 ><A
@@ -695,7 +691,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3249"
+NAME="AEN3319"
 ></A
 ><P
 ></P
@@ -751,7 +747,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3262"
+NAME="AEN3332"
 ></A
 ><H3
 ><A
@@ -775,9 +771,9 @@
 ></TR
 ></TABLE
 ><P
->Returns whether that stylesheet requires white-space stripping</P
+>Checks whether that stylesheet requires white-space stripping</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -779,9 +775,9 @@
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3269"
+NAME="AEN3339"
 ></A
 ><P
 ></P
@@ -837,7 +833,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3282"
+NAME="AEN3352"
 ></A
 ><H3
 ><A
@@ -872,7 +868,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3290"
+NAME="AEN3360"
 ></A
 ><P
 ></P
@@ -946,7 +942,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3307"
+NAME="AEN3377"
 ></A
 ><H3
 ><A
@@ -987,7 +983,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3317"
+NAME="AEN3387"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-keys.html b/doc/html/libxslt-keys.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1rZXlzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1rZXlzLmh0bWw= 100644
--- a/doc/html/libxslt-keys.html
+++ b/doc/html/libxslt-keys.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5075"
+NAME="AEN5136"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5078"
+NAME="AEN5139"
 ></A
 ><H2
 >Synopsis</H2
@@ -227,7 +227,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5101"
+NAME="AEN5162"
 ></A
 ><H2
 >Description</H2
@@ -237,10 +237,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5104"
+NAME="AEN5165"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -241,10 +241,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5106"
+NAME="AEN5167"
 ></A
 ><H3
 ><A
@@ -294,7 +294,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5118"
+NAME="AEN5179"
 ></A
 ><P
 ></P
@@ -435,7 +435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5151"
+NAME="AEN5212"
 ></A
 ><H3
 ><A
@@ -480,7 +480,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5162"
+NAME="AEN5223"
 ></A
 ><P
 ></P
@@ -587,7 +587,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5187"
+NAME="AEN5248"
 ></A
 ><H3
 ><A
@@ -622,7 +622,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5195"
+NAME="AEN5256"
 ></A
 ><P
 ></P
@@ -677,7 +677,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5208"
+NAME="AEN5269"
 ></A
 ><H3
 ><A
@@ -707,7 +707,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5215"
+NAME="AEN5276"
 ></A
 ><P
 ></P
@@ -745,7 +745,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5224"
+NAME="AEN5285"
 ></A
 ><H3
 ><A
@@ -775,7 +775,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5231"
+NAME="AEN5292"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-lib.html b/doc/html/libxslt-lib.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1saWIuaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1saWIuaHRtbA== 100644
--- a/doc/html/libxslt-lib.html
+++ b/doc/html/libxslt-lib.html
@@ -10,7 +10,7 @@
 TITLE="Gnome XSLT Library Reference Manual"
 HREF="book1.html"><LINK
 REL="PREVIOUS"
-TITLE="Libxml Programming Notes"
+TITLE="Libxslt Programming Notes"
 HREF="libxslt-notes.html"><LINK
 REL="NEXT"
 TITLE="xslt"
@@ -182,6 +182,11 @@
 HREF="libxslt-xsltinternals.html"
 >xsltInternals</A
 >&nbsp;--&nbsp;</DT
+><DT
+><A
+HREF="libxslt-numbersinternals.html"
+>numbersInternals</A
+>&nbsp;--&nbsp;</DT
 ></DL
 ></DIV
 ><P
@@ -267,7 +272,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->Libxml Programming Notes</B
+>Libxslt Programming Notes</B
 ></FONT
 ></TD
 ><TD
diff --git a/doc/html/libxslt-namespaces.html b/doc/html/libxslt-namespaces.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1uYW1lc3BhY2VzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1uYW1lc3BhY2VzLmh0bWw= 100644
--- a/doc/html/libxslt-namespaces.html
+++ b/doc/html/libxslt-namespaces.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4419"
+NAME="AEN4489"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4422"
+NAME="AEN4492"
 ></A
 ><H2
 >Synopsis</H2
@@ -255,7 +255,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4453"
+NAME="AEN4523"
 ></A
 ><H2
 >Description</H2
@@ -265,10 +265,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4456"
+NAME="AEN4526"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -269,10 +269,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4458"
+NAME="AEN4528"
 ></A
 ><H3
 ><A
@@ -307,7 +307,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4466"
+NAME="AEN4536"
 ></A
 ><P
 ></P
@@ -362,7 +362,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4479"
+NAME="AEN4549"
 ></A
 ><H3
 ><A
@@ -409,7 +409,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4490"
+NAME="AEN4560"
 ></A
 ><P
 ></P
@@ -516,7 +516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4515"
+NAME="AEN4585"
 ></A
 ><H3
 ><A
@@ -566,7 +566,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4527"
+NAME="AEN4597"
 ></A
 ><P
 ></P
@@ -690,7 +690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4556"
+NAME="AEN4626"
 ></A
 ><H3
 ><A
@@ -738,7 +738,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4567"
+NAME="AEN4637"
 ></A
 ><P
 ></P
@@ -828,7 +828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4588"
+NAME="AEN4658"
 ></A
 ><H3
 ><A
@@ -876,7 +876,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4599"
+NAME="AEN4669"
 ></A
 ><P
 ></P
@@ -966,7 +966,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4620"
+NAME="AEN4690"
 ></A
 ><H3
 ><A
@@ -996,7 +996,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4627"
+NAME="AEN4697"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-notes.html b/doc/html/libxslt-notes.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1ub3Rlcy5odG1s..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1ub3Rlcy5odG1s 100644
--- a/doc/html/libxslt-notes.html
+++ b/doc/html/libxslt-notes.html
@@ -1,7 +1,7 @@
 <HTML
 ><HEAD
 ><TITLE
->Libxml Programming Notes</TITLE
+>Libxslt Programming Notes</TITLE
 ><META
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
@@ -109,5 +109,5 @@
 ><A
 NAME="LIBXSLT-NOTES"
 ></A
->Libxml Programming Notes</H1
+>Libxslt Programming Notes</H1
 ><P
@@ -113,6 +113,6 @@
 ><P
->Libxml is an XSLT toolkit library, it allows to transform
-     XML documents. It uses the XML parser, tree and XPath functionnalities
+>Libxslt is an XSLT toolkit library, which allows you to transform
+     XML documents. It uses the XML parser, tree and XPath functionalities
      of libxml2</P
 ></DIV
 ><DIV
diff --git a/doc/html/libxslt-numbersinternals.html b/doc/html/libxslt-numbersinternals.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1udW1iZXJzaW50ZXJuYWxzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1udW1iZXJzaW50ZXJuYWxzLmh0bWw= 100644
--- a/doc/html/libxslt-numbersinternals.html
+++ b/doc/html/libxslt-numbersinternals.html
@@ -4,7 +4,7 @@
 >numbersInternals</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
 "><LINK
 REL="HOME"
 TITLE="Gnome XSLT Library Reference Manual"
@@ -106,8 +106,8 @@
 ><H1
 ><A
 NAME="LIBXSLT-NUMBERSINTERNALS"
->numbersInternals</A
-></H1
+></A
+>numbersInternals</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -111,7 +111,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4390"
+NAME="AEN6015"
 ></A
 ><H2
 >Name</H2
@@ -119,7 +119,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4393"
+NAME="AEN6018"
 ></A
 ><H2
 >Synopsis</H2
@@ -134,43 +134,22 @@
 CLASS="SYNOPSIS"
 >&#13;
 
-<GTKDOCLINK
-HREF="XMLXPATHERROR"
->xmlXPathError</GTKDOCLINK
-> <A
-HREF="libxslt-xsltinternals.html#XSLTFORMATNUMBERCONVERSION"
->xsltFormatNumberConversion</A
->    (<A
-HREF="libxslt-xsltinternals.html#XSLTDECIMALFORMATPTR"
->xsltDecimalFormatPtr</A
->,
-                                             <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
->*,
-                                             <GTKDOCLINK
-HREF="DOUBLE"
->double</GTKDOCLINK
->,
-                                             <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
->**);
-void        <A
-HREF="libxslt-xsltinternals.html#XSLTNUMBERFORMAT"
->xsltNumberFormat</A
->                (<A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
->xsltTransformContextPtr</A
->,
-                                             <GTKDOCLINK
-HREF="XSLTNUMBERDATAPTR"
->xsltNumberDataPtr</GTKDOCLINK
->,
-                                             <GTKDOCLINK
-HREF="XMLNODEPTR"
->xmlNodePtr</GTKDOCLINK
->);</PRE
+struct      <A
+HREF="libxslt-numbersinternals.html#XSLTNUMBERDATA"
+>xsltNumberData</A
+>;
+typedef     <A
+HREF="libxslt-numbersinternals.html#XSLTNUMBERDATAPTR"
+>xsltNumberDataPtr</A
+>;
+struct      <A
+HREF="libxslt-numbersinternals.html#XSLTFORMATNUMBERINFO"
+>xsltFormatNumberInfo</A
+>;
+typedef     <A
+HREF="libxslt-numbersinternals.html#XSLTFORMATNUMBERINFOPTR"
+>xsltFormatNumberInfoPtr</A
+>;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -178,7 +157,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4406"
+NAME="AEN6025"
 ></A
 ><H2
 >Description</H2
@@ -188,10 +167,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4409"
+NAME="AEN6028"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -192,10 +171,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4411"
+NAME="AEN6030"
 ></A
 ><H3
 ><A
@@ -199,5 +178,5 @@
 ></A
 ><H3
 ><A
-NAME="XSLTFORMATNUMBERCONVERSION"
+NAME="XSLTNUMBERDATA"
 ></A
@@ -203,5 +182,5 @@
 ></A
->xsltFormatNumberConversion ()</H3
+>struct xsltNumberData</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -211,26 +190,20 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHERROR"
->xmlXPathError</GTKDOCLINK
-> xsltFormatNumberConversion    (<A
-HREF="libxslt-xsltinternals.html#XSLTDECIMALFORMATPTR"
->xsltDecimalFormatPtr</A
->,
-                                             <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
->*,
-                                             <GTKDOCLINK
-HREF="DOUBLE"
->double</GTKDOCLINK
->,
-                                             <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
->**);</PRE
+>struct xsltNumberData {
+    xmlChar *level;
+    xmlChar *count;
+    xmlChar *from;
+    xmlChar *value;
+    xmlChar *format;
+    int has_format;
+    int digitsPerGroup;
+    int groupingCharacter;
+    int groupingCharacterLen;
+    xmlDocPtr doc;
+    xmlNodePtr node;
+};</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
@@ -233,12 +206,7 @@
 ></TD
 ></TR
 ></TABLE
 ><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4421"
-></A
+>This data structure is just a wrapper to pass xsl:number data in.</P
 ><P
 ></P
@@ -243,102 +211,6 @@
 ><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
->Param1</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param4</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
@@ -341,8 +213,8 @@
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4446"
+NAME="AEN6036"
 ></A
 ><H3
 ><A
@@ -346,5 +218,5 @@
 ></A
 ><H3
 ><A
-NAME="XSLTNUMBERFORMAT"
+NAME="XSLTNUMBERDATAPTR"
 ></A
@@ -350,5 +222,5 @@
 ></A
->xsltNumberFormat ()</H3
+>xsltNumberDataPtr</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -358,20 +230,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xsltNumberFormat                (<A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
->xsltTransformContextPtr</A
->,
-                                             <GTKDOCLINK
-HREF="XSLTNUMBERDATAPTR"
->xsltNumberDataPtr</GTKDOCLINK
->,
-                                             <GTKDOCLINK
-HREF="XMLNODEPTR"
->xmlNodePtr</GTKDOCLINK
->);</PRE
+>typedef xsltNumberData *xsltNumberDataPtr;</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
 ></P
@@ -373,8 +234,9 @@
 ></TD
 ></TR
 ></TABLE
 ><P
 ></P
-><DIV
-CLASS="INFORMALTABLE"
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
 ><A
@@ -380,3 +242,3 @@
 ><A
-NAME="AEN4454"
+NAME="AEN6041"
 ></A
@@ -382,5 +244,8 @@
 ></A
-><P
-></P
+><H3
+><A
+NAME="XSLTFORMATNUMBERINFO"
+></A
+>struct xsltFormatNumberInfo</H3
 ><TABLE
 BORDER="0"
@@ -385,3 +250,4 @@
 ><TABLE
 BORDER="0"
+BGCOLOR="#D6E8FF"
 WIDTH="100%"
@@ -387,25 +253,4 @@
 WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param1</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
+CELLPADDING="6"
 ><TR
 ><TD
@@ -410,17 +255,17 @@
 ><TR
 ><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xsltFormatNumberInfo {
+    int	    integer_hash;	/* Number of '#' in integer part */
+    int	    integer_digits;	/* Number of '0' in integer part */
+    int	    frac_digits;	/* Number of '0' in fractional part */
+    int	    frac_hash;		/* Number of '#' in fractional part */
+    int	    group;		/* Number of chars per display 'group' */
+    int     multiplier;		/* Scaling for percent or permille */
+    char    add_decimal;	/* Flag for whether decimal point appears in pattern */
+    char    is_multiplier_set;	/* Flag to catch multiple occurences of percent/permille */
+    char    is_negative_pattern;/* Flag for processing -ve prefix/suffix */
+};</PRE
+></TD
 ></TR
@@ -426,3 +271,24 @@
 ></TR
+></TABLE
+><P
+>This data structure lists the various parameters needed to format numbers.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6047"
+></A
+><H3
+><A
+NAME="XSLTFORMATNUMBERINFOPTR"
+></A
+>xsltFormatNumberInfoPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
 ><TR
 ><TD
@@ -427,17 +293,7 @@
 ><TR
 ><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->Param3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;</PRE
+></TD
 ></TR
@@ -443,7 +299,6 @@
 ></TR
-></TBODY
 ></TABLE
 ><P
 ></P
 ></DIV
 ></DIV
@@ -445,9 +300,8 @@
 ></TABLE
 ><P
 ></P
 ></DIV
 ></DIV
-></DIV
 ><DIV
 CLASS="NAVFOOTER"
 ><BR
diff --git a/doc/html/libxslt-pattern.html b/doc/html/libxslt-pattern.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC1wYXR0ZXJuLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC1wYXR0ZXJuLmh0bWw= 100644
--- a/doc/html/libxslt-pattern.html
+++ b/doc/html/libxslt-pattern.html
@@ -1200,9 +1200,7 @@
 ></TR
 ></TABLE
 ><P
->Determine if a node matches a pattern.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -1205,8 +1203,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN616"
+NAME="AEN615"
 ></A
 ><P
 ></P
@@ -1250,7 +1248,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a node in the source tree</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1267,7 +1265,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> an XSLT pattern</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1284,7 +1282,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  context document (for namespaces)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1301,7 +1299,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  context node (for namespaces)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
diff --git a/doc/html/libxslt-templates.html b/doc/html/libxslt-templates.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC10ZW1wbGF0ZXMuaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC10ZW1wbGF0ZXMuaHRtbA== 100644
--- a/doc/html/libxslt-templates.html
+++ b/doc/html/libxslt-templates.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN650"
+NAME="AEN649"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN653"
+NAME="AEN652"
 ></A
 ><H2
 >Synopsis</H2
@@ -348,7 +348,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN709"
+NAME="AEN708"
 ></A
 ><H2
 >Description</H2
@@ -358,10 +358,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN712"
+NAME="AEN711"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -362,10 +362,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN714"
+NAME="AEN713"
 ></A
 ><H3
 ><A
@@ -405,7 +405,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN723"
+NAME="AEN722"
 ></A
 ><P
 ></P
@@ -512,7 +512,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN748"
+NAME="AEN747"
 ></A
 ><H3
 ><A
@@ -555,7 +555,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN758"
+NAME="AEN757"
 ></A
 ><P
 ></P
@@ -646,7 +646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN779"
+NAME="AEN778"
 ></A
 ><H3
 ><A
@@ -693,7 +693,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN790"
+NAME="AEN789"
 ></A
 ><P
 ></P
@@ -801,7 +801,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN815"
+NAME="AEN814"
 ></A
 ><H3
 ><A
@@ -848,7 +848,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN826"
+NAME="AEN825"
 ></A
 ><P
 ></P
@@ -973,7 +973,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN855"
+NAME="AEN854"
 ></A
 ><H3
 ><A
@@ -1010,7 +1010,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN864"
+NAME="AEN863"
 ></A
 ><P
 ></P
@@ -1084,7 +1084,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN881"
+NAME="AEN880"
 ></A
 ><H3
 ><A
@@ -1127,7 +1127,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN891"
+NAME="AEN890"
 ></A
 ><P
 ></P
@@ -1235,7 +1235,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN916"
+NAME="AEN915"
 ></A
 ><H3
 ><A
@@ -1272,7 +1272,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN925"
+NAME="AEN924"
 ></A
 ><P
 ></P
@@ -1345,7 +1345,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN942"
+NAME="AEN941"
 ></A
 ><H3
 ><A
@@ -1386,7 +1386,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN952"
+NAME="AEN951"
 ></A
 ><P
 ></P
@@ -1476,7 +1476,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN973"
+NAME="AEN972"
 ></A
 ><H3
 ><A
@@ -1517,7 +1517,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN983"
+NAME="AEN982"
 ></A
 ><P
 ></P
@@ -1607,7 +1607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1004"
+NAME="AEN1003"
 ></A
 ><H3
 ><A
@@ -1644,7 +1644,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1013"
+NAME="AEN1012"
 ></A
 ><P
 ></P
@@ -1718,7 +1718,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1030"
+NAME="AEN1029"
 ></A
 ><H3
 ><A
@@ -1761,7 +1761,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1040"
+NAME="AEN1039"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-transform.html b/doc/html/libxslt-transform.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC10cmFuc2Zvcm0uaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC10cmFuc2Zvcm0uaHRtbA== 100644
--- a/doc/html/libxslt-transform.html
+++ b/doc/html/libxslt-transform.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1066"
+NAME="AEN1065"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1069"
+NAME="AEN1068"
 ></A
 ><H2
 >Synopsis</H2
@@ -211,24 +211,6 @@
 HREF="XMLNODEPTR"
 >xmlNodePtr</GTKDOCLINK
 > node);
-<A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMFUNCTION"
->xsltTransformFunction</A
-> <A
-HREF="libxslt-transform.html#XSLTEXTELEMENTLOOKUP"
->xsltExtElementLookup</A
->  (<A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
->xsltTransformContextPtr</A
-> ctxt,
-                                             const <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
-> *name,
-                                             const <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
-> *URI);
 <GTKDOCLINK
 HREF="XMLDOCPTR"
 >xmlDocPtr</GTKDOCLINK
@@ -692,7 +674,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1213"
+NAME="AEN1207"
 ></A
 ><H2
 >Description</H2
@@ -702,10 +684,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1216"
+NAME="AEN1210"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -706,10 +688,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1218"
+NAME="AEN1212"
 ></A
 ><H3
 ><A
@@ -736,7 +718,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1224"
+NAME="AEN1218"
 ></A
 ><P
 ></P
@@ -774,7 +756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1233"
+NAME="AEN1227"
 ></A
 ><H3
 ><A
@@ -795,9 +777,9 @@
 ></TR
 ></TABLE
 ><P
->return the default state for XInclude processing</P
+>Provides the default state for XInclude processing</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -799,9 +781,9 @@
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1239"
+NAME="AEN1233"
 ></A
 ><P
 ></P
@@ -840,7 +822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1248"
+NAME="AEN1242"
 ></A
 ><H3
 ><A
@@ -878,7 +860,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1257"
+NAME="AEN1251"
 ></A
 ><P
 ></P
@@ -951,7 +933,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1274"
+NAME="AEN1268"
 ></A
 ><H3
 ><A
@@ -986,7 +968,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1282"
+NAME="AEN1276"
 ></A
 ><P
 ></P
@@ -1024,7 +1006,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1291"
+NAME="AEN1285"
 ></A
 ><H3
 ><A
@@ -1072,7 +1054,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1302"
+NAME="AEN1296"
 ></A
 ><P
 ></P
@@ -1213,7 +1195,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1335"
+NAME="AEN1329"
 ></A
 ><H3
 ><A
@@ -1247,7 +1229,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1343"
+NAME="AEN1337"
 ></A
 ><P
 ></P
@@ -1291,7 +1273,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the root of the XML tree</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1302,144 +1284,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1356"
-></A
-><H3
-><A
-NAME="XSLTEXTELEMENTLOOKUP"
-></A
->xsltExtElementLookup ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMFUNCTION"
->xsltTransformFunction</A
-> xsltExtElementLookup  (<A
-HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
->xsltTransformContextPtr</A
-> ctxt,
-                                             const <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
-> *name,
-                                             const <GTKDOCLINK
-HREF="XMLCHAR"
->xmlChar</GTKDOCLINK
-> *URI);</PRE
-></TD
-></TR
-></TABLE
-><P
->Looks up an extension element. <TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
-> can be NULL to search only in
-module elements.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN1367"
-></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
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->URI</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</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"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1388"
+NAME="AEN1350"
 ></A
 ><H3
 ><A
@@ -1478,7 +1323,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1397"
+NAME="AEN1359"
 ></A
 ><P
 ></P
@@ -1568,7 +1413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1418"
+NAME="AEN1380"
 ></A
 ><H3
 ><A
@@ -1611,7 +1456,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1428"
+NAME="AEN1390"
 ></A
 ><P
 ></P
@@ -1718,7 +1563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1453"
+NAME="AEN1415"
 ></A
 ><H3
 ><A
@@ -1797,7 +1642,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1469"
+NAME="AEN1431"
 ></A
 ><P
 ></P
@@ -1939,7 +1784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1502"
+NAME="AEN1464"
 ></A
 ><H3
 ><A
@@ -2026,7 +1871,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1520"
+NAME="AEN1482"
 ></A
 ><P
 ></P
@@ -2202,7 +2047,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1561"
+NAME="AEN1523"
 ></A
 ><H3
 ><A
@@ -2250,7 +2095,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1572"
+NAME="AEN1534"
 ></A
 ><P
 ></P
@@ -2356,7 +2201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1597"
+NAME="AEN1559"
 ></A
 ><H3
 ><A
@@ -2398,7 +2243,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1607"
+NAME="AEN1569"
 ></A
 ><P
 ></P
@@ -2487,7 +2332,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1628"
+NAME="AEN1590"
 ></A
 ><H3
 ><A
@@ -2530,7 +2375,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1638"
+NAME="AEN1600"
 ></A
 ><P
 ></P
@@ -2619,7 +2464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1659"
+NAME="AEN1621"
 ></A
 ><H3
 ><A
@@ -2661,7 +2506,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1669"
+NAME="AEN1631"
 ></A
 ><P
 ></P
@@ -2750,7 +2595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1690"
+NAME="AEN1652"
 ></A
 ><H3
 ><A
@@ -2792,7 +2637,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1700"
+NAME="AEN1662"
 ></A
 ><P
 ></P
@@ -2881,7 +2726,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1721"
+NAME="AEN1683"
 ></A
 ><H3
 ><A
@@ -2923,7 +2768,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1731"
+NAME="AEN1693"
 ></A
 ><P
 ></P
@@ -3012,7 +2857,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1752"
+NAME="AEN1714"
 ></A
 ><H3
 ><A
@@ -3054,7 +2899,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1762"
+NAME="AEN1724"
 ></A
 ><P
 ></P
@@ -3143,7 +2988,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1783"
+NAME="AEN1745"
 ></A
 ><H3
 ><A
@@ -3185,7 +3030,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1793"
+NAME="AEN1755"
 ></A
 ><P
 ></P
@@ -3274,7 +3119,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1814"
+NAME="AEN1776"
 ></A
 ><H3
 ><A
@@ -3316,7 +3161,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1824"
+NAME="AEN1786"
 ></A
 ><P
 ></P
@@ -3405,7 +3250,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1845"
+NAME="AEN1807"
 ></A
 ><H3
 ><A
@@ -3447,7 +3292,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1855"
+NAME="AEN1817"
 ></A
 ><P
 ></P
@@ -3536,7 +3381,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1876"
+NAME="AEN1838"
 ></A
 ><H3
 ><A
@@ -3578,7 +3423,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1886"
+NAME="AEN1848"
 ></A
 ><P
 ></P
@@ -3667,7 +3512,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1907"
+NAME="AEN1869"
 ></A
 ><H3
 ><A
@@ -3709,7 +3554,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1917"
+NAME="AEN1879"
 ></A
 ><P
 ></P
@@ -3798,7 +3643,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1938"
+NAME="AEN1900"
 ></A
 ><H3
 ><A
@@ -3840,7 +3685,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1948"
+NAME="AEN1910"
 ></A
 ><P
 ></P
@@ -3929,7 +3774,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1969"
+NAME="AEN1931"
 ></A
 ><H3
 ><A
@@ -3971,7 +3816,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1979"
+NAME="AEN1941"
 ></A
 ><P
 ></P
@@ -4060,7 +3905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2000"
+NAME="AEN1962"
 ></A
 ><H3
 ><A
@@ -4102,7 +3947,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2010"
+NAME="AEN1972"
 ></A
 ><P
 ></P
@@ -4191,7 +4036,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2031"
+NAME="AEN1993"
 ></A
 ><H3
 ><A
@@ -4233,7 +4078,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2041"
+NAME="AEN2003"
 ></A
 ><P
 ></P
@@ -4322,7 +4167,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2062"
+NAME="AEN2024"
 ></A
 ><H3
 ><A
@@ -4364,7 +4209,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2072"
+NAME="AEN2034"
 ></A
 ><P
 ></P
@@ -4453,7 +4298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2093"
+NAME="AEN2055"
 ></A
 ><H3
 ><A
@@ -4495,7 +4340,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2103"
+NAME="AEN2065"
 ></A
 ><P
 ></P
@@ -4584,7 +4429,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2124"
+NAME="AEN2086"
 ></A
 ><H3
 ><A
@@ -4614,7 +4459,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2131"
+NAME="AEN2093"
 ></A
 ><P
 ></P
@@ -4652,7 +4497,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2140"
+NAME="AEN2102"
 ></A
 ><H3
 ><A
@@ -4696,7 +4541,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2150"
+NAME="AEN2112"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-variables.html b/doc/html/libxslt-variables.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC12YXJpYWJsZXMuaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC12YXJpYWJsZXMuaHRtbA== 100644
--- a/doc/html/libxslt-variables.html
+++ b/doc/html/libxslt-variables.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4641"
+NAME="AEN4711"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4644"
+NAME="AEN4714"
 ></A
 ><H2
 >Synopsis</H2
@@ -320,7 +320,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4692"
+NAME="AEN4762"
 ></A
 ><H2
 >Description</H2
@@ -330,10 +330,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4695"
+NAME="AEN4765"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -334,10 +334,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4697"
+NAME="AEN4767"
 ></A
 ><H3
 ><A
@@ -364,7 +364,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4703"
+NAME="AEN4773"
 ></A
 ><P
 ></P
@@ -402,7 +402,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4712"
+NAME="AEN4782"
 ></A
 ><H3
 ><A
@@ -433,7 +433,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4719"
+NAME="AEN4789"
 ></A
 ><P
 ></P
@@ -489,7 +489,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4732"
+NAME="AEN4802"
 ></A
 ><H3
 ><A
@@ -537,7 +537,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4742"
+NAME="AEN4812"
 ></A
 ><P
 ></P
@@ -610,7 +610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4759"
+NAME="AEN4829"
 ></A
 ><H3
 ><A
@@ -656,7 +656,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4769"
+NAME="AEN4839"
 ></A
 ><P
 ></P
@@ -729,7 +729,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4786"
+NAME="AEN4856"
 ></A
 ><H3
 ><A
@@ -761,25 +761,6 @@
 ></TR
 ></TABLE
 ><P
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->:  the XSLT transformation context
-<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->:  a null terminated string giving the name of the parameter
-<TT
-CLASS="PARAMETER"
-><I
->value</I
-></TT
->  a null terminated string giving the XPath expression to be evaluated</P
-><P
 >This is normally called from xsltEvalUserParams to process a single
 parameter from a list of parameters.  The <TT
 CLASS="PARAMETER"
@@ -798,7 +779,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4801"
+NAME="AEN4867"
 ></A
 ><P
 ></P
@@ -825,7 +806,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XSLT transformation context</TD
 ></TR
 ><TR
 ><TD
@@ -842,7 +823,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a null terminated string giving the name of the parameter</TD
 ></TR
 ><TR
 ><TD
@@ -859,7 +840,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a null terminated string giving the XPath expression to be evaluated</TD
 ></TR
 ><TR
 ><TD
@@ -888,7 +869,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4822"
+NAME="AEN4888"
 ></A
 ><H3
 ><A
@@ -920,25 +901,6 @@
 ></TR
 ></TABLE
 ><P
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->:  the XSLT transformation context
-<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->:  a null terminated string giving the name of the parameter
-<TT
-CLASS="PARAMETER"
-><I
->value</I
-></TT
->  a null terminated string giving the parameter value</P
-><P
 >This is normally called from xsltQuoteUserParams to process a single
 parameter from a list of parameters.  The <TT
 CLASS="PARAMETER"
@@ -952,7 +914,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4836"
+NAME="AEN4898"
 ></A
 ><P
 ></P
@@ -979,7 +941,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XSLT transformation context</TD
 ></TR
 ><TR
 ><TD
@@ -996,7 +958,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a null terminated string giving the name of the parameter</TD
 ></TR
 ><TR
 ><TD
@@ -1013,7 +975,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a null terminated string giving the parameter value</TD
 ></TR
 ><TR
 ><TD
@@ -1042,7 +1004,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4857"
+NAME="AEN4919"
 ></A
 ><H3
 ><A
@@ -1077,7 +1039,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4865"
+NAME="AEN4927"
 ></A
 ><P
 ></P
@@ -1132,7 +1094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4878"
+NAME="AEN4940"
 ></A
 ><H3
 ><A
@@ -1167,7 +1129,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4886"
+NAME="AEN4948"
 ></A
 ><P
 ></P
@@ -1222,7 +1184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4899"
+NAME="AEN4961"
 ></A
 ><H3
 ><A
@@ -1257,7 +1219,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4907"
+NAME="AEN4969"
 ></A
 ><P
 ></P
@@ -1312,7 +1274,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4920"
+NAME="AEN4982"
 ></A
 ><H3
 ><A
@@ -1347,7 +1309,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4928"
+NAME="AEN4990"
 ></A
 ><P
 ></P
@@ -1402,7 +1364,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4941"
+NAME="AEN5003"
 ></A
 ><H3
 ><A
@@ -1437,9 +1399,7 @@
 >parse an XSLT transformation param declaration, compute
 its value but doesn't record it.</P
 ><P
->It returns the new xsltStackElemPtr or NULL</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -1442,8 +1402,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4951"
+NAME="AEN5012"
 ></A
 ><P
 ></P
@@ -1505,7 +1465,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xsltStackElemPtr or NULL</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1516,7 +1476,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4968"
+NAME="AEN5029"
 ></A
 ><H3
 ><A
@@ -1550,7 +1510,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4976"
+NAME="AEN5037"
 ></A
 ><P
 ></P
@@ -1623,7 +1583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4993"
+NAME="AEN5054"
 ></A
 ><H3
 ><A
@@ -1654,7 +1614,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5000"
+NAME="AEN5061"
 ></A
 ><P
 ></P
@@ -1692,7 +1652,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5009"
+NAME="AEN5070"
 ></A
 ><H3
 ><A
@@ -1734,7 +1694,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5019"
+NAME="AEN5080"
 ></A
 ><P
 ></P
@@ -1824,7 +1784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5040"
+NAME="AEN5101"
 ></A
 ><H3
 ><A
@@ -1863,7 +1823,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5049"
+NAME="AEN5110"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxslt-xsltinternals.html b/doc/html/libxslt-xsltinternals.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC14c2x0aW50ZXJuYWxzLmh0bWw=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC14c2x0aW50ZXJuYWxzLmh0bWw= 100644
--- a/doc/html/libxslt-xsltinternals.html
+++ b/doc/html/libxslt-xsltinternals.html
@@ -14,7 +14,10 @@
 HREF="libxslt-lib.html"><LINK
 REL="PREVIOUS"
 TITLE="keys"
-HREF="libxslt-keys.html"></HEAD
+HREF="libxslt-keys.html"><LINK
+REL="NEXT"
+TITLE="numbersInternals"
+HREF="libxslt-numbersinternals.html"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -99,7 +102,16 @@
 WIDTH="25%"
 BGCOLOR="#C00000"
 ALIGN="right"
->&nbsp;</TD
+><A
+HREF="libxslt-numbersinternals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
 ></TR
 ></TABLE
 ></DIV
@@ -111,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5245"
+NAME="AEN5306"
 ></A
 ><H2
 >Name</H2
@@ -119,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5248"
+NAME="AEN5309"
 ></A
 ><H2
 >Synopsis</H2
@@ -221,6 +233,18 @@
 HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMPPTR"
 >xsltElemPreCompPtr</A
 > comp);
+void        (<A
+HREF="libxslt-xsltinternals.html#XSLTSORTFUNC"
+>*xsltSortFunc</A
+>)                 (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> *sorts,
+                                             int nbsorts);
 enum        <A
 HREF="libxslt-xsltinternals.html#XSLTSTYLETYPE"
 >xsltStyleType</A
@@ -382,9 +406,9 @@
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
 >xsltTransformContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XSLTNUMBERDATAPTR"
->xsltNumberDataPtr</GTKDOCLINK
+                                             <A
+HREF="libxslt-numbersinternals.html#XSLTNUMBERDATAPTR"
+>xsltNumberDataPtr</A
 > data,
                                              <GTKDOCLINK
 HREF="XMLNODEPTR"
@@ -444,7 +468,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5332"
+NAME="AEN5396"
 ></A
 ><H2
 >Description</H2
@@ -454,10 +478,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5335"
+NAME="AEN5399"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -458,10 +482,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5337"
+NAME="AEN5401"
 ></A
 ><H3
 ><A
@@ -477,7 +501,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XSLT_MAX_SORT 5</PRE
+>#define XSLT_MAX_SORT 15</PRE
 ></TD
 ></TR
 ></TABLE
@@ -489,7 +513,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5343"
+NAME="AEN5407"
 ></A
 ><H3
 ><A
@@ -517,7 +541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5349"
+NAME="AEN5413"
 ></A
 ><H3
 ><A
@@ -549,7 +573,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5355"
+NAME="AEN5419"
 ></A
 ><H3
 ><A
@@ -575,7 +599,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5360"
+NAME="AEN5424"
 ></A
 ><H3
 ><A
@@ -596,7 +620,9 @@
 ></TR
 ></TABLE
 ><P
+>Macro used to access extra information stored in the context</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -599,8 +625,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5365"
+NAME="AEN5430"
 ></A
 ><P
 ></P
@@ -627,7 +653,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the transformation context</TD
 ></TR
 ><TR
 ><TD
@@ -644,7 +670,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the index</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -655,7 +681,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5378"
+NAME="AEN5443"
 ></A
 ><H3
 ><A
@@ -676,7 +702,9 @@
 ></TR
 ></TABLE
 ><P
+>Macro used to free extra information stored in the context</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -679,8 +707,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5383"
+NAME="AEN5449"
 ></A
 ><P
 ></P
@@ -707,7 +735,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the transformation context</TD
 ></TR
 ><TR
 ><TD
@@ -724,7 +752,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the index</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -735,7 +763,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5396"
+NAME="AEN5462"
 ></A
 ><H3
 ><A
@@ -756,7 +784,9 @@
 ></TR
 ></TABLE
 ><P
+>Macro used to define extra information stored in the context</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -759,8 +789,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5401"
+NAME="AEN5468"
 ></A
 ><P
 ></P
@@ -787,7 +817,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the transformation context</TD
 ></TR
 ><TR
 ><TD
@@ -804,7 +834,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the index</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -815,7 +845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5414"
+NAME="AEN5481"
 ></A
 ><H3
 ><A
@@ -861,7 +891,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5420"
+NAME="AEN5487"
 ></A
 ><H3
 ><A
@@ -887,7 +917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5425"
+NAME="AEN5492"
 ></A
 ><H3
 ><A
@@ -931,7 +961,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5431"
+NAME="AEN5498"
 ></A
 ><H3
 ><A
@@ -957,7 +987,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5436"
+NAME="AEN5503"
 ></A
 ><H3
 ><A
@@ -990,7 +1020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5442"
+NAME="AEN5509"
 ></A
 ><H3
 ><A
@@ -1016,7 +1046,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5447"
+NAME="AEN5514"
 ></A
 ><H3
 ><A
@@ -1098,6 +1128,8 @@
 
     xmlGenericErrorFunc  error;		/* a specific error handler */
     void              * errctx;		/* context for the error handler */
+
+    xsltSortFunc      sortfunc;		/* a ctxt specific sort routine */
 };</PRE
 ></TD
 ></TR
@@ -1108,7 +1140,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5452"
+NAME="AEN5519"
 ></A
 ><H3
 ><A
@@ -1134,7 +1166,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5457"
+NAME="AEN5524"
 ></A
 ><H3
 ><A
@@ -1171,7 +1203,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5463"
+NAME="AEN5530"
 ></A
 ><H3
 ><A
@@ -1197,7 +1229,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5468"
+NAME="AEN5535"
 ></A
 ><H3
 ><A
@@ -1240,7 +1272,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5478"
+NAME="AEN5545"
 ></A
 ><P
 ></P
@@ -1329,7 +1361,114 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5499"
+NAME="AEN5566"
+></A
+><H3
+><A
+NAME="XSLTSORTFUNC"
+></A
+>xsltSortFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*xsltSortFunc)                 (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> *sorts,
+                                             int nbsorts);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Signature of the function to use during sorting</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN5574"
+></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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>    a transformation context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sorts</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>   the node-set to sort</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nbsorts</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the number of sorts</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5591"
 ></A
 ><H3
 ><A
@@ -1378,7 +1517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5504"
+NAME="AEN5596"
 ></A
 ><H3
 ><A
@@ -1411,7 +1550,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5512"
+NAME="AEN5604"
 ></A
 ><P
 ></P
@@ -1452,7 +1591,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5522"
+NAME="AEN5614"
 ></A
 ><H3
 ><A
@@ -1484,6 +1623,10 @@
     xmlChar *order;             /* sort */
     int      has_order;		/* sort */
     int      descending;	/* sort */
+    xmlChar *lang;		/* sort */
+    int      has_lang;		/* sort */
+    xmlChar *case_order;	/* sort */
+    int      lower_first;	/* sort */
 
     xmlChar *use;		/* copy, element */
     int      has_use;		/* copy, element */
@@ -1526,7 +1669,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5528"
+NAME="AEN5620"
 ></A
 ><H3
 ><A
@@ -1552,7 +1695,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5533"
+NAME="AEN5625"
 ></A
 ><H3
 ><A
@@ -1587,7 +1730,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5538"
+NAME="AEN5630"
 ></A
 ><H3
 ><A
@@ -1613,7 +1756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5543"
+NAME="AEN5635"
 ></A
 ><H3
 ><A
@@ -1737,7 +1880,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5548"
+NAME="AEN5640"
 ></A
 ><H3
 ><A
@@ -1763,7 +1906,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5553"
+NAME="AEN5645"
 ></A
 ><H3
 ><A
@@ -1793,7 +1936,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5558"
+NAME="AEN5650"
 ></A
 ><H3
 ><A
@@ -1823,7 +1966,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5563"
+NAME="AEN5655"
 ></A
 ><H3
 ><A
@@ -1852,7 +1995,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5569"
+NAME="AEN5661"
 ></A
 ><H3
 ><A
@@ -1881,7 +2024,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5575"
+NAME="AEN5667"
 ></A
 ><H3
 ><A
@@ -1910,7 +2053,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5581"
+NAME="AEN5673"
 ></A
 ><H3
 ><A
@@ -1940,7 +2083,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5588"
+NAME="AEN5680"
 ></A
 ><P
 ></P
@@ -1979,7 +2122,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5597"
+NAME="AEN5689"
 ></A
 ><H3
 ><A
@@ -2012,7 +2155,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5605"
+NAME="AEN5697"
 ></A
 ><P
 ></P
@@ -2068,7 +2211,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5618"
+NAME="AEN5710"
 ></A
 ><H3
 ><A
@@ -2103,7 +2246,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5626"
+NAME="AEN5718"
 ></A
 ><P
 ></P
@@ -2141,7 +2284,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5635"
+NAME="AEN5727"
 ></A
 ><H3
 ><A
@@ -2171,7 +2314,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5642"
+NAME="AEN5734"
 ></A
 ><P
 ></P
@@ -2227,7 +2370,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5655"
+NAME="AEN5747"
 ></A
 ><H3
 ><A
@@ -2262,7 +2405,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5663"
+NAME="AEN5755"
 ></A
 ><P
 ></P
@@ -2300,7 +2443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5672"
+NAME="AEN5764"
 ></A
 ><H3
 ><A
@@ -2338,7 +2481,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5681"
+NAME="AEN5773"
 ></A
 ><P
 ></P
@@ -2400,7 +2543,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xsltDecimalFormatPtr</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2411,7 +2554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5698"
+NAME="AEN5790"
 ></A
 ><H3
 ><A
@@ -2449,7 +2592,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5707"
+NAME="AEN5799"
 ></A
 ><P
 ></P
@@ -2523,7 +2666,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5724"
+NAME="AEN5816"
 ></A
 ><H3
 ><A
@@ -2558,7 +2701,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5732"
+NAME="AEN5824"
 ></A
 ><P
 ></P
@@ -2613,7 +2756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5745"
+NAME="AEN5837"
 ></A
 ><H3
 ><A
@@ -2646,7 +2789,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5753"
+NAME="AEN5845"
 ></A
 ><P
 ></P
@@ -2702,7 +2845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5766"
+NAME="AEN5858"
 ></A
 ><H3
 ><A
@@ -2746,7 +2889,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5775"
+NAME="AEN5867"
 ></A
 ><P
 ></P
@@ -2802,7 +2945,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5788"
+NAME="AEN5880"
 ></A
 ><H3
 ><A
@@ -2822,9 +2965,9 @@
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
 >xsltTransformContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XSLTNUMBERDATAPTR"
->xsltNumberDataPtr</GTKDOCLINK
+                                             <A
+HREF="libxslt-numbersinternals.html#XSLTNUMBERDATAPTR"
+>xsltNumberDataPtr</A
 > data,
                                              <GTKDOCLINK
 HREF="XMLNODEPTR"
@@ -2840,7 +2983,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5797"
+NAME="AEN5889"
 ></A
 ><P
 ></P
@@ -2912,7 +3055,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5814"
+NAME="AEN5906"
 ></A
 ><H3
 ><A
@@ -2991,7 +3134,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5832"
+NAME="AEN5924"
 ></A
 ><P
 ></P
@@ -3087,7 +3230,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a possible XPath error</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3098,7 +3241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5857"
+NAME="AEN5949"
 ></A
 ><H3
 ><A
@@ -3134,7 +3277,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5865"
+NAME="AEN5957"
 ></A
 ><P
 ></P
@@ -3189,7 +3332,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5878"
+NAME="AEN5970"
 ></A
 ><H3
 ><A
@@ -3220,7 +3363,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5885"
+NAME="AEN5977"
 ></A
 ><P
 ></P
@@ -3276,7 +3419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5898"
+NAME="AEN5990"
 ></A
 ><H3
 ><A
@@ -3308,7 +3451,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5905"
+NAME="AEN5997"
 ></A
 ><P
 ></P
@@ -3430,7 +3573,16 @@
 WIDTH="25%"
 BGCOLOR="#C00000"
 ALIGN="right"
->&nbsp;</TD
+><A
+HREF="libxslt-numbersinternals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
 ></TR
 ><TR
 ><TD
@@ -3446,7 +3598,13 @@
 ><TD
 COLSPAN="2"
 ALIGN="right"
->&nbsp;</TD
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>numbersInternals</B
+></FONT
+></TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/doc/html/libxslt-xsltutils.html b/doc/html/libxslt-xsltutils.html
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2h0bWwvbGlieHNsdC14c2x0dXRpbHMuaHRtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2h0bWwvbGlieHNsdC14c2x0dXRpbHMuaHRtbA== 100644
--- a/doc/html/libxslt-xsltutils.html
+++ b/doc/html/libxslt-xsltutils.html
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2176"
+NAME="AEN2138"
 ></A
 ><H2
 >Name</H2
@@ -131,7 +131,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2179"
+NAME="AEN2141"
 ></A
 ><H2
 >Synopsis</H2
@@ -272,6 +272,36 @@
 >xmlNodeSetPtr</GTKDOCLINK
 > list);
 void        <A
+HREF="libxslt-xsltutils.html#XSLTSETSORTFUNC"
+>xsltSetSortFunc</A
+>                 (<A
+HREF="libxslt-xsltinternals.html#XSLTSORTFUNC"
+>xsltSortFunc</A
+> handler);
+void        <A
+HREF="libxslt-xsltutils.html#XSLTSETCTXTSORTFUNC"
+>xsltSetCtxtSortFunc</A
+>             (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <A
+HREF="libxslt-xsltinternals.html#XSLTSORTFUNC"
+>xsltSortFunc</A
+> handler);
+void        <A
+HREF="libxslt-xsltutils.html#XSLTDEFAULTSORTFUNCTION"
+>xsltDefaultSortFunction</A
+>         (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> *sorts,
+                                             int nbsorts);
+void        <A
 HREF="libxslt-xsltutils.html#XSLTDOSORTFUNCTION"
 >xsltDoSortFunction</A
 >              (<A
@@ -283,6 +313,20 @@
 >xmlNodePtr</GTKDOCLINK
 > *sorts,
                                              int nbsorts);
+<GTKDOCLINK
+HREF="XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</GTKDOCLINK
+>* <A
+HREF="libxslt-xsltutils.html#XSLTCOMPUTESORTRESULT"
+>xsltComputeSortResult</A
+>    (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> sort);
 const <GTKDOCLINK
 HREF="XMLCHAR"
 >xmlChar</GTKDOCLINK
@@ -472,7 +516,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2265"
+NAME="AEN2239"
 ></A
 ><H2
 >Description</H2
@@ -482,10 +526,10 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2268"
+NAME="AEN2242"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
@@ -486,10 +530,10 @@
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2270"
+NAME="AEN2244"
 ></A
 ><H3
 ><A
@@ -510,8 +554,10 @@
 ></TR
 ></TABLE
 ><P
+>Macro to flag unimplemented blocks.</P
+><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
@@ -513,9 +559,9 @@
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2275"
+NAME="AEN2250"
 ></A
 ><H3
 ><A
@@ -536,8 +582,10 @@
 ></TR
 ></TABLE
 ><P
+>Macro to flag that a problem was detected internally.</P
+><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
@@ -539,9 +587,9 @@
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2280"
+NAME="AEN2256"
 ></A
 ><H3
 ><A
@@ -568,7 +616,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2286"
+NAME="AEN2262"
 ></A
 ><P
 ></P
@@ -606,7 +654,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2295"
+NAME="AEN2271"
 ></A
 ><H3
 ><A
@@ -633,7 +681,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2301"
+NAME="AEN2277"
 ></A
 ><P
 ></P
@@ -688,7 +736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2314"
+NAME="AEN2290"
 ></A
 ><H3
 ><A
@@ -715,7 +763,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2320"
+NAME="AEN2296"
 ></A
 ><P
 ></P
@@ -753,7 +801,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2329"
+NAME="AEN2305"
 ></A
 ><H3
 ><A
@@ -808,7 +856,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2343"
+NAME="AEN2319"
 ></A
 ><P
 ></P
@@ -899,7 +947,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2364"
+NAME="AEN2340"
 ></A
 ><H3
 ><A
@@ -937,7 +985,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2372"
+NAME="AEN2348"
 ></A
 ><P
 ></P
@@ -1021,7 +1069,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2391"
+NAME="AEN2367"
 ></A
 ><H3
 ><A
@@ -1059,7 +1107,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2400"
+NAME="AEN2376"
 ></A
 ><P
 ></P
@@ -1131,7 +1179,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2417"
+NAME="AEN2393"
 ></A
 ><H3
 ><A
@@ -1169,7 +1217,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2426"
+NAME="AEN2402"
 ></A
 ><P
 ></P
@@ -1241,7 +1289,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2443"
+NAME="AEN2419"
 ></A
 ><H3
 ><A
@@ -1303,7 +1351,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2455"
+NAME="AEN2431"
 ></A
 ><P
 ></P
@@ -1358,7 +1406,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2468"
+NAME="AEN2444"
 ></A
 ><H3
 ><A
@@ -1420,7 +1468,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2480"
+NAME="AEN2456"
 ></A
 ><P
 ></P
@@ -1475,7 +1523,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2493"
+NAME="AEN2469"
 ></A
 ><H3
 ><A
@@ -1519,7 +1567,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2503"
+NAME="AEN2479"
 ></A
 ><P
 ></P
@@ -1591,7 +1639,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2520"
+NAME="AEN2496"
 ></A
 ><H3
 ><A
@@ -1632,7 +1680,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2529"
+NAME="AEN2505"
 ></A
 ><P
 ></P
@@ -1676,7 +1724,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XSLT stylesheet used</TD
 ></TR
 ><TR
 ><TD
@@ -1693,7 +1741,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node in the stylesheet</TD
 ></TR
 ><TR
 ><TD
@@ -1738,7 +1786,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2554"
+NAME="AEN2530"
 ></A
 ><H3
 ><A
@@ -1773,7 +1821,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2562"
+NAME="AEN2538"
 ></A
 ><P
 ></P
@@ -1811,7 +1859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2571"
+NAME="AEN2547"
 ></A
 ><H3
 ><A
@@ -1815,5 +1863,32 @@
 ></A
 ><H3
 ><A
-NAME="XSLTDOSORTFUNCTION"
+NAME="XSLTSETSORTFUNC"
+></A
+>xsltSetSortFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xsltSetSortFunc                 (<A
+HREF="libxslt-xsltinternals.html#XSLTSORTFUNC"
+>xsltSortFunc</A
+> handler);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to reset the global handler for XSLT sorting.
+If the handler is NULL, the default sort function will be used.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN2554"
 ></A
@@ -1819,5 +1894,47 @@
 ></A
->xsltDoSortFunction ()</H3
+><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
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new handler function</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2563"
+></A
+><H3
+><A
+NAME="XSLTSETCTXTSORTFUNC"
+></A
+>xsltSetCtxtSortFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1827,7 +1944,99 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xsltDoSortFunction              (<A
+>void        xsltSetCtxtSortFunc             (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <A
+HREF="libxslt-xsltinternals.html#XSLTSORTFUNC"
+>xsltSortFunc</A
+> handler);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to set the handler for XSLT sorting
+for the specified context. 
+If the handler is NULL, then the global
+sort function will be called</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN2571"
+></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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a XSLT process context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new handler function</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2584"
+></A
+><H3
+><A
+NAME="XSLTDEFAULTSORTFUNCTION"
+></A
+>xsltDefaultSortFunction ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xsltDefaultSortFunction         (<A
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
 >xsltTransformContextPtr</A
 > ctxt,
@@ -1847,7 +2056,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2579"
+NAME="AEN2592"
 ></A
 ><P
 ></P
@@ -1919,7 +2128,237 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2596"
+NAME="AEN2609"
+></A
+><H3
+><A
+NAME="XSLTDOSORTFUNCTION"
+></A
+>xsltDoSortFunction ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xsltDoSortFunction              (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> *sorts,
+                                             int nbsorts);</PRE
+></TD
+></TR
+></TABLE
+><P
+>reorder the current node list accordingly to the set of sorting
+requirement provided by the arry of nodes.
+This is a wrapper function, the actual function used is specified
+using <A
+HREF="libxslt-xsltutils.html#XSLTSETCTXTSORTFUNC"
+>xsltSetCtxtSortFunc</A
+>() to set the context specific sort function,
+or <A
+HREF="libxslt-xsltutils.html#XSLTSETSORTFUNC"
+>xsltSetSortFunc</A
+>() to set the global sort function.
+If a sort function is set on the context, this will get called.
+Otherwise the global sort function is called.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN2619"
+></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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a XSLT process context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sorts</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  array of sort nodes</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nbsorts</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the number of sorts in the array</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2636"
+></A
+><H3
+><A
+NAME="XSLTCOMPUTESORTRESULT"
+></A
+>xsltComputeSortResult ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><GTKDOCLINK
+HREF="XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</GTKDOCLINK
+>* xsltComputeSortResult    (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             <GTKDOCLINK
+HREF="XMLNODEPTR"
+>xmlNodePtr</GTKDOCLINK
+> sort);</PRE
+></TD
+></TR
+></TABLE
+><P
+>reorder the current node list accordingly to the set of sorting
+requirement provided by the array of nodes.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN2645"
+></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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a XSLT process context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sort</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  node list</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"
+>a ordered XPath nodeset or NULL in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2662"
 ></A
 ><H3
 ><A
@@ -1978,7 +2417,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2609"
+NAME="AEN2675"
 ></A
 ><P
 ></P
@@ -2057,7 +2496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2627"
+NAME="AEN2693"
 ></A
 ><H3
 ><A
@@ -2111,7 +2550,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2639"
+NAME="AEN2705"
 ></A
 ><P
 ></P
@@ -2201,7 +2640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2660"
+NAME="AEN2726"
 ></A
 ><H3
 ><A
@@ -2253,7 +2692,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2671"
+NAME="AEN2737"
 ></A
 ><P
 ></P
@@ -2360,7 +2799,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2696"
+NAME="AEN2762"
 ></A
 ><H3
 ><A
@@ -2415,7 +2854,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2708"
+NAME="AEN2774"
 ></A
 ><P
 ></P
@@ -2505,7 +2944,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2729"
+NAME="AEN2795"
 ></A
 ><H3
 ><A
@@ -2552,7 +2991,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2739"
+NAME="AEN2805"
 ></A
 ><P
 ></P
@@ -2642,7 +3081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2760"
+NAME="AEN2826"
 ></A
 ><H3
 ><A
@@ -2697,7 +3136,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2772"
+NAME="AEN2838"
 ></A
 ><P
 ></P
@@ -2804,7 +3243,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2797"
+NAME="AEN2863"
 ></A
 ><H3
 ><A
@@ -2843,7 +3282,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2806"
+NAME="AEN2872"
 ></A
 ><P
 ></P
@@ -2898,7 +3337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2819"
+NAME="AEN2885"
 ></A
 ><H3
 ><A
@@ -2946,7 +3385,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2828"
+NAME="AEN2894"
 ></A
 ><P
 ></P
@@ -3002,7 +3441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2841"
+NAME="AEN2907"
 ></A
 ><H3
 ><A
@@ -3032,7 +3471,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2848"
+NAME="AEN2914"
 ></A
 ><P
 ></P
@@ -3072,7 +3511,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2857"
+NAME="AEN2923"
 ></A
 ><H3
 ><A
@@ -3105,7 +3544,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2865"
+NAME="AEN2931"
 ></A
 ><P
 ></P
@@ -3143,7 +3582,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2874"
+NAME="AEN2940"
 ></A
 ><H3
 ><A
@@ -3164,8 +3603,10 @@
 ></TR
 ></TABLE
 ><P
+>Sampling precision for profiling</P
+><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
@@ -3167,9 +3608,9 @@
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2879"
+NAME="AEN2946"
 ></A
 ><H3
 ><A
@@ -3206,7 +3647,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2884"
+NAME="AEN2951"
 ></A
 ><H3
 ><A
@@ -3246,7 +3687,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2893"
+NAME="AEN2960"
 ></A
 ><P
 ></P
@@ -3335,7 +3776,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2914"
+NAME="AEN2981"
 ></A
 ><H3
 ><A
@@ -3367,7 +3808,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2921"
+NAME="AEN2988"
 ></A
 ><P
 ></P
@@ -3440,7 +3881,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2938"
+NAME="AEN3005"
 ></A
 ><H3
 ><A
@@ -3466,7 +3907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2943"
+NAME="AEN3010"
 ></A
 ><H3
 ><A
@@ -3488,7 +3929,21 @@
 ></TR
 ></TABLE
 ><P
+>This function allow to plug a debugger into the XSLT library
+<TT
+CLASS="PARAMETER"
+><I
+>block</I
+></TT
+> points to a block of memory containing the address of <TT
+CLASS="PARAMETER"
+><I
+>no</I
+></TT
+> 
+callback routines.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
@@ -3491,8 +3946,8 @@
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2948"
+NAME="AEN3018"
 ></A
 ><P
 ></P
@@ -3519,7 +3974,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> number of callbacks</TD
 ></TR
 ><TR
 ><TD
@@ -3536,7 +3991,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the block of callbacks</TD
 ></TR
 ><TR
 ><TD
@@ -3554,7 +4009,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 in case of success and -1 in case of error</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3565,7 +4020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2965"
+NAME="AEN3035"
 ></A
 ><H3
 ><A
@@ -3599,7 +4054,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2973"
+NAME="AEN3043"
 ></A
 ><P
 ></P
@@ -3673,7 +4128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2990"
+NAME="AEN3060"
 ></A
 ><H3
 ><A
diff --git a/doc/libxslt-decl.txt b/doc/libxslt-decl.txt
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2xpYnhzbHQtZGVjbC50eHQ=..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2xpYnhzbHQtZGVjbC50eHQ= 100644
--- a/doc/libxslt-decl.txt
+++ b/doc/libxslt-decl.txt
@@ -506,6 +506,50 @@
 xsltStylesheetPtr style
 </FUNCTION>
 <STRUCT>
+<NAME>xsltNumberData</NAME>
+</STRUCT>
+<TYPEDEF>
+<NAME>xsltNumberDataPtr</NAME>
+typedef xsltNumberData *xsltNumberDataPtr;
+</TYPEDEF>
+<STRUCT>
+<NAME>xsltNumberData</NAME>
+struct xsltNumberData {
+    xmlChar *level;
+    xmlChar *count;
+    xmlChar *from;
+    xmlChar *value;
+    xmlChar *format;
+    int has_format;
+    int digitsPerGroup;
+    int groupingCharacter;
+    int groupingCharacterLen;
+    xmlDocPtr doc;
+    xmlNodePtr node;
+};
+</STRUCT>
+<STRUCT>
+<NAME>xsltFormatNumberInfo</NAME>
+</STRUCT>
+<TYPEDEF>
+<NAME>xsltFormatNumberInfoPtr</NAME>
+typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
+</TYPEDEF>
+<STRUCT>
+<NAME>xsltFormatNumberInfo</NAME>
+struct xsltFormatNumberInfo {
+    int	    integer_hash;	/* Number of '#' in integer part */
+    int	    integer_digits;	/* Number of '0' in integer part */
+    int	    frac_digits;	/* Number of '0' in fractional part */
+    int	    frac_hash;		/* Number of '#' in fractional part */
+    int	    group;		/* Number of chars per display 'group' */
+    int     multiplier;		/* Scaling for percent or permille */
+    char    add_decimal;	/* Flag for whether decimal point appears in pattern */
+    char    is_multiplier_set;	/* Flag to catch multiple occurences of percent/permille */
+    char    is_negative_pattern;/* Flag for processing -ve prefix/suffix */
+};
+</STRUCT>
+<STRUCT>
 <NAME>xsltCompMatch</NAME>
 </STRUCT>
 <TYPEDEF>
@@ -657,11 +701,6 @@
 xsltTransformContextPtr ctxt,xmlNodePtr node
 </FUNCTION>
 <FUNCTION>
-<NAME>xsltExtElementLookup</NAME>
-<RETURNS>xsltTransformFunction</RETURNS>
-xsltTransformContextPtr ctxt,const xmlChar *name,const xmlChar *URI
-</FUNCTION>
-<FUNCTION>
 <NAME>xsltApplyStylesheet</NAME>
 <RETURNS>xmlDocPtr 	</RETURNS>
 xsltStylesheetPtr style,xmlDocPtr doc,const char **params
@@ -981,5 +1020,20 @@
 xmlNodeSetPtr list
 </FUNCTION>
 <FUNCTION>
+<NAME>xsltSetSortFunc</NAME>
+<RETURNS>void 	</RETURNS>
+xsltSortFunc handler
+</FUNCTION>
+<FUNCTION>
+<NAME>xsltSetCtxtSortFunc</NAME>
+<RETURNS>void 	</RETURNS>
+xsltTransformContextPtr ctxt,xsltSortFunc handler
+</FUNCTION>
+<FUNCTION>
+<NAME>xsltDefaultSortFunction</NAME>
+<RETURNS>void 	</RETURNS>
+xsltTransformContextPtr ctxt,xmlNodePtr *sorts,int nbsorts
+</FUNCTION>
+<FUNCTION>
 <NAME>xsltDoSortFunction</NAME>
 <RETURNS>void 	</RETURNS>
@@ -984,6 +1038,11 @@
 <NAME>xsltDoSortFunction</NAME>
 <RETURNS>void 	</RETURNS>
-xsltTransformContextPtr ctxt,xmlNodePtr *sorts,int nbsorts
+xsltTransformContextPtr ctxt,xmlNodePtr * sorts,int nbsorts
+</FUNCTION>
+<FUNCTION>
+<NAME>xsltComputeSortResult</NAME>
+<RETURNS>xmlXPathObjectPtr  *</RETURNS>
+xsltTransformContextPtr ctxt,xmlNodePtr sort
 </FUNCTION>
 <FUNCTION>
 <NAME>xsltGetQNameURI</NAME>
@@ -1202,7 +1261,7 @@
 </FUNCTION>
 <MACRO>
 <NAME>XSLT_MAX_SORT</NAME>
-#define XSLT_MAX_SORT 5
+#define XSLT_MAX_SORT 15
 </MACRO>
 <MACRO>
 <NAME>XSLT_PAT_NO_PRIORITY</NAME>
@@ -1329,6 +1388,12 @@
 				       xmlNodePtr inst,
 			               xsltElemPreCompPtr comp
 </USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>xsltSortFunc</NAME>
+<RETURNS>void </RETURNS>
+xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
+			      int nbsorts
+</USER_FUNCTION>
 <ENUM>
 <NAME>xsltStyleType</NAME>
 typedef enum {
@@ -1398,6 +1463,10 @@
     xmlChar *order;             /* sort */
     int      has_order;		/* sort */
     int      descending;	/* sort */
+    xmlChar *lang;		/* sort */
+    int      has_lang;		/* sort */
+    xmlChar *case_order;	/* sort */
+    int      lower_first;	/* sort */
 
     xmlChar *use;		/* copy, element */
     int      has_use;		/* copy, element */
@@ -1642,6 +1711,8 @@
 
     xmlGenericErrorFunc  error;		/* a specific error handler */
     void              * errctx;		/* context for the error handler */
+
+    xsltSortFunc      sortfunc;		/* a ctxt specific sort routine */
 };
 </STRUCT>
 <MACRO>
diff --git a/doc/libxslt-sections.txt b/doc/libxslt-sections.txt
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2xpYnhzbHQtc2VjdGlvbnMudHh0..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2xpYnhzbHQtc2VjdGlvbnMudHh0 100644
--- a/doc/libxslt-sections.txt
+++ b/doc/libxslt-sections.txt
@@ -138,6 +138,10 @@
 
 <SECTION>
 <FILE>numbersInternals</FILE>
+xsltNumberData
+xsltNumberDataPtr
+xsltFormatNumberInfo
+xsltFormatNumberInfoPtr
 </SECTION>
 
 <SECTION>
@@ -185,7 +189,6 @@
 xsltFreeTransformContext
 xsltApplyStylesheetUser
 xsltApplyStripSpaces
-xsltExtElementLookup
 xsltApplyStylesheet
 xsltProfileStylesheet
 xsltRunStylesheet
@@ -257,4 +260,7 @@
 xsltSetTransformErrorFunc
 xsltTransformError
 xsltDocumentSortFunction
+xsltSetSortFunc
+xsltSetCtxtSortFunc
+xsltDefaultSortFunction
 xsltDoSortFunction
@@ -260,4 +266,5 @@
 xsltDoSortFunction
+xsltComputeSortResult
 xsltGetQNameURI
 xsltSaveResultTo
 xsltSaveResultToFilename
@@ -329,6 +336,7 @@
 xsltElemPreComp
 xsltElemPreCompPtr
 xsltTransformFunction
+xsltSortFunc
 xsltStyleType
 xsltElemPreCompDeallocator
 xsltStylePreComp
diff --git a/doc/libxslt.sgml b/doc/libxslt.sgml
index d53c8e8a39614928d0a71db55463d7fe7cf71314_ZG9jL2xpYnhzbHQuc2dtbA==..eb579f1bc0f84b38697107b8bdb8c981343a3602_ZG9jL2xpYnhzbHQuc2dtbA== 100644
--- a/doc/libxslt.sgml
+++ b/doc/libxslt.sgml
@@ -58,5 +58,5 @@
   </bookinfo>
 
   <chapter id="libxslt-notes">
-     <title>Libxml Programming Notes</title>
+     <title>Libxslt Programming Notes</title>
 
@@ -62,6 +62,6 @@
 
-     <para>Libxml is an XSLT toolkit library, it allows to transform
-     XML documents. It uses the XML parser, tree and XPath functionnalities
+     <para>Libxslt is an XSLT toolkit library, which allows you to transform
+     XML documents. It uses the XML parser, tree and XPath functionalities
      of libxml2</para>
   </chapter>
   <chapter id="libxslt-lib">