- transform.c: fixed #53401
authorDaniel Veillard <veillard@src.gnome.org>
Sun, 22 Apr 2001 20:31:17 +0000 (20:31 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Sun, 22 Apr 2001 20:31:17 +0000 (20:31 +0000)
- configure.in libxslt/*.c: allowed to suppress debug reporting
  functionalities but it brings not noticeable improvements
- doc/xslt.html doc/html/*: updated and regenerated docs
Daniel

32 files changed:
README
configure.in
doc/html/libxslt-attributes.html
doc/html/libxslt-functions.html
doc/html/libxslt-imports.html
doc/html/libxslt-keys.html
doc/html/libxslt-namespaces.html
doc/html/libxslt-numbersinternals.html
doc/html/libxslt-pattern.html
doc/html/libxslt-templates.html
doc/html/libxslt-transform.html
doc/html/libxslt-variables.html
doc/html/libxslt-xsltinternals.html
doc/html/libxslt-xsltutils.html
doc/xslt.html
libxslt/attributes.c
libxslt/documents.c
libxslt/extensions.c
libxslt/extra.c
libxslt/functions.c
libxslt/keys.c
libxslt/pattern.c
libxslt/preproc.c
libxslt/templates.c
libxslt/transform.c
libxslt/variables.c
libxslt/xslt.c
libxslt/xsltconfig.h.in
tests/XSLTMark/metric.out
tests/docs/bug-9-.xml [new file with mode: 0644]
tests/general/bug-5-.out
tests/general/bug-9-.xsl [new file with mode: 0644]

diff --git a/README b/README
index 99f7775..c71e1d8 100644 (file)
--- a/README
+++ b/README
@@ -3,12 +3,12 @@
 
                  http://xmlsoft.org/
 
- Requires libxml2 >= 2.3.0 with XPath support. It won't even compile
+ Requires libxml2 >= 2.3.6 with XPath support. It won't even compile
 otherwise.
  Check the FEATURES file for informations about completeness
  Check the Changelog too to keep track of progresses.
 
-   report bugs to xml@rpmfind.net or on the bugzilla.gnome.org base.
+   report bugs to xslt@gnome.org or on the bugzilla.gnome.org base.
 
 Daniel Veillard
 
index eccab75..91ab74c 100644 (file)
@@ -48,6 +48,15 @@ if test "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XSLT" ; then
     CFLAGS="-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline "
 fi
 
+AC_ARG_WITH(debug, [  --with-debug            Add the debugging code (on)])
+if test "$with_mem_debug" = "no" ; then
+    echo Disabling debug support
+    WITH_XSLT_DEBUG=0
+else    
+    WITH_XSLT_DEBUG=1
+fi
+AC_SUBST(WITH_XSLT_DEBUG)
+
 AC_ARG_WITH(mem_debug, [  --with-mem-debug        Add the memory debugging module (off)])
 if test "$with_mem_debug" = "yes" ; then
     echo Enabling memory debug support
index b7daf10..5c83a6c 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-ATTRIBUTES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2045"
+NAME="AEN2049"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN2045"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2048"
+NAME="AEN2052"
 ></A
 ><H2
 >Synopsis</H2
@@ -188,7 +188,7 @@ HREF="XMLCHAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2061"
+NAME="AEN2065"
 ></A
 ><H2
 >Description</H2
@@ -198,14 +198,14 @@ NAME="AEN2061"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2064"
+NAME="AEN2068"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2066"
+NAME="AEN2070"
 ></A
 ><H3
 ><A
@@ -258,7 +258,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -275,7 +275,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -290,7 +290,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2087"
+NAME="AEN2091"
 ></A
 ><H3
 ><A
@@ -338,7 +338,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -353,7 +353,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2103"
+NAME="AEN2107"
 ></A
 ><H3
 ><A
@@ -413,7 +413,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -430,7 +430,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -447,7 +447,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -464,7 +464,7 @@ CLASS="PARAMETER"
 ><I
 >attributes</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 1a7d776..ae4d078 100644 (file)
@@ -300,7 +300,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -317,7 +317,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -385,7 +385,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -402,7 +402,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -470,7 +470,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -487,7 +487,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -555,7 +555,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -572,7 +572,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -640,7 +640,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -657,7 +657,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -725,7 +725,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -742,7 +742,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -810,7 +810,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -827,7 +827,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -895,7 +895,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -912,7 +912,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -974,7 +974,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -991,7 +991,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1054,7 +1054,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 709afac..8ddc8b6 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-IMPORTS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2139"
+NAME="AEN2143"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN2139"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2142"
+NAME="AEN2146"
 ></A
 ><H2
 >Synopsis</H2
@@ -220,7 +220,7 @@ HREF="XMLCHAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2164"
+NAME="AEN2168"
 ></A
 ><H2
 >Description</H2
@@ -230,14 +230,14 @@ NAME="AEN2164"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2167"
+NAME="AEN2171"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2169"
+NAME="AEN2173"
 ></A
 ><H3
 ><A
@@ -280,7 +280,7 @@ CLASS="PARAMETER"
 ><I
 >res</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -297,7 +297,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -314,7 +314,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -329,7 +329,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2191"
+NAME="AEN2195"
 ></A
 ><H3
 ><A
@@ -372,7 +372,7 @@ CLASS="PARAMETER"
 ><I
 >res</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -389,7 +389,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -406,7 +406,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -421,7 +421,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2213"
+NAME="AEN2217"
 ></A
 ><H3
 ><A
@@ -474,7 +474,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -491,7 +491,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -506,7 +506,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2234"
+NAME="AEN2238"
 ></A
 ><H3
 ><A
@@ -559,7 +559,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -576,7 +576,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -591,7 +591,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2255"
+NAME="AEN2259"
 ></A
 ><H3
 ><A
@@ -642,7 +642,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -672,7 +672,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2276"
+NAME="AEN2280"
 ></A
 ><H3
 ><A
@@ -725,7 +725,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -742,7 +742,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -773,7 +773,7 @@ should be CDTATA wrapped.</TD
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2301"
+NAME="AEN2305"
 ></A
 ><H3
 ><A
@@ -832,7 +832,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -849,7 +849,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -866,7 +866,7 @@ CLASS="PARAMETER"
 ><I
 >nameURI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 3b6666b..c59f6a5 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-KEYS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2899"
+NAME="AEN2929"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN2899"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2902"
+NAME="AEN2932"
 ></A
 ><H2
 >Synopsis</H2
@@ -221,7 +221,7 @@ HREF="XSLTDOCUMENTPTR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2924"
+NAME="AEN2954"
 ></A
 ><H2
 >Description</H2
@@ -231,14 +231,14 @@ NAME="AEN2924"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2927"
+NAME="AEN2957"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2929"
+NAME="AEN2959"
 ></A
 ><H3
 ><A
@@ -302,7 +302,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -319,7 +319,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -336,7 +336,7 @@ CLASS="PARAMETER"
 ><I
 >nameURI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -353,7 +353,7 @@ CLASS="PARAMETER"
 ><I
 >match</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -370,7 +370,7 @@ CLASS="PARAMETER"
 ><I
 >use</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -400,7 +400,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2969"
+NAME="AEN2999"
 ></A
 ><H3
 ><A
@@ -463,7 +463,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -480,7 +480,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -497,7 +497,7 @@ CLASS="PARAMETER"
 ><I
 >nameURI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -514,7 +514,7 @@ CLASS="PARAMETER"
 ><I
 >value</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -544,7 +544,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3005"
+NAME="AEN3035"
 ></A
 ><H3
 ><A
@@ -597,7 +597,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -614,7 +614,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -629,7 +629,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3026"
+NAME="AEN3056"
 ></A
 ><H3
 ><A
@@ -677,7 +677,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -692,7 +692,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3042"
+NAME="AEN3072"
 ></A
 ><H3
 ><A
@@ -738,7 +738,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 2dcb5a8..d13c699 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-NAMESPACES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2337"
+NAME="AEN2341"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN2337"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2340"
+NAME="AEN2344"
 ></A
 ><H2
 >Synopsis</H2
@@ -235,7 +235,7 @@ HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2366"
+NAME="AEN2370"
 ></A
 ><H2
 >Description</H2
@@ -245,14 +245,14 @@ NAME="AEN2366"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2369"
+NAME="AEN2373"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2371"
+NAME="AEN2375"
 ></A
 ><H3
 ><A
@@ -305,7 +305,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -322,7 +322,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -337,7 +337,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2392"
+NAME="AEN2396"
 ></A
 ><H3
 ><A
@@ -402,7 +402,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -419,7 +419,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -436,7 +436,7 @@ CLASS="PARAMETER"
 ><I
 >ns</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -453,7 +453,7 @@ CLASS="PARAMETER"
 ><I
 >out</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -483,7 +483,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2428"
+NAME="AEN2432"
 ></A
 ><H3
 ><A
@@ -548,7 +548,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -565,7 +565,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -582,7 +582,7 @@ CLASS="PARAMETER"
 ><I
 >URI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -599,7 +599,7 @@ CLASS="PARAMETER"
 ><I
 >prefix</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -616,7 +616,7 @@ CLASS="PARAMETER"
 ><I
 >out</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -646,7 +646,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2468"
+NAME="AEN2472"
 ></A
 ><H3
 ><A
@@ -712,7 +712,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -729,7 +729,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -746,7 +746,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -776,7 +776,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2500"
+NAME="AEN2504"
 ></A
 ><H3
 ><A
@@ -824,7 +824,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 73508a1..a8a417e 100644 (file)
@@ -109,7 +109,7 @@ NAME="LIBXSLT-NUMBERSINTERNALS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3507"
+NAME="AEN3537"
 ></A
 ><H2
 >Name</H2
@@ -117,7 +117,7 @@ NAME="AEN3507"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3510"
+NAME="AEN3540"
 ></A
 ><H2
 >Synopsis</H2
@@ -176,7 +176,7 @@ HREF="XMLNODEPTR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3523"
+NAME="AEN3553"
 ></A
 ><H2
 >Description</H2
@@ -186,14 +186,14 @@ NAME="AEN3523"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3526"
+NAME="AEN3556"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3528"
+NAME="AEN3558"
 ></A
 ><H3
 ><A
@@ -254,7 +254,7 @@ CLASS="PARAMETER"
 ><I
 >Param1</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -271,7 +271,7 @@ CLASS="PARAMETER"
 ><I
 >Param2</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -288,7 +288,7 @@ CLASS="PARAMETER"
 ><I
 >Param3</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -305,7 +305,7 @@ CLASS="PARAMETER"
 ><I
 >Param4</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -335,7 +335,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3563"
+NAME="AEN3593"
 ></A
 ><H3
 ><A
@@ -389,7 +389,7 @@ CLASS="PARAMETER"
 ><I
 >Param1</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -406,7 +406,7 @@ CLASS="PARAMETER"
 ><I
 >Param2</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -423,7 +423,7 @@ CLASS="PARAMETER"
 ><I
 >Param3</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 4b625b7..e01cc13 100644 (file)
@@ -396,7 +396,7 @@ CLASS="PARAMETER"
 ><I
 >pattern</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -413,7 +413,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -430,7 +430,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -513,7 +513,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -584,7 +584,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -601,7 +601,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -618,7 +618,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -713,7 +713,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -730,7 +730,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -747,7 +747,7 @@ CLASS="PARAMETER"
 ><I
 >mode</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -764,7 +764,7 @@ CLASS="PARAMETER"
 ><I
 >modeURI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -859,7 +859,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -876,7 +876,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -893,7 +893,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -971,7 +971,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1035,7 +1035,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1106,7 +1106,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1123,7 +1123,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1140,7 +1140,7 @@ CLASS="PARAMETER"
 ><I
 >pattern</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 9ca9898..1d69a5b 100644 (file)
@@ -373,7 +373,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -390,7 +390,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -481,7 +481,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -498,7 +498,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -515,7 +515,7 @@ CLASS="PARAMETER"
 ><I
 >parent</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -611,7 +611,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -628,7 +628,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -645,7 +645,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -662,7 +662,7 @@ CLASS="PARAMETER"
 ><I
 >ns</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -758,7 +758,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -775,7 +775,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -792,7 +792,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -809,7 +809,7 @@ CLASS="PARAMETER"
 ><I
 >ns</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -826,7 +826,7 @@ CLASS="PARAMETER"
 ><I
 >found</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -912,7 +912,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -929,7 +929,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1015,7 +1015,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1032,7 +1032,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1121,7 +1121,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1138,7 +1138,7 @@ CLASS="PARAMETER"
 ><I
 >target</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1155,7 +1155,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1244,7 +1244,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1261,7 +1261,7 @@ CLASS="PARAMETER"
 ><I
 >target</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1278,7 +1278,7 @@ CLASS="PARAMETER"
 ><I
 >attr</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1363,7 +1363,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1380,7 +1380,7 @@ CLASS="PARAMETER"
 ><I
 >attr</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index a43b7b9..bd8bf5f 100644 (file)
@@ -157,7 +157,8 @@ HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
                                              <GTKDOCLINK
 HREF="XMLDOCPTR"
 >xmlDocPtr</GTKDOCLINK
-> doc);
+> doc,
+                                             const char **params);
 void        <A
 HREF="libxslt-transform.html#XSLTAPPLYONETEMPLATE"
 >xsltApplyOneTemplate</A
@@ -547,7 +548,8 @@ HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
                                              <GTKDOCLINK
 HREF="XMLDOCPTR"
 >xmlDocPtr</GTKDOCLINK
-> doc);</PRE
+> doc,
+                                             const char **params);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -577,7 +579,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -594,7 +596,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -606,6 +608,23 @@ VALIGN="TOP"
 WIDTH="20%"
 ALIGN="RIGHT"
 VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>params</I
+></TT
+>:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a NULL terminated arry of parameters names/values tuples</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
 ><I
 CLASS="EMPHASIS"
 >Returns</I
@@ -624,7 +643,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1042"
+NAME="AEN1046"
 ></A
 ><H3
 ><A
@@ -681,7 +700,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -698,7 +717,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -715,7 +734,7 @@ CLASS="PARAMETER"
 ><I
 >list</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -732,7 +751,7 @@ CLASS="PARAMETER"
 ><I
 >real</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -747,7 +766,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1072"
+NAME="AEN1076"
 ></A
 ><H3
 ><A
@@ -807,7 +826,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -824,7 +843,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -841,7 +860,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -858,7 +877,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -873,7 +892,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1103"
+NAME="AEN1107"
 ></A
 ><H3
 ><A
@@ -933,7 +952,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -950,7 +969,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -967,7 +986,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -984,7 +1003,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -999,7 +1018,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1134"
+NAME="AEN1138"
 ></A
 ><H3
 ><A
@@ -1059,7 +1078,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1076,7 +1095,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1093,7 +1112,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1110,7 +1129,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1125,7 +1144,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1165"
+NAME="AEN1169"
 ></A
 ><H3
 ><A
@@ -1185,7 +1204,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1202,7 +1221,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1219,7 +1238,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1236,7 +1255,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1251,7 +1270,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1196"
+NAME="AEN1200"
 ></A
 ><H3
 ><A
@@ -1311,7 +1330,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1328,7 +1347,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1345,7 +1364,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1362,7 +1381,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1377,7 +1396,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1227"
+NAME="AEN1231"
 ></A
 ><H3
 ><A
@@ -1437,7 +1456,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1454,7 +1473,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1471,7 +1490,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1488,7 +1507,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1503,7 +1522,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1258"
+NAME="AEN1262"
 ></A
 ><H3
 ><A
@@ -1563,7 +1582,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1580,7 +1599,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1597,7 +1616,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1614,7 +1633,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1629,7 +1648,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1289"
+NAME="AEN1293"
 ></A
 ><H3
 ><A
@@ -1689,7 +1708,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1706,7 +1725,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1723,7 +1742,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1740,7 +1759,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1755,7 +1774,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1320"
+NAME="AEN1324"
 ></A
 ><H3
 ><A
@@ -1815,7 +1834,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1832,7 +1851,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1849,7 +1868,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1866,7 +1885,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1881,7 +1900,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1351"
+NAME="AEN1355"
 ></A
 ><H3
 ><A
@@ -1941,7 +1960,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1958,7 +1977,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1975,7 +1994,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1992,7 +2011,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2007,7 +2026,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1382"
+NAME="AEN1386"
 ></A
 ><H3
 ><A
@@ -2067,7 +2086,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2084,7 +2103,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2101,7 +2120,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2118,7 +2137,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2133,7 +2152,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1413"
+NAME="AEN1417"
 ></A
 ><H3
 ><A
@@ -2193,7 +2212,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2210,7 +2229,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2227,7 +2246,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2244,7 +2263,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2259,7 +2278,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1444"
+NAME="AEN1448"
 ></A
 ><H3
 ><A
@@ -2319,7 +2338,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2336,7 +2355,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2353,7 +2372,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2370,7 +2389,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2385,7 +2404,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1475"
+NAME="AEN1479"
 ></A
 ><H3
 ><A
@@ -2445,7 +2464,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2462,7 +2481,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2479,7 +2498,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2496,7 +2515,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2511,7 +2530,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1506"
+NAME="AEN1510"
 ></A
 ><H3
 ><A
@@ -2571,7 +2590,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2588,7 +2607,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2605,7 +2624,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2622,7 +2641,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2637,7 +2656,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1537"
+NAME="AEN1541"
 ></A
 ><H3
 ><A
@@ -2697,7 +2716,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2714,7 +2733,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2731,7 +2750,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2748,7 +2767,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2763,7 +2782,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1568"
+NAME="AEN1572"
 ></A
 ><H3
 ><A
@@ -2823,7 +2842,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2840,7 +2859,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2857,7 +2876,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2874,7 +2893,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index 3115866..ac5000d 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-VARIABLES"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2521"
+NAME="AEN2525"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN2521"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2524"
+NAME="AEN2528"
 ></A
 ><H2
 >Synopsis</H2
@@ -155,6 +155,14 @@ HREF="libxslt-variables.html#XSLTEVALGLOBALVARIABLES"
 HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
 >xsltTransformContextPtr</A
 > ctxt);
+int         <A
+HREF="libxslt-variables.html#XSLTEVALUSERPARAMS"
+>xsltEvalUserParams</A
+>              (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             const char **params);
 void        <A
 HREF="libxslt-variables.html#XSLTPUSHSTACK"
 >xsltPushStack</A
@@ -310,7 +318,7 @@ HREF="XMLCHAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2570"
+NAME="AEN2576"
 ></A
 ><H2
 >Description</H2
@@ -320,14 +328,14 @@ NAME="AEN2570"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2573"
+NAME="AEN2579"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2575"
+NAME="AEN2581"
 ></A
 ><H3
 ><A
@@ -370,7 +378,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -385,7 +393,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2589"
+NAME="AEN2595"
 ></A
 ><H3
 ><A
@@ -434,7 +442,87 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XSLT transformation context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 in case of success, -1 in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2615"
+></A
+><H3
+><A
+NAME="XSLTEVALUSERPARAMS"
+></A
+>xsltEvalUserParams ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xsltEvalUserParams              (<A
+HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
+>xsltTransformContextPtr</A
+> ctxt,
+                                             const char **params);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Evaluate the global variables of a stylesheet. This need to be
+done on parsed stylesheets before starting to apply transformations</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -446,6 +534,23 @@ VALIGN="TOP"
 WIDTH="20%"
 ALIGN="RIGHT"
 VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>params</I
+></TT
+>:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a NULL terminated arry of parameters names/values tuples</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
 ><I
 CLASS="EMPHASIS"
 >Returns</I
@@ -464,7 +569,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2609"
+NAME="AEN2639"
 ></A
 ><H3
 ><A
@@ -510,7 +615,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -525,7 +630,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2624"
+NAME="AEN2654"
 ></A
 ><H3
 ><A
@@ -571,7 +676,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -586,7 +691,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2639"
+NAME="AEN2669"
 ></A
 ><H3
 ><A
@@ -639,7 +744,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -656,7 +761,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -671,7 +776,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2660"
+NAME="AEN2690"
 ></A
 ><H3
 ><A
@@ -724,7 +829,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -741,7 +846,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -756,7 +861,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2681"
+NAME="AEN2711"
 ></A
 ><H3
 ><A
@@ -809,7 +914,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -826,7 +931,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -841,7 +946,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2702"
+NAME="AEN2732"
 ></A
 ><H3
 ><A
@@ -894,7 +999,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -911,7 +1016,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -926,7 +1031,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2723"
+NAME="AEN2753"
 ></A
 ><H3
 ><A
@@ -985,7 +1090,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1002,7 +1107,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1032,7 +1137,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2750"
+NAME="AEN2780"
 ></A
 ><H3
 ><A
@@ -1084,7 +1189,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1101,7 +1206,7 @@ CLASS="PARAMETER"
 ><I
 >elems</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1131,7 +1236,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2775"
+NAME="AEN2805"
 ></A
 ><H3
 ><A
@@ -1177,7 +1282,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1192,7 +1297,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2790"
+NAME="AEN2820"
 ></A
 ><H3
 ><A
@@ -1252,7 +1357,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1269,7 +1374,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1286,7 +1391,7 @@ CLASS="PARAMETER"
 ><I
 >ns_uri</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1316,7 +1421,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2821"
+NAME="AEN2851"
 ></A
 ><H3
 ><A
@@ -1381,7 +1486,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1398,7 +1503,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1415,7 +1520,7 @@ CLASS="PARAMETER"
 ><I
 >ns_uri</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1432,7 +1537,7 @@ CLASS="PARAMETER"
 ><I
 >select</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1449,7 +1554,7 @@ CLASS="PARAMETER"
 ><I
 >tree</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1466,7 +1571,7 @@ CLASS="PARAMETER"
 ><I
 >param</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1496,7 +1601,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2865"
+NAME="AEN2895"
 ></A
 ><H3
 ><A
@@ -1550,7 +1655,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1567,7 +1672,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1584,7 +1689,7 @@ CLASS="PARAMETER"
 ><I
 >ns_uri</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index efa2f47..3fd679b 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-XSLTINTERNALS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3062"
+NAME="AEN3092"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN3062"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3065"
+NAME="AEN3095"
 ></A
 ><H2
 >Synopsis</H2
@@ -372,7 +372,7 @@ HREF="XMLCHAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3127"
+NAME="AEN3157"
 ></A
 ><H2
 >Description</H2
@@ -382,14 +382,14 @@ NAME="AEN3127"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3130"
+NAME="AEN3160"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3132"
+NAME="AEN3162"
 ></A
 ><H3
 ><A
@@ -418,7 +418,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3137"
+NAME="AEN3167"
 ></A
 ><H3
 ><A
@@ -453,7 +453,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3142"
+NAME="AEN3172"
 ></A
 ><H3
 ><A
@@ -479,7 +479,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3147"
+NAME="AEN3177"
 ></A
 ><H3
 ><A
@@ -505,7 +505,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3152"
+NAME="AEN3182"
 ></A
 ><H3
 ><A
@@ -542,7 +542,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3157"
+NAME="AEN3187"
 ></A
 ><H3
 ><A
@@ -568,7 +568,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3162"
+NAME="AEN3192"
 ></A
 ><H3
 ><A
@@ -622,7 +622,7 @@ struct _xsltDocument {
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3167"
+NAME="AEN3197"
 ></A
 ><H3
 ><A
@@ -723,7 +723,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3172"
+NAME="AEN3202"
 ></A
 ><H3
 ><A
@@ -749,7 +749,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3177"
+NAME="AEN3207"
 ></A
 ><H3
 ><A
@@ -796,9 +796,9 @@ CLASS="PROGRAMLISTING"
     xsltDocumentPtr docList;           /* the document list */
 
     xsltDocumentPtr document;          /* the current document */
-    xmlNodePtr node;                   /* the node being processed */
+    xmlNodePtr node;                   /* the current node being processed */
     xmlNodeSetPtr nodeList;            /* the current node list */
-    xmlNodePtr current;                        /* the current node */
+    /* xmlNodePtr current;                     the node */
 
     xmlDocPtr output;                  /* the resulting document */
     xmlNodePtr insert;                 /* the insertion node */
@@ -815,7 +815,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3182"
+NAME="AEN3212"
 ></A
 ><H3
 ><A
@@ -841,7 +841,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3187"
+NAME="AEN3217"
 ></A
 ><H3
 ><A
@@ -900,6 +900,8 @@ CLASS="PROGRAMLISTING"
     xsltNumberData numdata;    /* number */
 
     xmlXPathCompExprPtr comp;  /* a precompiled XPath expression */
+    xmlNsPtr *nsList;          /* the namespaces in scope */
+    int nsNr;                  /* the number of namespaces in scope */
 };</PRE
 ></TD
 ></TR
