summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--NEWS10
-rw-r--r--configure.in6
-rw-r--r--doc/html/index.sgml1
-rw-r--r--doc/html/libxslt-numbersinternals.html16
-rw-r--r--doc/html/libxslt-xsltinternals.html242
-rw-r--r--doc/libxslt-decl.txt21
-rw-r--r--doc/libxslt-sections.txt1
-rw-r--r--doc/news.html10
-rw-r--r--doc/python.html8
-rw-r--r--doc/xslt.html19
-rw-r--r--libxslt.spec.in12
-rw-r--r--libxslt/pattern.c9
-rw-r--r--libxslt/transform.c22
-rw-r--r--libxslt/variables.c28
15 files changed, 275 insertions, 139 deletions
diff --git a/ChangeLog b/ChangeLog
index 921dcddc..2d37e894 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Mon Mar 24 22:30:00 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+ * libxslt/pattern.c libxslt/transform.c libxslt/variables.c:
+ Result Value Tree are now generated with a document root node
+ not an element, it's quite cleaner.
+ * configure.in libxslt.spec.in NEWS: But this requires libxml2-2.5.5
+ also prepared for libxslt-1.0.28 release
+ * doc/*: updated and regenerated the docs
+
Mon Mar 24 15:01:07 CET 2003 Daniel Veillard <daniel@veillard.com>
* libxslt/pattern.c libxslt/transform.c libxslt/variables.c:
diff --git a/NEWS b/NEWS
index c3efb119..0b2106e1 100644
--- a/NEWS
+++ b/NEWS
@@ -11,10 +11,18 @@ http://cvs.gnome.org/lxr/source/libxslt/ChangeLog
file
for a really accurate description:
+1.0.28: Mar 24 2003:
+ - fixed node() in patterns semantic.
+ - fixed a memory access problem in format-number()
+ - fixed stack overflow in recursive global variable or params
+ - cleaned up Result Value Tree handling, and fixed a couple of old bugs
+ in the process
+
+
1.0.27: Feb 24 2003:
- bug fixes: spurious xmlns:nsX="" generation, serialization bug (in
libxml2), a namespace copy problem, errors in the RPM spec prereqs
- - Windows path canonicalization and document cache fix (Igor)
+ - Windows path canonicalization and document cache fix (Igor)
1.0.26: Feb 10 2003:
diff --git a/configure.in b/configure.in
index 139322a0..78c5adf5 100644
--- a/configure.in
+++ b/configure.in
@@ -6,12 +6,12 @@ dnl libexslt is an extension
dnl
LIBXSLT_MAJOR_VERSION=1
LIBXSLT_MINOR_VERSION=0
-LIBXSLT_MICRO_VERSION=27
+LIBXSLT_MICRO_VERSION=28
PACKAGE=libxslt
LIBEXSLT_MAJOR_VERSION=0
LIBEXSLT_MINOR_VERSION=7
-LIBEXSLT_MICRO_VERSION=18
-LIBXML_REQUIRED_VERSION=2.5.2
+LIBEXSLT_MICRO_VERSION=19
+LIBXML_REQUIRED_VERSION=2.5.5
LIBXSLT_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION.$LIBXSLT_MICRO_VERSION
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 4dc35abb..59825038 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -232,6 +232,7 @@
<ANCHOR id ="XSLTPARSESTYLESHEETPROCESS" href="libxslt/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETPROCESS">
<ANCHOR id ="XSLTPARSESTYLESHEETOUTPUT" href="libxslt/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETOUTPUT">
<ANCHOR id ="XSLTPARSESTYLESHEETDOC" href="libxslt/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETDOC">
+<ANCHOR id ="XSLTPARSESTYLESHEETIMPORTEDDOC" href="libxslt/libxslt-xsltinternals.html#XSLTPARSESTYLESHEETIMPORTEDDOC">
<ANCHOR id ="XSLTLOADSTYLESHEETPI" href="libxslt/libxslt-xsltinternals.html#XSLTLOADSTYLESHEETPI">
<ANCHOR id ="XSLTNUMBERFORMAT" href="libxslt/libxslt-xsltinternals.html#XSLTNUMBERFORMAT">
<ANCHOR id ="XSLTFORMATNUMBERCONVERSION" href="libxslt/libxslt-xsltinternals.html#XSLTFORMATNUMBERCONVERSION">
diff --git a/doc/html/libxslt-numbersinternals.html b/doc/html/libxslt-numbersinternals.html
index b8592399..14ea3115 100644
--- a/doc/html/libxslt-numbersinternals.html
+++ b/doc/html/libxslt-numbersinternals.html
@@ -111,7 +111,7 @@ NAME="LIBXSLT-NUMBERSINTERNALS"
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN6015"
+NAME="AEN6039"
></A
><H2
>Name</H2
@@ -119,7 +119,7 @@ NAME="AEN6015"
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN6018"
+NAME="AEN6042"
></A
><H2
>Synopsis</H2
@@ -157,7 +157,7 @@ HREF="libxslt-numbersinternals.html#XSLTFORMATNUMBERINFOPTR"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN6025"
+NAME="AEN6049"
></A
><H2
>Description</H2
@@ -167,14 +167,14 @@ NAME="AEN6025"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN6028"
+NAME="AEN6052"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6030"
+NAME="AEN6054"
></A
><H3
><A
@@ -214,7 +214,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6036"
+NAME="AEN6060"
></A
><H3
><A
@@ -240,7 +240,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6041"
+NAME="AEN6065"
></A
><H3
><A
@@ -278,7 +278,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6047"
+NAME="AEN6071"
></A
><H3
><A
diff --git a/doc/html/libxslt-xsltinternals.html b/doc/html/libxslt-xsltinternals.html
index d6c62088..ea9cc348 100644
--- a/doc/html/libxslt-xsltinternals.html
+++ b/doc/html/libxslt-xsltinternals.html
@@ -393,6 +393,17 @@ HREF="XMLDOCPTR"
HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
>xsltStylesheetPtr</A
> <A
+HREF="libxslt-xsltinternals.html#XSLTPARSESTYLESHEETIMPORTEDDOC"
+>xsltParseStylesheetImportedDoc</A
+>
+ (<GTKDOCLINK
+HREF="XMLDOCPTR"
+>xmlDocPtr</GTKDOCLINK
+> doc);
+<A
+HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
+>xsltStylesheetPtr</A
+> <A
HREF="libxslt-xsltinternals.html#XSLTLOADSTYLESHEETPI"
>xsltLoadStylesheetPI</A
> (<GTKDOCLINK
@@ -468,7 +479,7 @@ HREF="libxslt-xsltinternals.html#XSLTTRANSFORMCONTEXTPTR"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN5396"
+NAME="AEN5399"
></A
><H2
>Description</H2
@@ -478,14 +489,14 @@ NAME="AEN5396"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN5399"
+NAME="AEN5402"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5401"
+NAME="AEN5404"
></A
><H3
><A
@@ -513,7 +524,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5407"
+NAME="AEN5410"
></A
><H3
><A
@@ -541,7 +552,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5413"
+NAME="AEN5416"
></A
><H3
><A
@@ -573,7 +584,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5419"
+NAME="AEN5422"
></A
><H3
><A
@@ -599,7 +610,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5424"
+NAME="AEN5427"
></A
><H3
><A
@@ -626,7 +637,7 @@ CLASS="PROGRAMLISTING"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5430"
+NAME="AEN5433"
></A
><P
></P
@@ -681,7 +692,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5443"
+NAME="AEN5446"
></A
><H3
><A
@@ -708,7 +719,7 @@ CLASS="PROGRAMLISTING"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5449"
+NAME="AEN5452"
></A
><P
></P
@@ -763,7 +774,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5462"
+NAME="AEN5465"
></A
><H3
><A
@@ -790,7 +801,7 @@ CLASS="PROGRAMLISTING"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5468"
+NAME="AEN5471"
></A
><P
></P
@@ -845,7 +856,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5481"
+NAME="AEN5484"
></A
><H3
><A
@@ -891,7 +902,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5487"
+NAME="AEN5490"
></A
><H3
><A
@@ -917,7 +928,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5492"
+NAME="AEN5495"
></A
><H3
><A
@@ -961,7 +972,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5498"
+NAME="AEN5501"
></A
><H3
><A
@@ -987,7 +998,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5503"
+NAME="AEN5506"
></A
><H3
><A
@@ -1020,7 +1031,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5509"
+NAME="AEN5512"
></A
><H3
><A
@@ -1046,7 +1057,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5514"
+NAME="AEN5517"
></A
><H3
><A
@@ -1140,7 +1151,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5519"
+NAME="AEN5522"
></A
><H3
><A
@@ -1166,7 +1177,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5524"
+NAME="AEN5527"
></A
><H3
><A
@@ -1203,7 +1214,7 @@ designed to be extended by extension implementors.</P
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5530"
+NAME="AEN5533"
></A
><H3
><A
@@ -1229,7 +1240,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5535"
+NAME="AEN5538"
></A
><H3
><A
@@ -1272,7 +1283,7 @@ stylesheet language like xsl:if or xsl:apply-templates.</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5545"
+NAME="AEN5548"
></A
><P
></P
@@ -1361,7 +1372,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5566"
+NAME="AEN5569"
></A
><H3
><A
@@ -1396,7 +1407,7 @@ HREF="XMLNODEPTR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5574"
+NAME="AEN5577"
></A
><P
></P
@@ -1468,7 +1479,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5591"
+NAME="AEN5594"
></A
><H3
><A
@@ -1517,7 +1528,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5596"
+NAME="AEN5599"
></A
><H3
><A
@@ -1550,7 +1561,7 @@ HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMP"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5604"
+NAME="AEN5607"
></A
><P
></P
@@ -1591,7 +1602,7 @@ HREF="libxslt-xsltinternals.html#XSLTELEMPRECOMP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5614"
+NAME="AEN5617"
></A
><H3
><A
@@ -1669,7 +1680,7 @@ precomputed data.</P
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5620"
+NAME="AEN5623"
></A
><H3
><A
@@ -1695,7 +1706,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5625"
+NAME="AEN5628"
></A
><H3
><A
@@ -1730,7 +1741,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5630"
+NAME="AEN5633"
></A
><H3
><A
@@ -1756,7 +1767,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5635"
+NAME="AEN5638"
></A
><H3
><A
@@ -1880,7 +1891,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5640"
+NAME="AEN5643"
></A
><H3
><A
@@ -1906,7 +1917,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5645"
+NAME="AEN5648"
></A
><H3
><A
@@ -1936,7 +1947,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5650"
+NAME="AEN5653"
></A
><H3
><A
@@ -1966,7 +1977,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5655"
+NAME="AEN5658"
></A
><H3
><A
@@ -1995,7 +2006,7 @@ Will return from the function.</P
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5661"
+NAME="AEN5664"
></A
><H3
><A
@@ -2024,7 +2035,7 @@ Will goto the error: label.</P
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5667"
+NAME="AEN5670"
></A
><H3
><A
@@ -2053,7 +2064,7 @@ Will return from the function with a 0 value.</P
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5673"
+NAME="AEN5676"
></A
><H3
><A
@@ -2083,7 +2094,7 @@ HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5680"
+NAME="AEN5683"
></A
><P
></P
@@ -2122,7 +2133,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5689"
+NAME="AEN5692"
></A
><H3
><A
@@ -2155,7 +2166,7 @@ HREF="XMLCHAR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5697"
+NAME="AEN5700"
></A
><P
></P
@@ -2211,7 +2222,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5710"
+NAME="AEN5713"
></A
><H3
><A
@@ -2246,7 +2257,7 @@ CLASS="PARAMETER"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5718"
+NAME="AEN5721"
></A
><P
></P
@@ -2284,7 +2295,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5727"
+NAME="AEN5730"
></A
><H3
><A
@@ -2314,7 +2325,7 @@ HREF="XMLCHAR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5734"
+NAME="AEN5737"
></A
><P
></P
@@ -2370,7 +2381,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5747"
+NAME="AEN5750"
></A
><H3
><A
@@ -2405,7 +2416,7 @@ CLASS="PARAMETER"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5755"
+NAME="AEN5758"
></A
><P
></P
@@ -2443,7 +2454,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5764"
+NAME="AEN5767"
></A
><H3
><A
@@ -2481,7 +2492,7 @@ HREF="XMLCHAR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5773"
+NAME="AEN5776"
></A
><P
></P
@@ -2554,7 +2565,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5790"
+NAME="AEN5793"
></A
><H3
><A
@@ -2592,7 +2603,7 @@ HREF="XMLDOCPTR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5799"
+NAME="AEN5802"
></A
><P
></P
@@ -2666,7 +2677,7 @@ went right, NULL if something went amiss.</TD
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5816"
+NAME="AEN5819"
></A
><H3
><A
@@ -2701,7 +2712,7 @@ information related to the stylesheet output</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5824"
+NAME="AEN5827"
></A
><P
></P
@@ -2756,7 +2767,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5837"
+NAME="AEN5840"
></A
><H3
><A
@@ -2789,7 +2800,98 @@ HREF="XMLDOCPTR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5845"
+NAME="AEN5848"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> and xmlDoc parsed XML</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+></SPAN
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a new XSLT stylesheet structure.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5861"
+></A
+><H3
+><A
+NAME="XSLTPARSESTYLESHEETIMPORTEDDOC"
+></A
+>xsltParseStylesheetImportedDoc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxslt-xsltinternals.html#XSLTSTYLESHEETPTR"
+>xsltStylesheetPtr</A
+> xsltParseStylesheetImportedDoc
+ (<GTKDOCLINK
+HREF="XMLDOCPTR"
+>xmlDocPtr</GTKDOCLINK
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an XSLT stylesheet building the associated structures
+except the processing not needed for imported documents.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN5869"
></A
><P
></P
@@ -2845,7 +2947,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5858"
+NAME="AEN5882"
></A
><H3
><A
@@ -2889,7 +2991,7 @@ transformation is done.</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5867"
+NAME="AEN5891"
></A
><P
></P
@@ -2945,7 +3047,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5880"
+NAME="AEN5904"
></A
><H3
><A
@@ -2983,7 +3085,7 @@ HREF="XMLNODEPTR"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5889"
+NAME="AEN5913"
></A
><P
></P
@@ -3055,7 +3157,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5906"
+NAME="AEN5930"
></A
><H3
><A
@@ -3134,7 +3236,7 @@ HREF="NUMBER"
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5924"
+NAME="AEN5948"
></A
><P
></P
@@ -3241,7 +3343,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5949"
+NAME="AEN5973"
></A
><H3
><A
@@ -3277,7 +3379,7 @@ and process xslt:text</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5957"
+NAME="AEN5981"
></A
><P
></P
@@ -3332,7 +3434,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5970"
+NAME="AEN5994"
></A
><H3
><A
@@ -3363,7 +3465,7 @@ the stylesheet and return its number</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5977"
+NAME="AEN6001"
></A
><P
></P
@@ -3419,7 +3521,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5990"
+NAME="AEN6014"
></A
><H3
><A
@@ -3451,7 +3553,7 @@ This make sure there is a slot ready in the transformation context</P
><DIV
CLASS="INFORMALTABLE"
><A
-NAME="AEN5997"
+NAME="AEN6021"
></A
><P
></P
diff --git a/doc/libxslt-decl.txt b/doc/libxslt-decl.txt
index 9aedc8ee..7f8ff1e6 100644
--- a/doc/libxslt-decl.txt
+++ b/doc/libxslt-decl.txt
@@ -1,14 +1,14 @@
<MACRO>
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
-#define LIBXSLT_DOTTED_VERSION "1.0.23"
+#define LIBXSLT_DOTTED_VERSION "1.0.27"
</MACRO>
<MACRO>
<NAME>LIBXSLT_VERSION</NAME>
-#define LIBXSLT_VERSION 10023
+#define LIBXSLT_VERSION 10027
</MACRO>
<MACRO>
<NAME>LIBXSLT_VERSION_STRING</NAME>
-#define LIBXSLT_VERSION_STRING "10023"
+#define LIBXSLT_VERSION_STRING "10027"
</MACRO>
<MACRO>
<NAME>WITH_XSLT_DEBUG</NAME>
@@ -27,6 +27,10 @@
#define XSLT_NEED_TRIO
</MACRO>
<MACRO>
+<NAME>XSLT_NEED_TRIO</NAME>
+#define XSLT_NEED_TRIO
+</MACRO>
+<MACRO>
<NAME>WITH_DEBUGGER</NAME>
#define WITH_DEBUGGER
</MACRO>
@@ -1146,15 +1150,15 @@ void
</FUNCTION>
<MACRO>
<NAME>LIBXSLT_DOTTED_VERSION</NAME>
-#define LIBXSLT_DOTTED_VERSION "1.0.23"
+#define LIBXSLT_DOTTED_VERSION "1.0.27"
</MACRO>
<MACRO>
<NAME>LIBXSLT_VERSION</NAME>
-#define LIBXSLT_VERSION 10023
+#define LIBXSLT_VERSION 10027
</MACRO>
<MACRO>
<NAME>LIBXSLT_VERSION_STRING</NAME>
-#define LIBXSLT_VERSION_STRING "10023"
+#define LIBXSLT_VERSION_STRING "10027"
</MACRO>
<MACRO>
<NAME>WITH_XSLT_DEBUG</NAME>
@@ -1773,6 +1777,11 @@ xsltStylesheetPtr style,xmlNodePtr cur
xmlDocPtr doc
</FUNCTION>
<FUNCTION>
+<NAME>xsltParseStylesheetImportedDoc</NAME>
+<RETURNS>xsltStylesheetPtr </RETURNS>
+xmlDocPtr doc
+</FUNCTION>
+<FUNCTION>
<NAME>xsltLoadStylesheetPI</NAME>
<RETURNS>xsltStylesheetPtr </RETURNS>
xmlDocPtr doc
diff --git a/doc/libxslt-sections.txt b/doc/libxslt-sections.txt
index 11206c0f..fdc50c80 100644
--- a/doc/libxslt-sections.txt
+++ b/doc/libxslt-sections.txt
@@ -359,6 +359,7 @@ xsltDecimalFormatGetByName
xsltParseStylesheetProcess
xsltParseStylesheetOutput
xsltParseStylesheetDoc
+xsltParseStylesheetImportedDoc
xsltLoadStylesheetPI
xsltNumberFormat
xsltFormatNumberConversion
diff --git a/doc/news.html b/doc/news.html
index 065047fe..382f08df 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -84,11 +84,19 @@ A:link, A:visited, A:active { text-decoration: underline }
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
<h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
for a really accurate description</h3>
+<h3>1.0.28: Mar 24 2003</h3>
+<ul>
+<li>fixed node() in patterns semantic.</li>
+ <li>fixed a memory access problem in format-number()</li>
+ <li>fixed stack overflow in recursive global variable or params</li>
+ <li>cleaned up Result Value Tree handling, and fixed a couple of old bugs
+ in the process</li>
+</ul>
<h3>1.0.27: Feb 24 2003</h3>
<ul>
<li>bug fixes: spurious xmlns:nsX=&quot;&quot; generation, serialization bug (in
libxml2), a namespace copy problem, errors in the RPM spec prereqs</li>
- <li>Windows path canonicalization and document cache fix (Igor) </li>
+ <li>Windows path canonicalization and document cache fix (Igor)</li>
</ul>
<h3>1.0.26: Feb 10 2003</h3>
<ul>
diff --git a/doc/python.html b/doc/python.html
index 3563e496..adae50e4 100644
--- a/doc/python.html
+++ b/doc/python.html
@@ -91,8 +91,7 @@ or libxslt wrappers or bindings:</p>
<li>
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
Sergeant</a> developped <a href="http://axkit.org/download/">XML::LibXML
- and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the
- <a href="http://axkit.com/">AxKit XML application server</a>
+ and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML application server</a>
</li>
<li>
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides and
@@ -116,9 +115,8 @@ or libxslt wrappers or bindings:</p>
for PHP</a>.</li>
<li>
<a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
- an effort to create a 100% JAXP-compatible Java wrapper for
- libxml2 and libxslt as part of GNU ClasspathX project.
-</li>
+ an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
+ libxslt as part of GNU ClasspathX project.</li>
</ul>
<p>The libxslt Python module depends on the <a href="http://xmlsoft.org/python.html">libxml2 Python</a> module.</p>
<p>The distribution includes a set of Python bindings, which are garanteed to
diff --git a/doc/xslt.html b/doc/xslt.html
index 0ffdef00..8b30b6ba 100644
--- a/doc/xslt.html
+++ b/doc/xslt.html
@@ -267,11 +267,20 @@ 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>1.0.28: Mar 24 2003</h3>
+<ul>
+ <li>fixed node() in patterns semantic.</li>
+ <li>fixed a memory access problem in format-number()</li>
+ <li>fixed stack overflow in recursive global variable or params</li>
+ <li>cleaned up Result Value Tree handling, and fixed a couple of old bugs
+ in the process</li>
+</ul>
+
<h3>1.0.27: Feb 24 2003</h3>
<ul>
<li>bug fixes: spurious xmlns:nsX="" generation, serialization bug (in
libxml2), a namespace copy problem, errors in the RPM spec prereqs</li>
- <li>Windows path canonicalization and document cache fix (Igor) </li>
+ <li>Windows path canonicalization and document cache fix (Igor)</li>
</ul>
<h3>1.0.26: Feb 10 2003</h3>
@@ -859,8 +868,8 @@ or libxslt wrappers or bindings:</p>
<li><a
href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
Sergeant</a> developped <a href="http://axkit.org/download/">XML::LibXML
- and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the
- <a href="http://axkit.com/">AxKit XML application server</a></li>
+ and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the <a
+ href="http://axkit.com/">AxKit XML application server</a></li>
<li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides and
earlier version of the libxml/libxslt <a
href="http://www.rexx.com/~dkuhlman">wrappers for Python</a></li>
@@ -882,8 +891,8 @@ or libxslt wrappers or bindings:</p>
using <a href="http://siasl.dyndns.org/projects/projects.html">libxslt
for PHP</a>.</li>
<li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
- an effort to create a 100% JAXP-compatible Java wrapper for
- libxml2 and libxslt as part of GNU ClasspathX project.
+ an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
+ libxslt as part of GNU ClasspathX project.</li>
</ul>
<p>The libxslt Python module depends on the <a
diff --git a/libxslt.spec.in b/libxslt.spec.in
index 31cbf701..b3bc5120 100644
--- a/libxslt.spec.in
+++ b/libxslt.spec.in
@@ -7,8 +7,8 @@ Group: Development/Libraries
Source: ftp://xmlsoft.org/XSLT/libxslt-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
URL: http://xmlsoft.org/XSLT/
-Requires: libxml2 >= 2.5.4
-BuildRequires: libxml2-devel >= 2.5.4
+Requires: libxml2 >= 2.5.5
+BuildRequires: libxml2-devel >= 2.5.5
BuildRequires: python python-devel
BuildRequires: libxml2-python
Prefix: %{_prefix}
@@ -17,26 +17,26 @@ Docdir: %{_docdir}
%description
This C library allows to transform XML files into other XML files
(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= 2.5.4
+mechanism. To use it you need to have a version of libxml2 >= 2.5.5
installed. The xsltproc command is a command line interface to the XSLT engine
%package devel
Summary: Libraries, includes, etc. to embed the Gnome XSLT engine
Group: Development/Libraries
Requires: libxslt = %{version}
-Requires: libxml2-devel >= 2.5.4
+Requires: libxml2-devel >= 2.5.5
%description devel
This C library allows to transform XML files into other XML files
(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= 2.5.4
+mechanism. To use it you need to have a version of libxml2 >= 2.5.5
installed.
%package python
Summary: Python bindings for the libxslt library
Group: Development/Libraries
Requires: libxslt = %{version}
-Requires: libxml2 >= 2.5.4
+Requires: libxml2 >= 2.5.5
Requires: python
%description python
diff --git a/libxslt/pattern.c b/libxslt/pattern.c
index 53ae86c0..b0283e60 100644
--- a/libxslt/pattern.c
+++ b/libxslt/pattern.c
@@ -638,11 +638,10 @@ xsltTestCompMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp,
if ((parent == NULL) || (node->doc == NULL))
nocache = 1;
else {
- while (parent->parent != NULL)
- parent = parent->parent;
- if (((parent->type != XML_DOCUMENT_NODE) &&
- (parent->type != XML_HTML_DOCUMENT_NODE)) ||
- (parent != (xmlNodePtr) node->doc))
+ if ((doc->name != NULL) &&
+ (doc->name[0] == ' ') &&
+ (xmlStrEqual(BAD_CAST doc->name,
+ BAD_CAST " fake node libxslt")))
nocache = 1;
}
if (nocache == 0) {
diff --git a/libxslt/transform.c b/libxslt/transform.c
index 6901657d..54ecd48a 100644
--- a/libxslt/transform.c
+++ b/libxslt/transform.c
@@ -3064,25 +3064,19 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
(list->nodeTab[i]->doc->doc)!=ctxt->xpathCtxt->doc) {
/* The nodeset is from another document, so must change */
ctxt->xpathCtxt->doc=list->nodeTab[i]->doc->doc;
- if (list->nodeTab[i]->doc->type != XML_ELEMENT_NODE) {
- if ((ctxt->document = xsltFindDocument(ctxt,
- list->nodeTab[i]->doc->doc))==NULL) {
- xsltTransformError(ctxt, NULL, inst,
- "xsl:apply-templates : can't find doc\n");
- goto error;
- }
+ if (list->nodeTab[i]->doc->name != NULL) {
+ ctxt->document = xsltFindDocument(ctxt,
+ list->nodeTab[i]->doc->doc);
ctxt->xpathCtxt->node = list->nodeTab[i];
#ifdef WITH_XSLT_DEBUG_PROCESS
- xsltGenericDebug(xsltGenericDebugContext,
+ if (ctxt->document != NULL) {
+ xsltGenericDebug(xsltGenericDebugContext,
"xsltApplyTemplates: Changing document - context doc %s, xpathdoc %s\n",
ctxt->document->doc->URL, ctxt->xpathCtxt->doc->URL);
-#endif
- } else {
- ctxt->xpathCtxt->node = list->nodeTab[i];
- ctxt->document = NULL;
-#ifdef WITH_XSLT_DEBUG_PROCESS
- xsltGenericDebug(xsltGenericDebugContext,
+ } else {
+ xsltGenericDebug(xsltGenericDebugContext,
"xsltApplyTemplates: Changing document - Return tree fragment\n");
+ }
#endif
}
}
diff --git a/libxslt/variables.c b/libxslt/variables.c
index 98b872e9..1a0a921d 100644
--- a/libxslt/variables.c
+++ b/libxslt/variables.c
@@ -360,21 +360,21 @@ xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr elem,
/*
* This is a result tree fragment.
*/
- xmlNodePtr container;
+ xmlDocPtr container;
xmlNodePtr oldInsert;
xmlDocPtr oldoutput;
- container = xmlNewDocNode(NULL, NULL,
- (const xmlChar *) " fake node libxslt", NULL);
+ container = xmlNewDoc(NULL);
if (container == NULL)
return(NULL);
- container->doc = (xmlDocPtr) container;
+ container->name = xmlStrdup(BAD_CAST " fake node libxslt");
+ container->doc = container;
container->parent = NULL;
oldoutput = ctxt->output;
- ctxt->output = (xmlDocPtr) container;
+ ctxt->output = container;
oldInsert = ctxt->insert;
- ctxt->insert = container;
+ ctxt->insert = (xmlNodePtr) container;
xsltApplyOneTemplate(ctxt, ctxt->node, elem->tree, NULL, NULL);
ctxt->insert = oldInsert;
ctxt->output = oldoutput;
@@ -497,23 +497,21 @@ xsltEvalGlobalVariable(xsltStackElemPtr elem, xsltTransformContextPtr ctxt) {
/*
* This is a result tree fragment.
*/
- xmlNodePtr container;
+ xmlDocPtr container;
xmlNodePtr oldInsert;
xmlDocPtr oldoutput;
- container = xmlNewDocNode(NULL , NULL,
- (const xmlChar *) " fake node libxslt", NULL);
- if (container == NULL) {
- elem->name = name;
+ container = xmlNewDoc(NULL);
+ if (container == NULL)
return(NULL);
- }
- container->doc = (xmlDocPtr) container;
+ container->name = xmlStrdup(BAD_CAST " fake node libxslt");
+ container->doc = container;
container->parent = NULL;
oldoutput = ctxt->output;
- ctxt->output = (xmlDocPtr) container;
+ ctxt->output = container;
oldInsert = ctxt->insert;
- ctxt->insert = container;
+ ctxt->insert = (xmlNodePtr) container;
xsltApplyOneTemplate(ctxt, ctxt->node, elem->tree, NULL, NULL);
ctxt->insert = oldInsert;
ctxt->output = oldoutput;