@@ -910,7 +912,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3192"
+NAME="AEN3222"
 ></A
 ><H3
 ><A
@@ -936,7 +938,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3197"
+NAME="AEN3227"
 ></A
 ><H3
 ><A
@@ -994,7 +996,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1011,7 +1013,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1028,7 +1030,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1045,7 +1047,7 @@ CLASS="PARAMETER"
 ><I
 >comp</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1060,7 +1062,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3227"
+NAME="AEN3257"
 ></A
 ><H3
 ><A
@@ -1104,7 +1106,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3232"
+NAME="AEN3262"
 ></A
 ><H3
 ><A
@@ -1134,7 +1136,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3237"
+NAME="AEN3267"
 ></A
 ><H3
 ><A
@@ -1164,7 +1166,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3242"
+NAME="AEN3272"
 ></A
 ><H3
 ><A
@@ -1180,7 +1182,7 @@ CELLPADDING="6"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define CHECK_STOPPED if (ctxt-&gt;state == XSLT_STATE_STOPPED) return;</PRE
+>#define CHECK_STOPPED if (ctxt-state == XSLT_STATE_STOPPED) return;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1190,7 +1192,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3247"
+NAME="AEN3277"
 ></A
 ><H3
 ><A
@@ -1206,7 +1208,7 @@ CELLPADDING="6"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define CHECK_STOPPEDE if (ctxt-&gt;state == XSLT_STATE_STOPPED) goto error;</PRE
+>#define CHECK_STOPPEDE if (ctxt-state == XSLT_STATE_STOPPED) goto error;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1216,7 +1218,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3252"
+NAME="AEN3282"
 ></A
 ><H3
 ><A
@@ -1232,7 +1234,7 @@ CELLPADDING="6"
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define CHECK_STOPPED0 if (ctxt-&gt;state == XSLT_STATE_STOPPED) return(0);</PRE
+>#define CHECK_STOPPED0 if (ctxt-state == XSLT_STATE_STOPPED) return(0);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1242,7 +1244,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3257"
+NAME="AEN3287"
 ></A
 ><H3
 ><A
@@ -1303,7 +1305,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3273"
+NAME="AEN3303"
 ></A
 ><H3
 ><A
@@ -1354,7 +1356,7 @@ CLASS="PARAMETER"
 ><I
 >filename</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1384,7 +1386,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3294"
+NAME="AEN3324"
 ></A
 ><H3
 ><A
@@ -1437,7 +1439,7 @@ CLASS="PARAMETER"
 ><I
 >sheet</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1452,7 +1454,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3311"
+NAME="AEN3341"
 ></A
 ><H3
 ><A
@@ -1500,7 +1502,7 @@ CLASS="PARAMETER"
 ><I
 >str</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1530,7 +1532,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3331"
+NAME="AEN3361"
 ></A
 ><H3
 ><A
@@ -1583,7 +1585,7 @@ CLASS="PARAMETER"
 ><I
 >elem</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1598,7 +1600,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3348"
+NAME="AEN3378"
 ></A
 ><H3
 ><A
@@ -1654,7 +1656,7 @@ CLASS="PARAMETER"
 ><I
 >sheet</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1671,7 +1673,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1701,7 +1703,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3374"
+NAME="AEN3404"
 ></A
 ><H3
 ><A
@@ -1757,7 +1759,7 @@ CLASS="PARAMETER"
 ><I
 >ret</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1774,7 +1776,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1804,7 +1806,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3400"
+NAME="AEN3430"
 ></A
 ><H3
 ><A
@@ -1857,7 +1859,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1874,7 +1876,7 @@ CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1889,7 +1891,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3421"
+NAME="AEN3451"
 ></A
 ><H3
 ><A
@@ -1940,7 +1942,7 @@ CLASS="PARAMETER"
 ><I
 >doc</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1970,7 +1972,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3442"
+NAME="AEN3472"
 ></A
 ><H3
 ><A
@@ -2024,7 +2026,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2041,7 +2043,7 @@ CLASS="PARAMETER"
 ><I
 >data</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2058,7 +2060,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2073,7 +2075,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3467"
+NAME="AEN3497"
 ></A
 ><H3
 ><A
@@ -2134,7 +2136,7 @@ CLASS="PARAMETER"
 ><I
 >self</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2151,7 +2153,7 @@ CLASS="PARAMETER"
 ><I
 >format</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2168,7 +2170,7 @@ CLASS="PARAMETER"
 ><I
 >number</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -2185,7 +2187,7 @@ CLASS="PARAMETER"
 ><I
 >result</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index d74407b..8744dcc 100644 (file)
@@ -121,7 +121,7 @@ NAME="LIBXSLT-XSLTUTILS"
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1604"
+NAME="AEN1608"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@ NAME="AEN1604"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1607"
+NAME="AEN1611"
 ></A
 ><H2
 >Synopsis</H2
@@ -318,7 +318,7 @@ HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1653"
+NAME="AEN1657"
 ></A
 ><H2
 >Description</H2
@@ -328,14 +328,14 @@ NAME="AEN1653"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1656"
+NAME="AEN1660"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1658"
+NAME="AEN1662"
 ></A
 ><H3
 ><A
@@ -381,7 +381,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -411,7 +411,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1677"
+NAME="AEN1681"
 ></A
 ><H3
 ><A
@@ -464,7 +464,7 @@ CLASS="PARAMETER"
 ><I
 >name</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -481,7 +481,7 @@ CLASS="PARAMETER"
 ><I
 >prefix</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -511,7 +511,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1702"
+NAME="AEN1706"
 ></A
 ><H3
 ><A
@@ -558,7 +558,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -575,7 +575,7 @@ CLASS="PARAMETER"
 ><I
 >nargs</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -590,7 +590,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1721"
+NAME="AEN1725"
 ></A
 ><H3
 ><A
@@ -616,7 +616,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1726"
+NAME="AEN1730"
 ></A
 ><H3
 ><A
@@ -642,7 +642,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1731"
+NAME="AEN1735"
 ></A
 ><H3
 ><A
@@ -685,7 +685,7 @@ CLASS="PARAMETER"
 ><I
 >n</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -700,7 +700,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1745"
+NAME="AEN1749"
 ></A
 ><H3
 ><A
@@ -743,7 +743,7 @@ CLASS="PARAMETER"
 ><I
 >n</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -760,7 +760,7 @@ CLASS="PARAMETER"
 ><I
 >val</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -775,7 +775,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1763"
+NAME="AEN1767"
 ></A
 ><H3
 ><A
@@ -801,7 +801,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1768"
+NAME="AEN1772"
 ></A
 ><H3
 ><A
@@ -827,7 +827,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1773"
+NAME="AEN1777"
 ></A
 ><H3
 ><A
@@ -853,7 +853,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1778"
+NAME="AEN1782"
 ></A
 ><H3
 ><A
@@ -879,7 +879,7 @@ CLASS="PROGRAMLISTING"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1783"
+NAME="AEN1787"
 ></A
 ><H3
 ><A
@@ -935,7 +935,7 @@ CLASS="PARAMETER"
 ><I
 >ctxt</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -952,7 +952,7 @@ CLASS="PARAMETER"
 ><I
 >node</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -969,7 +969,7 @@ CLASS="PARAMETER"
 ><I
 >inst</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -984,7 +984,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1809"
+NAME="AEN1813"
 ></A
 ><H3
 ><A
@@ -1064,7 +1064,7 @@ CLASS="PARAMETER"
 ><I
 >ctx</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1081,7 +1081,7 @@ CLASS="PARAMETER"
 ><I
 >handler</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1096,7 +1096,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1834"
+NAME="AEN1838"
 ></A
 ><H3
 ><A
@@ -1176,7 +1176,7 @@ CLASS="PARAMETER"
 ><I
 >ctx</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1193,7 +1193,7 @@ CLASS="PARAMETER"
 ><I
 >handler</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1208,7 +1208,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1859"
+NAME="AEN1863"
 ></A
 ><H3
 ><A
@@ -1261,7 +1261,7 @@ CLASS="PARAMETER"
 ><I
 >list</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1276,7 +1276,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1876"
+NAME="AEN1880"
 ></A
 ><H3
 ><A
@@ -1341,7 +1341,7 @@ CLASS="PARAMETER"
 ><I
 >list</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1358,7 +1358,7 @@ CLASS="PARAMETER"
 ><I
 >results</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1375,7 +1375,7 @@ CLASS="PARAMETER"
 ><I
 >descending</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1392,7 +1392,7 @@ CLASS="PARAMETER"
 ><I
 >number</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1407,7 +1407,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1907"
+NAME="AEN1911"
 ></A
 ><H3
 ><A
@@ -1479,7 +1479,7 @@ CLASS="PARAMETER"
 ><I
 >buf</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1496,7 +1496,7 @@ CLASS="PARAMETER"
 ><I
 >result</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1513,7 +1513,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1543,7 +1543,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1940"
+NAME="AEN1944"
 ></A
 ><H3
 ><A
@@ -1613,7 +1613,7 @@ CLASS="PARAMETER"
 ><I
 >URI</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1630,7 +1630,7 @@ CLASS="PARAMETER"
 ><I
 >result</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1647,7 +1647,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1664,7 +1664,7 @@ CLASS="PARAMETER"
 ><I
 >compression</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1694,7 +1694,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1976"
+NAME="AEN1980"
 ></A
 ><H3
 ><A
@@ -1767,7 +1767,7 @@ CLASS="PARAMETER"
 ><I
 >file</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1784,7 +1784,7 @@ CLASS="PARAMETER"
 ><I
 >result</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1801,7 +1801,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1831,7 +1831,7 @@ VALIGN="TOP"
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2009"
+NAME="AEN2013"
 ></A
 ><H3
 ><A
@@ -1896,7 +1896,7 @@ CLASS="PARAMETER"
 ><I
 >fd</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1913,7 +1913,7 @@ CLASS="PARAMETER"
 ><I
 >result</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
@@ -1930,7 +1930,7 @@ CLASS="PARAMETER"
 ><I
 >style</I
 ></TT
->&nbsp;:</TD
+>:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
index a2d2870..a473f27 100644 (file)
@@ -153,6 +153,26 @@ platform, get in touch with me to upload the package. I will keep them in the
 href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
 for a really accurate description</h3>
 
+<h3>0.8.0: Apr 22 2001</h3>
+<ul>
+  <li>fixed ansidecl.h problem</li>
+  <li>fixed unparsed-entity-uri() and generate-id()</li>
+  <li>sort semantic fixes and priority prob from William M. Brack</li>
+  <li>fixed namespace handling problems in XPath expression computations
+    (requires libxml-2.3.7)</li>
+  <li>fixes to current() and key()</li>
+  <li>other, smaller fixes, lots of testing with N Walsh DocBook HTML
+    stylesheets</li>
+</ul>
+
+<h3>0.7.0: Apr 10 2001</h3>
+<ul>
+  <li>cleanup using stricter compiler flags</li>
+  <li>command line parameter passing</li>
+  <li>fix to xsltApplyTemplates from William M. Brack</li>
+  <li>added the XSLTMark in the regression tests as well as document()</li>
+</ul>
+
 <h3>0.6.0: Mar 22 2001</h3>
 <ul>
   <li>another beta</li>
index 83f6aaa..dde13ed 100644 (file)
@@ -46,7 +46,9 @@
 #include "imports.h"
 #include "transform.h"
 
-#define DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_ATTRIBUTES
+#endif
 
 /*
  * TODO: merge attribute sets from different import precedence.
@@ -265,7 +267,7 @@ xsltParseStylesheetAttributeSet(xsltStylesheetPtr style, xmlNodePtr cur) {
     }
 
     if (style->attributeSets == NULL) {
-#ifdef DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
        xsltGenericDebug(xsltGenericDebugContext,
            "creating attribute set table\n");
 #endif
@@ -289,7 +291,7 @@ xsltParseStylesheetAttributeSet(xsltStylesheetPtr style, xmlNodePtr cur) {
                                 list->name);
                delete = list;
            } else {
-#ifdef DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
                xsltGenericDebug(xsltGenericDebugContext,
                    "add attribute to list %s\n", ncname);
 #endif
@@ -326,7 +328,7 @@ xsltParseStylesheetAttributeSet(xsltStylesheetPtr style, xmlNodePtr cur) {
            xmlChar *ncname2 = NULL;
            xmlChar *prefix2 = NULL;
            xsltAttrElemPtr values2;
-#ifdef DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
            xsltGenericDebug(xsltGenericDebugContext,
                "xslt:attribute-set : %s adds use %s\n", ncname, attribute);
 #endif
@@ -355,7 +357,7 @@ done:
      * Update the value
      */
     xmlHashUpdateEntry2(style->attributeSets, ncname, prefix, values, NULL);
-#ifdef DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
     xsltGenericDebug(xsltGenericDebugContext,
        "updated attribute list %s\n", ncname);
 #endif
@@ -401,7 +403,7 @@ xsltApplyAttributeSet(xsltTransformContextPtr ctxt, xmlNodePtr node,
        while ((*end != 0) && (!IS_BLANK(*end))) end++;
        attribute = xmlStrndup(attribute, end - attribute);
        if (attribute) {
-#ifdef DEBUG_ATTRIBUTES
+#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
            xsltGenericDebug(xsltGenericDebugContext,
                "apply attribute set %s\n", attribute);
 #endif
index e461799..40108e0 100644 (file)
@@ -19,7 +19,9 @@
 #include "documents.h"
 #include "keys.h"
 
-#define DEBUG_DOCUMENTS
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_DOCUMENTS
+#endif
 
 
 /************************************************************************
index b028791..d6d60ef 100644 (file)
@@ -23,7 +23,9 @@
 #include "xsltutils.h"
 #include "extensions.h"
 
-#define DEBUG_EXTENSIONS
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_EXTENSIONS
+#endif
 
 typedef struct _xsltExtDef xsltExtDef;
 typedef xsltExtDef *xsltExtDefPtr;
index 2c19311..354d2e6 100644 (file)
@@ -28,7 +28,9 @@
 #include "transform.h"
 #include "extra.h"
 
-#define DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_EXTRA
+#endif
 
 /************************************************************************
  *                                                                     *
index 0aad6fd..30f3166 100644 (file)
@@ -39,7 +39,9 @@
 #include "keys.h"
 #include "documents.h"
 
-#define DEBUG_FUNCTION
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_FUNCTION
+#endif
 
 
 /************************************************************************
index 0fd61f5..dc49926 100644 (file)
@@ -27,7 +27,9 @@
 #include "templates.h"
 #include "keys.h"
 
-#define DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_KEYS
+#endif
 
 typedef struct _xsltKeyDef xsltKeyDef;
 typedef xsltKeyDef *xsltKeyDefPtr;
@@ -226,7 +228,7 @@ xsltAddKey(xsltStylesheetPtr style, const xmlChar *name,
     if ((style == NULL) || (name == NULL) || (match == NULL) || (use == NULL))
        return(-1);
 
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
     xsltGenericDebug(xsltGenericDebugContext,
        "Add key %s, match %s, use %s\n", name, match, use);
 #endif
@@ -259,7 +261,7 @@ xsltGetKey(xsltTransformContextPtr ctxt, const xmlChar *name,
     if ((ctxt == NULL) || (name == NULL) || (value == NULL))
        return(NULL);
 
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
     xsltGenericDebug(xsltGenericDebugContext,
        "Get key %s, value %s\n", name, value);
 #endif
@@ -328,21 +330,21 @@ xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr doc,
     if (res != NULL) {
        if (res->type == XPATH_NODESET) {
            nodelist = res->nodesetval;
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
            if (nodelist != NULL)
                xsltGenericDebug(xsltGenericDebugContext,
                     "xsltInitCtxtKey: %s evaluates to %d nodes\n",
                                 pattern, nodelist->nodeNr);
 #endif
        } else {
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsltInitCtxtKey: %s is not a node set\n", pattern);
 #endif
            goto error;
        }
     } else {
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltInitCtxtKey: %s evaluation failed\n", pattern);
 #endif
@@ -366,7 +368,7 @@ xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr doc,
        ctxt->node = nodelist->nodeTab[i];
        str = xsltEvalXPathString(ctxt, comp);
        if (str != NULL) {
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsl:key : node associated to(%s,%s)\n",
                             keyd->name, str);
@@ -380,7 +382,7 @@ xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr doc,
            }
            nodelist->nodeTab[i]->_private = keyd;
            xmlFree(str);
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
        } else {
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsl:key : use %s failed to return a string\n",
@@ -415,7 +417,7 @@ xsltInitCtxtKeys(xsltTransformContextPtr ctxt, xsltDocumentPtr doc) {
 
     if ((ctxt == NULL) || (doc == NULL))
        return;
-#ifdef DEBUG_KEYS
+#ifdef WITH_XSLT_DEBUG_KEYS
     xsltGenericDebug(xsltGenericDebugContext, "Initializing keys on %s\n",
                     doc->doc->URL);
 #endif
index 7b5532f..5eaba15 100644 (file)
@@ -32,7 +32,9 @@
 #include "keys.h"
 #include "pattern.h"
 
-#define DEBUG_PATTERN
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_PATTERN
+#endif
 
 /*
  * Types are private:
@@ -1358,7 +1360,7 @@ xsltCompilePattern(const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node) {
        return(NULL);
     }
 
-#ifdef DEBUG_PATTERN
+#ifdef WITH_XSLT_DEBUG_PATTERN
     xsltGenericDebug(xsltGenericDebugContext,
                     "xsltCompilePattern : parsing '%s'\n", pattern);
 #endif
@@ -1612,7 +1614,7 @@ xsltAddTemplate(xsltStylesheetPtr style, xsltTemplatePtr cur,
            xsltFreeCompMatch(pat);
            return(-1);
        }
-#ifdef DEBUG_PATTERN
+#ifdef WITH_XSLT_DEBUG_PATTERN
        if (mode)
            xsltGenericDebug(xsltGenericDebugContext,
                         "added pattern : '%s' mode '%s' priority %f\n",
index e0f08cb..ab5f298 100644 (file)
@@ -37,7 +37,9 @@
 #include "extra.h"
 #include "imports.h"
 
-#define DEBUG_PREPROC
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_PREPROC
+#endif
 
 
 /************************************************************************
@@ -197,7 +199,7 @@ xsltDocumentComp(xsltTransformContextPtr ctxt, xmlNodePtr inst) {
     comp->ver11 = 0;
 
     if (xmlStrEqual(inst->name, (const xmlChar *) "output")) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
        xsltGenericDebug(xsltGenericDebugContext,
            "Found saxon:output extension\n");
 #endif
@@ -205,7 +207,7 @@ xsltDocumentComp(xsltTransformContextPtr ctxt, xmlNodePtr inst) {
                         (const xmlChar *)"file",
                         XSLT_SAXON_NAMESPACE, &comp->has_filename);
     } else if (xmlStrEqual(inst->name, (const xmlChar *) "write")) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
        xsltGenericDebug(xsltGenericDebugContext,
            "Found xalan:write extension\n");
 #endif
@@ -217,7 +219,7 @@ xsltDocumentComp(xsltTransformContextPtr ctxt, xmlNodePtr inst) {
                         (const xmlChar *)"href",
                         XSLT_XT_NAMESPACE, &comp->has_filename);
        if (filename == NULL) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
            xsltGenericDebug(xsltGenericDebugContext,
                "Found xslt11:document construct\n");
 #endif
@@ -226,7 +228,7 @@ xsltDocumentComp(xsltTransformContextPtr ctxt, xmlNodePtr inst) {
                             XSLT_NAMESPACE, &comp->has_filename);
            comp->ver11 = 1;
        } else {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
            xsltGenericDebug(xsltGenericDebugContext,
                "Found xt:document extension\n");
 #endif
index 96a54fa..db21a2a 100644 (file)
@@ -28,7 +28,9 @@
 #include "namespaces.h"
 #include "attributes.h"
 
-#define DEBUG_TEMPLATES
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_TEMPLATES
+#endif
 
 /************************************************************************
  *                                                                     *
@@ -62,12 +64,12 @@ xsltEvalXPathPredicate(xsltTransformContextPtr ctxt,
     if (res != NULL) {
        ret = xmlXPathEvalPredicate(ctxt->xpathCtxt, res);
        xmlXPathFreeObject(res);
-#ifdef DEBUG_TEMPLATES
+#ifdef WITH_XSLT_DEBUG_TEMPLATES
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltEvalXPathPredicate: returns %d\n", ret);
 #endif
     } else {
-#ifdef DEBUG_TEMPLATES
+#ifdef WITH_XSLT_DEBUG_TEMPLATES
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltEvalXPathPredicate: failed\n");
 #endif
@@ -108,7 +110,7 @@ xsltEvalXPathString(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp) {
        }
        xmlXPathFreeObject(res);
     }
-#ifdef DEBUG_TEMPLATES
+#ifdef WITH_XSLT_DEBUG_TEMPLATES
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltEvalXPathString: returns %s\n", ret);
 #endif
@@ -249,7 +251,7 @@ xsltEvalAttrValueTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
      */
 
     ret = xsltAttrTemplateValueProcess(ctxt, expr);
-#ifdef DEBUG_TEMPLATES
+#ifdef WITH_XSLT_DEBUG_TEMPLATES
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltEvalXPathString: %s returns %s\n", expr, ret);
 #endif
index 10fab3c..45473a8 100644 (file)
@@ -49,7 +49,9 @@
 #include "extra.h"
 #include "preproc.h"
 
-#define DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_PROCESS
+#endif
 
 int xsltMaxDepth = 250;
 
@@ -458,7 +460,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
            if (template) {
                xmlNodePtr oldNode;
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: applying template for CDATA %s\n",
                                 node->content);
@@ -470,7 +472,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                templPop(ctxt);
                ctxt->node = oldNode;
            } else /* if (ctxt->mode == NULL) */ {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: copy CDATA %s\n",
                                 node->content);
@@ -489,7 +491,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
            if (template) {
                xmlNodePtr oldNode;
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: applying template for text %s\n",
                                 node->content);
@@ -501,7 +503,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                templPop(ctxt);
                ctxt->node = oldNode;
            } else /* if (ctxt->mode == NULL) */ {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                if (node->content == NULL)
                    xsltGenericDebug(xsltGenericDebugContext,
                     "xsltDefaultProcessOneNode: copy empty text\n");
@@ -586,7 +588,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                nbchild++;
                break;
            default:
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: skipping node type %d\n",
                                 cur->type);
@@ -595,7 +597,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
        }
        cur = cur->next;
        if (delete != NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: removing ignorable blank node\n");
 #endif
@@ -642,7 +644,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                if (template) {
                    xmlNodePtr oldNode;
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
                 "xsltDefaultProcessOneNode: applying template for CDATA %s\n",
                                     node->content);
@@ -654,7 +656,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                    templPop(ctxt);
                    ctxt->node = oldNode;
                } else /* if (ctxt->mode == NULL) */ {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
                     "xsltDefaultProcessOneNode: copy CDATA %s\n",
                                     node->content);
@@ -673,7 +675,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                if (template) {
                    xmlNodePtr oldNode;
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
             "xsltDefaultProcessOneNode: applying template for text %s\n",
                                     node->content);
@@ -687,7 +689,7 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
                    templPop(ctxt);
                    ctxt->node = oldNode;
                } else /* if (ctxt->mode == NULL) */ {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    if (cur->content == NULL)
                        xsltGenericDebug(xsltGenericDebugContext,
                         "xsltDefaultProcessOneNode: copy empty text\n");
@@ -755,7 +757,7 @@ xsltProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
            
             cur = cur->next;
            if (delete != NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
             "xsltDefaultProcessOneNode: removing ignorable blank node\n");
 #endif
@@ -771,7 +773,7 @@ xsltProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
      * If no template is found, apply the default rule.
      */
     if (template == NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        if (node->type == XML_DOCUMENT_NODE)
            xsltGenericDebug(xsltGenericDebugContext,
             "xsltProcessOneNode: no template found for /\n");
@@ -790,7 +792,7 @@ xsltProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
     }
 
     if (node->type == XML_ATTRIBUTE_NODE) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltProcessOneNode: applying template for attribute %s\n",
                         node->name);
@@ -799,7 +801,7 @@ xsltProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
        xsltApplyOneTemplate(ctxt, node, template->content, 1);
        templPop(ctxt);
     } else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        if (node->type == XML_DOCUMENT_NODE)
            xsltGenericDebug(xsltGenericDebugContext,
             "xsltProcessOneNode: applying template for /\n");
@@ -864,7 +866,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
         * test, we must have a valid insertion point
         */
        if (insert == NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsltApplyOneTemplate: insert == NULL !\n");
 #endif
@@ -904,14 +906,19 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
            }
            CHECK_STOPPED;
            goto skip_children;
-       } else if (cur->type == XML_TEXT_NODE) {
+       } else if ((cur->type == XML_TEXT_NODE) ||
+                  (cur->type == XML_CDATA_SECTION_NODE)) {
            /*
             * This text comes from the stylesheet
             * For stylesheets, the set of whitespace-preserving
             * element names consists of just xsl:text.
             */
-#ifdef DEBUG_PROCESS
-           if (cur->name == xmlStringTextNoenc)
+#ifdef WITH_XSLT_DEBUG_PROCESS
+           if (cur->type == XML_CDATA_SECTION_NODE)
+               xsltGenericDebug(xsltGenericDebugContext,
+                    "xsltApplyOneTemplate: copy CDATA text %s\n",
+                                cur->content);
+           else if (cur->name == xmlStringTextNoenc)
                xsltGenericDebug(xsltGenericDebugContext,
                     "xsltApplyOneTemplate: copy unescaped text %s\n",
                                 cur->content);
@@ -919,7 +926,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
                xsltGenericDebug(xsltGenericDebugContext,
                     "xsltApplyOneTemplate: copy text %s\n", cur->content);
 #endif
-           copy = xmlCopyNode(cur, 0);
+           copy = xmlNewText(cur->content);
            if (copy != NULL) {
                xmlAddChild(insert, copy);
            } else {
@@ -939,7 +946,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
                        "xsltApplyOneTemplate: failed to find extension %s\n",
                                 cur->name);
            } else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                 "xsltApplyOneTemplate: extension construct %s\n", cur->name);
 #endif
@@ -954,7 +961,7 @@ xsltApplyOneTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
            }
            goto skip_children;
        } else if (cur->type == XML_ELEMENT_NODE) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            xsltGenericDebug(xsltGenericDebugContext,
                 "xsltApplyOneTemplate: copy node %s\n", cur->name);
 #endif
@@ -1044,7 +1051,7 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
        xmlChar *base = NULL;
        xmlChar *URL = NULL;
        if (xmlStrEqual(inst->name, (const xmlChar *) "output")) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
            xsltGenericDebug(xsltGenericDebugContext,
                "Found saxon:output extension\n");
 #endif
@@ -1052,7 +1059,7 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
                             (const xmlChar *)"file",
                             XSLT_SAXON_NAMESPACE);
        } else if (xmlStrEqual(inst->name, (const xmlChar *) "write")) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
            xsltGenericDebug(xsltGenericDebugContext,
                "Found xalan:write extension\n");
 #endif
@@ -1064,7 +1071,7 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
                             (const xmlChar *)"href",
                             XSLT_XT_NAMESPACE);
            if (filename == NULL) {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
                xsltGenericDebug(xsltGenericDebugContext,
                    "Found xslt11:document construct\n");
 #endif
@@ -1073,7 +1080,7 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
                                 XSLT_NAMESPACE);
                comp->ver11 = 1;
            } else {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
                xsltGenericDebug(xsltGenericDebugContext,
                    "Found xt:document extension\n");
 #endif
@@ -1141,7 +1148,7 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
        xsltGenericError(xsltGenericErrorContext,
            "xsltDocumentElem: unable to save to %s\n", filename);
     } else {
-#ifdef DEBUG_EXTRA
+#ifdef WITH_XSLT_DEBUG_EXTRA
        xsltGenericDebug(xsltGenericDebugContext,
            "Wrote %d bytes to %s\n", ret, , filename);
 #endif
@@ -1237,7 +1244,7 @@ xsltSort(xsltTransformContextPtr ctxt, xmlNodePtr node,
                if (res->type == XPATH_NUMBER) {
                    results[i] = res;
                } else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
                        "xsltSort: select didn't evaluate to a number\n");
 #endif
@@ -1247,7 +1254,7 @@ xsltSort(xsltTransformContextPtr ctxt, xmlNodePtr node,
                if (res->type == XPATH_STRING) {
                    results[i] = res;
                } else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
                        "xsltSort: select didn't evaluate to a string\n");
 #endif
@@ -1289,7 +1296,7 @@ xsltCopy(xsltTransformContextPtr ctxt, xmlNodePtr node,
            case XML_HTML_DOCUMENT_NODE:
                break;
            case XML_ELEMENT_NODE:
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                                 "xsl:copy: node %s\n", node->name);
 #endif
@@ -1300,7 +1307,7 @@ xsltCopy(xsltTransformContextPtr ctxt, xmlNodePtr node,
                }
                break;
            case XML_ATTRIBUTE_NODE: {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                                 "xsl:copy: attribute %s\n", node->name);
 #endif
@@ -1363,7 +1370,8 @@ xsltText(xsltTransformContextPtr ctxt, xmlNodePtr node ATTRIBUTE_UNUSED,
     xmlNodePtr copy;
 
     if (inst->children != NULL) {
-       if ((inst->children->type != XML_TEXT_NODE) ||
+       if (((inst->children->type != XML_TEXT_NODE) &&
+            (inst->children->type != XML_CDATA_SECTION_NODE)) ||
            (inst->children->next != NULL)) {
            xsltGenericError(xsltGenericErrorContext,
                 "xslt:text has content problem !\n");
@@ -1372,7 +1380,7 @@ xsltText(xsltTransformContextPtr ctxt, xmlNodePtr node ATTRIBUTE_UNUSED,
            
            copy = xmlNewDocText(ctxt->output, text->content);
            if (comp->noescape) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                xsltGenericDebug(xsltGenericDebugContext,
                     "Disable escaping: %s\n", text->content);
 #endif
@@ -1444,7 +1452,7 @@ xsltElement(xsltTransformContextPtr ctxt, xmlNodePtr node,
        } else {
            if (prefix != NULL) {
                if (!xmlStrncasecmp(prefix, (xmlChar *)"xml", 3)) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                    xsltGenericDebug(xsltGenericDebugContext,
                         "xslt:element : xml prefix forbidden\n");
 #endif
@@ -1559,7 +1567,7 @@ xsltAttribute(xsltTransformContextPtr ctxt, xmlNodePtr node,
        name = ncname;
     }
     if (!xmlStrncasecmp(prefix, (xmlChar *)"xml", 3)) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
             "xslt:attribute : xml prefix forbidden\n");
 #endif
@@ -1633,7 +1641,7 @@ xsltComment(xsltTransformContextPtr ctxt, xmlNodePtr node,
     value = xsltEvalTemplateString(ctxt, node, inst);
     /* TODO: use or generate the compiled form */
     /* TODO: check that there is no -- sequence and doesn't end up with - */
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     if (value == NULL)
        xsltGenericDebug(xsltGenericDebugContext,
             "xsl:comment: empty\n");
@@ -1687,7 +1695,7 @@ xsltProcessingInstruction(xsltTransformContextPtr ctxt, xmlNodePtr node,
 
     value = xsltEvalTemplateString(ctxt, node, inst);
     /* TODO: check that there is no ?> sequence */
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     if (value == NULL)
        xsltGenericDebug(xsltGenericDebugContext,
             "xsl:processing-instruction: %s empty\n", ncname);
@@ -1734,7 +1742,7 @@ xsltCopyOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
        if (comp->comp == NULL)
            return;
     }
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltCopyOf: select %s\n", comp->select);
 #endif
@@ -1790,7 +1798,7 @@ xsltCopyOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
                xsltGenericError(xsltGenericErrorContext,
                    "xsltCopyOf: text copy failed\n");
            }
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            else
                xsltGenericDebug(xsltGenericDebugContext,
                     "xslcopyOf: result %s\n", res->stringval);
@@ -1829,7 +1837,7 @@ xsltValueOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
            return;
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltValueOf: select %s\n", comp->select);
 #endif
@@ -1858,7 +1866,7 @@ xsltValueOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
        xsltGenericError(xsltGenericErrorContext,
            "xsltDefaultProcessOneNode: text copy failed\n");
     }
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     else
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltValueOf: result %s\n", res->stringval);
@@ -2010,7 +2018,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
     if ((ctxt == NULL) || (node == NULL) || (inst == NULL) || (comp == NULL))
        return;
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltApplyTemplates: node: %s\n", node->name);
 #endif
@@ -2030,7 +2038,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
            if (comp->comp == NULL)
                goto error;
        }
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
             "xsltApplyTemplates: select %s\n", comp->select);
 #endif
@@ -2052,7 +2060,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
             }
        }
        if (list == NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            xsltGenericDebug(xsltGenericDebugContext,
                "xsltApplyTemplates: select didn't evaluate to a node list\n");
 #endif
@@ -2089,7 +2097,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
                    xmlXPathNodeSetAdd(list, cur);
                    break;
                default:
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                    xsltGenericDebug(xsltGenericDebugContext,
                     "xsltApplyTemplates: skipping cur type %d\n",
                                     cur->type);
@@ -2098,7 +2106,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
            }
            cur = cur->next;
            if (delete != NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                     "xsltApplyTemplates: removing ignorable blank cur\n");
 #endif
@@ -2109,7 +2117,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
        }
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     if (list != NULL)
     xsltGenericDebug(xsltGenericDebugContext,
        "xsltApplyTemplates: list of %d nodes\n", list->nodeNr);
@@ -2238,7 +2246,7 @@ xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr node,
                 "xsl:when: test is not defined\n");
            return;
        }
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
             "xsl:when: test %s\n", prop);
 #endif
@@ -2261,7 +2269,7 @@ xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr node,
            if (res->type == XPATH_BOOLEAN)
                doit = res->boolval;
            else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
                xsltGenericDebug(xsltGenericDebugContext,
                    "xsl:when: test didn't evaluate to a boolean\n");
 #endif
@@ -2269,7 +2277,7 @@ xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr node,
            }
        }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
            "xsl:when: test evaluate to %d\n", doit);
 #endif
@@ -2294,7 +2302,7 @@ xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr node,
        replacement = replacement->next;
     }
     if (replacement != NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
            "xsl:otherwise: applying default fallback\n");
 #endif
@@ -2342,7 +2350,7 @@ xsltIf(xsltTransformContextPtr ctxt, xmlNodePtr node,
            return;
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltIf: test %s\n", comp->test);
 #endif
@@ -2361,7 +2369,7 @@ xsltIf(xsltTransformContextPtr ctxt, xmlNodePtr node,
        if (res->type == XPATH_BOOLEAN)
            doit = res->boolval;
        else {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
            xsltGenericDebug(xsltGenericDebugContext,
                "xsltIf: test didn't evaluate to a boolean\n");
 #endif
@@ -2369,7 +2377,7 @@ xsltIf(xsltTransformContextPtr ctxt, xmlNodePtr node,
        }
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
        "xsltIf: test evaluate to %d\n", doit);
 #endif
@@ -2418,7 +2426,7 @@ xsltForEach(xsltTransformContextPtr ctxt, xmlNodePtr node,
            return;
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
         "xsltForEach: select %s\n", comp->select);
 #endif
@@ -2436,14 +2444,14 @@ xsltForEach(xsltTransformContextPtr ctxt, xmlNodePtr node,
            list = res->nodesetval;
     }
     if (list == NULL) {
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
        xsltGenericDebug(xsltGenericDebugContext,
            "xsltForEach: select didn't evaluate to a node list\n");
 #endif
        goto error;
     }
 
-#ifdef DEBUG_PROCESS
+#ifdef WITH_XSLT_DEBUG_PROCESS
     xsltGenericDebug(xsltGenericDebugContext,
        "xsltForEach: select evaluate to %d nodes\n", list->nodeNr);
 #endif
index 1e5c9e3..8730de5 100644 (file)
@@ -29,7 +29,9 @@
 #include "transform.h"
 #include "imports.h"
 
-#define DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_VARIABLE
+#endif
 
 /************************************************************************
  *                                                                     *
@@ -248,7 +250,7 @@ int oldProximityPosition, oldContextSize;
     if ((ctxt == NULL) || (elem == NULL))
        return(-1);
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Evaluating variable %s\n", elem->name);
 #endif
@@ -273,7 +275,7 @@ int oldProximityPosition, oldContextSize;
            xsltGenericError(xsltGenericErrorContext,
                "Evaluating variable %s failed\n", elem->name);
        } else {
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
 #ifdef LIBXML_DEBUG_ENABLED
            if ((xsltGenericDebugContext == stdout) ||
                (xsltGenericDebugContext == stderr))
@@ -314,7 +316,7 @@ int oldProximityPosition, oldContextSize;
            if (elem->value == NULL) {
                elem->value = xmlXPathNewCString("");
            }
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
 #ifdef LIBXML_DEBUG_ENABLED
            if ((xsltGenericDebugContext == stdout) ||
                (xsltGenericDebugContext == stderr))
@@ -345,7 +347,7 @@ xsltEvalGlobalVariables(xsltTransformContextPtr ctxt) {
     if (ctxt == NULL)
        return(-1);
  
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Evaluating global variables\n");
 #endif
@@ -390,7 +392,7 @@ xsltRegisterGlobalVariable(xsltStylesheetPtr style, const xmlChar *name,
     if (name == NULL)
        return(-1);
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     if (param)
        xsltGenericDebug(xsltGenericDebugContext,
                         "Defining global param %s\n", name);
@@ -449,7 +451,7 @@ xsltEvalUserParams(xsltTransformContextPtr ctxt, const char **params) {
        if ((name == NULL) || (value == NULL))
            break;
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        xsltGenericDebug(xsltGenericDebugContext,
            "Evaluating user parameter %s=%s\n", name, value);
 #endif
@@ -505,7 +507,7 @@ xsltBuildVariable(xsltTransformContextPtr ctxt, const xmlChar *name,
     if (name == NULL)
        return(NULL);
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
                     "Building variable %s", name);
     if (select != NULL)
@@ -560,7 +562,7 @@ xsltRegisterVariable(xsltTransformContextPtr ctxt, const xmlChar *name,
            xsltGenericError(xsltGenericErrorContext,
            "xsl:variable : redefining %s\n", name);
        }
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        else
            xsltGenericDebug(xsltGenericDebugContext,
                     "param %s defined by caller", name);
@@ -615,7 +617,7 @@ xsltGlobalVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
        return(NULL);
 
     if (!elem->computed) {
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        xsltGenericDebug(xsltGenericDebugContext,
                         "uncomputed global variable %s\n", name);
 #endif
@@ -623,7 +625,7 @@ xsltGlobalVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
     }
     if (elem->value != NULL)
        return(xmlXPathObjectCopy(elem->value));
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
                     "global variable not found %s\n", name);
 #endif
@@ -654,7 +656,7 @@ xsltVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
        return(xsltGlobalVariableLookup(ctxt, name, ns_uri));
     }
     if (!elem->computed) {
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        xsltGenericDebug(xsltGenericDebugContext,
                         "uncomputed variable %s\n", name);
 #endif
@@ -662,7 +664,7 @@ xsltVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
     }
     if (elem->value != NULL)
        return(xmlXPathObjectCopy(elem->value));
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
                     "variable not found %s\n", name);
 #endif
@@ -697,7 +699,7 @@ xsltParseStylesheetCallerParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
        return(NULL);
     }
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Parsing param %s\n", name);
 #endif
@@ -706,7 +708,7 @@ xsltParseStylesheetCallerParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
     if (select == NULL) {
        tree = cur->children;
     } else {
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        xsltGenericDebug(xsltGenericDebugContext,
            "        select %s\n", select);
 #endif
@@ -769,7 +771,7 @@ xsltParseStylesheetParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
        return;
     }
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Parsing param %s\n", name);
 #endif
@@ -778,7 +780,7 @@ xsltParseStylesheetParam(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
     if (select == NULL) {
        tree = cur->children;
     } else {
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
        xsltGenericDebug(xsltGenericDebugContext,
            "        select %s\n", select);
 #endif
@@ -840,7 +842,7 @@ xsltParseGlobalVariable(xsltStylesheetPtr style, xmlNodePtr cur) {
        return;
     }
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Parsing global variable %s\n", name);
 #endif
@@ -909,7 +911,7 @@ xsltParseGlobalParam(xsltStylesheetPtr style, xmlNodePtr cur) {
        return;
     }
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Parsing global param %s\n", name);
 #endif
@@ -977,7 +979,7 @@ xsltParseStylesheetVariable(xsltTransformContextPtr ctxt, xmlNodePtr cur) {
        return;
     }
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
        "Parsing variable %s\n", name);
 #endif
@@ -1039,7 +1041,7 @@ xsltXPathVariableLookup(void *ctxt, const xmlChar *name,
     if ((ctxt == NULL) || (name == NULL))
        return(NULL);
 
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     xsltGenericDebug(xsltGenericDebugContext,
            "Lookup variable %s\n", name);
 #endif
@@ -1049,7 +1051,7 @@ xsltXPathVariableLookup(void *ctxt, const xmlChar *name,
        xsltGenericError(xsltGenericErrorContext,
            "unregistered variable %s\n", name);
     }
-#ifdef DEBUG_VARIABLE
+#ifdef WITH_XSLT_DEBUG_VARIABLE
     if (ret != NULL)
        xsltGenericDebug(xsltGenericDebugContext,
            "found variable %s\n", name);
index 845db24..1ba7106 100644 (file)
 #include "documents.h"
 #include "extensions.h"
 
-#define DEBUG_PARSING
-/* #define DEBUG_BLANKS */
+#ifdef WITH_XSLT_DEBUG
+#define WITH_XSLT_DEBUG_PARSING
+/* #define WITH_XSLT_DEBUG_BLANKS */
+#endif
 
 /*
  * Useful macros
@@ -466,7 +468,7 @@ xsltParseStylesheetOutput(xsltStylesheetPtr style, xmlNodePtr cur) {
            while ((*end != 0) && (!IS_BLANK(*end))) end++;
            element = xmlStrndup(element, end - element);
            if (element) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                xsltGenericDebug(xsltGenericDebugContext,
                    "add cdata section output element %s\n", element);
 #endif
@@ -620,7 +622,7 @@ xsltParseStylesheetPreserveSpace(xsltStylesheetPtr style, xmlNodePtr cur) {
        while ((*end != 0) && (!IS_BLANK(*end))) end++;
        element = xmlStrndup(element, end - element);
        if (element) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
            xsltGenericDebug(xsltGenericDebugContext,
                "add preserved space element %s\n", element);
 #endif
@@ -680,7 +682,7 @@ xsltParseStylesheetExtPrefix(xsltStylesheetPtr style, xmlNodePtr cur) {
            "xsl:extension-element-prefix : undefined namespace %s\n",
                                 prefix);
            } else {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                xsltGenericDebug(xsltGenericDebugContext,
                    "add extension prefix %s\n", prefix);
 #endif
@@ -731,7 +733,7 @@ xsltParseStylesheetStripSpace(xsltStylesheetPtr style, xmlNodePtr cur) {
        while ((*end != 0) && (!IS_BLANK(*end))) end++;
        element = xmlStrndup(element, end - element);
        if (element) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
            xsltGenericDebug(xsltGenericDebugContext,
                "add stripped space element %s\n", element);
 #endif
@@ -771,7 +773,7 @@ xsltParseRemoveBlanks(xsltStylesheetPtr style) {
     delete = NULL;
     while (cur != NULL) {
        if (delete != NULL) {
-#ifdef DEBUG_BLANKS
+#ifdef WITH_XSLT_DEBUG_BLANKS
            xsltGenericDebug(xsltGenericDebugContext,
             "xsltParseRemoveBlanks: removing ignorable blank node\n");
 #endif
@@ -823,7 +825,7 @@ skip_children:
        } while (cur != NULL);
     }
     if (delete != NULL) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
         "xsltParseRemoveBlanks: removing ignorable blank node\n");
 #endif
@@ -873,7 +875,7 @@ xsltGatherNamespaces(xsltStylesheetPtr style) {
                        xmlHashUpdateEntry(style->nsHash, ns->prefix,
                            (void *) ns->href, (xmlHashDeallocator)xmlFree);
 
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                        xsltGenericDebug(xsltGenericDebugContext,
                 "Added namespace: %s mapped to %s\n", ns->prefix, ns->href);
 #endif
@@ -938,7 +940,7 @@ xsltParseTemplateContent(xsltStylesheetPtr style, xsltTemplatePtr ret,
     delete = NULL;
     while (cur != NULL) {
        if (delete != NULL) {
-#ifdef DEBUG_BLANKS
+#ifdef WITH_XSLT_DEBUG_BLANKS
            xsltGenericDebug(xsltGenericDebugContext,
             "xsltParseTemplateContent: removing text\n");
 #endif
@@ -949,10 +951,11 @@ xsltParseTemplateContent(xsltStylesheetPtr style, xsltTemplatePtr ret,
        if (IS_XSLT_ELEM(cur)) {
            if (IS_XSLT_NAME(cur, "text")) {
                if (cur->children != NULL) {
-                   if ((cur->children->type != XML_TEXT_NODE) ||
+                   if (((cur->children->type != XML_TEXT_NODE) &&
+                        (cur->children->type != XML_CDATA_SECTION_NODE)) ||
                        (cur->children->next != NULL)) {
                        xsltGenericError(xsltGenericErrorContext,
-            "xsltParseStylesheetTemplate: xslt:text content problem\n");
+            "xsltParseTemplateContent: xslt:text content problem\n");
                    } else {
                        xmlChar *prop;
                        xmlNodePtr text = cur->children;
@@ -961,7 +964,7 @@ xsltParseTemplateContent(xsltStylesheetPtr style, xsltTemplatePtr ret,
                                (const xmlChar *)"disable-output-escaping",
                                            XSLT_NAMESPACE);
                        if (prop != NULL) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
                            xsltGenericDebug(xsltGenericDebugContext,
                                 "Disable escaping: %s\n", text->content);
 #endif
@@ -1021,7 +1024,7 @@ skip_children:
        } while (cur != NULL);
     }
     if (delete != NULL) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
         "xsltParseStylesheetTemplate: removing text\n");
 #endif
@@ -1113,7 +1116,7 @@ xsltParseStylesheetKey(xsltStylesheetPtr style, xmlNodePtr key) {
            name = prop;
            nameURI = NULL;
        }
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
             "xslt:key: name %s\n", name);
 #endif
@@ -1215,7 +1218,7 @@ xsltParseStylesheetTemplate(xsltStylesheetPtr style, xmlNodePtr template) {
            mode = prop;
            modeURI = NULL;
        }
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
             "xslt:template: mode %s\n", mode);
 #endif
@@ -1297,7 +1300,7 @@ static void
 xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
     xmlNodePtr cur;
     xmlChar *prop;
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
     int templates = 0;
 #endif
 
@@ -1327,7 +1330,7 @@ xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
            continue;
        }
        if (!(IS_XSLT_ELEM(cur))) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
            xsltGenericDebug(xsltGenericDebugContext,
                    "xsltParseStylesheetTop : found foreign element %s\n",
                    cur->name);
@@ -1343,7 +1346,7 @@ xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
     }
     while (cur != NULL) {
        if (!(IS_XSLT_ELEM(cur))) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
            xsltGenericDebug(xsltGenericDebugContext,
                    "xsltParseStylesheetTop : found foreign element %s\n",
                    cur->name);
@@ -1373,7 +1376,7 @@ xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
         } else if (IS_XSLT_NAME(cur, "param")) {
            xsltParseGlobalParam(style, cur);
         } else if (IS_XSLT_NAME(cur, "template")) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
            templates++;
 #endif
            xsltParseStylesheetTemplate(style, cur);
@@ -1386,7 +1389,7 @@ xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
        }
        cur = cur->next;
     }
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
     xsltGenericDebug(xsltGenericDebugContext,
                    "parsed %d templates\n", templates);
 #endif
@@ -1428,7 +1431,7 @@ xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc) {
     if ((IS_XSLT_ELEM(cur)) && 
        ((IS_XSLT_NAME(cur, "stylesheet")) ||
         (IS_XSLT_NAME(cur, "transform")))) {
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
        xsltGenericDebug(xsltGenericDebugContext,
                "xsltParseStylesheetProcess : found stylesheet\n");
 #endif
@@ -1449,7 +1452,7 @@ xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc) {
            return(NULL);
        }
 
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
         xsltGenericDebug(xsltGenericDebugContext,
                "xsltParseStylesheetProcess : document is stylesheet\n");
 #endif
@@ -1528,7 +1531,7 @@ xsltParseStylesheetFile(const xmlChar* filename) {
     if (filename == NULL)
        return(NULL);
 
-#ifdef DEBUG_PARSING
+#ifdef WITH_XSLT_DEBUG_PARSING
     xsltGenericDebug(xsltGenericDebugContext,
            "xsltParseStylesheetFile : parse %s\n", filename);
 #endif
index 9d21a81..cc4a8c8 100644 (file)
 extern "C" {
 #endif
 
+#if @WITH_XSLT_DEBUG@
+#define WITH_XSLT_DEBUG
+#endif
+
 #if @WITH_MEM_DEBUG@
 #define DEBUG_MEMORY
 #define DEBUG_MEMORY_LOCATION
index 7c024f6..b6f05a3 100644 (file)
@@ -1,16 +1,16 @@
 <!DOCTYPE HTML PUBLIC "http://www.w3.org/TR/REC-html40/loose.dtd" "-//W3C//DTD HTML 4.0 Transitional//EN">
 
   <measurement unit="in">12362180</measurement>
-  <measurement unit="ft">521.647199999</measurement>
+  <measurement unit="ft">521.6472</measurement>
   <measurement unit="yd">276683.33</measurement>
-  <measurement unit="mi">0.000136701399</measurement>
-  <measurement unit="in">1.275587996</measurement>
+  <measurement unit="mi">0.0001367014</measurement>
+  <measurement unit="in">1.275588</measurement>
   <measurement unit="ft">1332004.8</measurement>
-  <measurement unit="yd">95012.388419899</measurement>
+  <measurement unit="yd">95012.3884199</measurement>
   <measurement unit="mi">0.00250598521</measurement>
   <measurement unit="in">39370</measurement>
   <measurement unit="ft">8.612395272</measurement>
-  <measurement unit="yd">0.0470252298</measurement>
-  <measurement unit="mi">0.0000893530059</measurement>
+  <measurement unit="yd">0.04702523</measurement>
+  <measurement unit="mi">0.000089353006</measurement>
   <measurement unit="in">3031490</measurement>
 
diff --git a/tests/docs/bug-9-.xml b/tests/docs/bug-9-.xml
new file mode 100644 (file)
index 0000000..f381066
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version= "1.0"?>
+<doc/>
+
index d849c28..b1d9e89 100644 (file)
@@ -29,9 +29,9 @@ ACT
 PROD
 "/><tr class="
 PROD
-"><td>Orange</td><td>Proj. Rev: 1743250</td><td>Actual Rev: 10695.229999999</td></tr><tr class="
+"><td>Orange</td><td>Proj. Rev: 1743250</td><td>Actual Rev: 10695.23</td></tr><tr class="
 ACT
-"><td>PICK</td><td>Proj. Rev: 1159000</td><td>Act. Rev: 9964.479999999</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 229</td><td>Proj. Rev: 0</td><td>Act. Rev: 8300</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>34</td><td>0</td><td>1420</td></tr><tr><td>Almond</td><td>1</td><td>0</td><td>25</td></tr><tr><td>Birch</td><td>8</td><td>0</td><td>300</td></tr><tr><td>Elm</td><td>186</td><td>0</td><td>6555</td></tr><tr class="NR"/></table></td><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 284</td><td>Proj. Rev: 1159000</td><td>Act. Rev: 1664.479999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>36</td><td>171000</td><td>221.3</td></tr><tr><td>Elm</td><td>240</td><td>950000</td><td>1412.34</td></tr><tr><td>Birch</td><td>8</td><td>38000</td><td>30.84</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>PICK</td><td>Proj. Rev: 1159000</td><td>Act. Rev: 9964.48</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 229</td><td>Proj. Rev: 0</td><td>Act. Rev: 8300</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>34</td><td>0</td><td>1420</td></tr><tr><td>Almond</td><td>1</td><td>0</td><td>25</td></tr><tr><td>Birch</td><td>8</td><td>0</td><td>300</td></tr><tr><td>Elm</td><td>186</td><td>0</td><td>6555</td></tr><tr class="NR"/></table></td><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 284</td><td>Proj. Rev: 1159000</td><td>Act. Rev: 1664.48</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>36</td><td>171000</td><td>221.3</td></tr><tr><td>Elm</td><td>240</td><td>950000</td><td>1412.34</td></tr><tr><td>Birch</td><td>8</td><td>38000</td><td>30.84</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 ACT
@@ -39,7 +39,7 @@ ACT
 ACT
 "/><tr class="
 ACT
-"><td>SQUEEZE</td><td>Proj. Rev: 584250</td><td>Act. Rev: 730.749999999</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 123</td><td>Proj. Rev: 584250</td><td>Act. Rev: 730.749999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>36</td><td>171000</td><td>221.3</td></tr><tr><td>Elm</td><td>80</td><td>380000</td><td>470.78</td></tr><tr><td>Birch</td><td>4</td><td>19000</td><td>15.42</td></tr><tr><td>Almond</td><td>3</td><td>14250</td><td>23.25</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>SQUEEZE</td><td>Proj. Rev: 584250</td><td>Act. Rev: 730.75</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 123</td><td>Proj. Rev: 584250</td><td>Act. Rev: 730.75</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>36</td><td>171000</td><td>221.3</td></tr><tr><td>Elm</td><td>80</td><td>380000</td><td>470.78</td></tr><tr><td>Birch</td><td>4</td><td>19000</td><td>15.42</td></tr><tr><td>Almond</td><td>3</td><td>14250</td><td>23.25</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 PROD
@@ -65,7 +65,7 @@ ACT
 PROD
 "/><tr class="
 PROD
-"><td>Pineapple</td><td>Proj. Rev: 36250</td><td>Actual Rev: 73.129999999</td></tr><tr class="
+"><td>Pineapple</td><td>Proj. Rev: 36250</td><td>Actual Rev: 73.13</td></tr><tr class="
 ACT
 "><td>PICK</td><td>Proj. Rev: 23750</td><td>Act. Rev: 68.75</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 1</td><td>Proj. Rev: 0</td><td>Act. Rev: 50</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>1</td><td>0</td><td>50</td></tr><tr class="NR"/></table></td><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 3</td><td>Proj. Rev: 23750</td><td>Act. Rev: 18.75</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>2</td><td>17500</td><td>8.75</td></tr><tr><td>Birch</td><td>1</td><td>6250</td><td>10</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
@@ -75,7 +75,7 @@ ACT
 ACT
 "/><tr class="
 ACT
-"><td>SQUEEZE</td><td>Proj. Rev: 12500</td><td>Act. Rev: 4.379999999</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 2</td><td>Proj. Rev: 12500</td><td>Act. Rev: 4.379999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Elm</td><td>2</td><td>12500</td><td>4.38</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>SQUEEZE</td><td>Proj. Rev: 12500</td><td>Act. Rev: 4.38</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 2</td><td>Proj. Rev: 12500</td><td>Act. Rev: 4.38</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Elm</td><td>2</td><td>12500</td><td>4.38</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 PROD
@@ -89,9 +89,9 @@ ACT
 PROD
 "/><tr class="
 PROD
-"><td>Guava</td><td>Proj. Rev: 14995</td><td>Actual Rev: -19.489999999</td></tr><tr class="
+"><td>Guava</td><td>Proj. Rev: 14995</td><td>Actual Rev: -19.49</td></tr><tr class="
 ACT
-"><td>SQUEEZE</td><td>Proj. Rev: 14995</td><td>Act. Rev: -19.489999999</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 1</td><td>Proj. Rev: 14995</td><td>Act. Rev: -19.489999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>1</td><td>14995</td><td>-19.49</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>SQUEEZE</td><td>Proj. Rev: 14995</td><td>Act. Rev: -19.49</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 1</td><td>Proj. Rev: 14995</td><td>Act. Rev: -19.49</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Pine</td><td>1</td><td>14995</td><td>-19.49</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 PROD
@@ -105,13 +105,13 @@ ACT
 PROD
 "/><tr class="
 PROD
-"><td>Raisin</td><td>Proj. Rev: 299925</td><td>Actual Rev: 227.949999999</td></tr><tr class="
+"><td>Raisin</td><td>Proj. Rev: 299925</td><td>Actual Rev: 227.95</td></tr><tr class="
 ACT
 "><td>EAT</td><td>Proj. Rev: 0</td><td>Act. Rev: 0</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 17</td><td>Proj. Rev: 0</td><td>Act. Rev: 0</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>17</td><td>0</td><td>0</td></tr><tr class="NR"/></table></td><td valign="top"/></tr><tr class="
 ACT
 "/><tr class="
 ACT
-"><td>SQUEEZE</td><td>Proj. Rev: 299925</td><td>Act. Rev: 227.949999999</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 15</td><td>Proj. Rev: 299925</td><td>Act. Rev: 227.949999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>15</td><td>299925</td><td>227.95</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>SQUEEZE</td><td>Proj. Rev: 299925</td><td>Act. Rev: 227.95</td></tr><tr><td valign="top"/><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 15</td><td>Proj. Rev: 299925</td><td>Act. Rev: 227.95</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>15</td><td>299925</td><td>227.95</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 PROD
@@ -119,7 +119,7 @@ PROD
 PROD
 "><td>Fig</td><td>Proj. Rev: 74990</td><td>Actual Rev: 136.24</td></tr><tr class="
 ACT
-"><td>PICK</td><td>Proj. Rev: 74990</td><td>Act. Rev: 136.24</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 1</td><td>Proj. Rev: 0</td><td>Act. Rev: 50</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>1</td><td>0</td><td>50</td></tr><tr class="NR"/></table></td><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 2</td><td>Proj. Rev: 74990</td><td>Act. Rev: 86.239999999</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>2</td><td>74990</td><td>86.24</td></tr><tr class="RC"/></table></td></tr><tr class="
+"><td>PICK</td><td>Proj. Rev: 74990</td><td>Act. Rev: 136.24</td></tr><tr><td valign="top"><table><tr class="NR"><td>Non-Recurring</td><td>Number: 1</td><td>Proj. Rev: 0</td><td>Act. Rev: 50</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>1</td><td>0</td><td>50</td></tr><tr class="NR"/></table></td><td valign="top"><table><tr class="RC"><td>Recurring</td><td>Number: 2</td><td>Proj. Rev: 74990</td><td>Act. Rev: 86.24</td></tr><tr><td>Segment</td><td>Number</td><td>Proj. Rev</td><td>Act. Rev</td></tr><tr><td>Oak</td><td>2</td><td>74990</td><td>86.24</td></tr><tr class="RC"/></table></td></tr><tr class="
 ACT
 "/><tr class="
 PROD
diff --git a/tests/general/bug-9-.xsl b/tests/general/bug-9-.xsl
new file mode 100644 (file)
index 0000000..115ef54
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version= "1.0"?>
+                            
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  
+<xsl:template match="/">
+<xsl:processing-instruction name="php">Success</xsl:processing-instruction>
+</xsl:template>
+  
+</xsl:stylesheet>