diff --git a/ChangeLog b/ChangeLog index a9b03c3c2cb01a580a2f5ce0fdff38f09aa23d7a_Q2hhbmdlTG9n..800f109c80ddbd73763ebdbed86e73e4240213d2_Q2hhbmdlTG9n 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Sep 24 18:13:45 CEST 2004 Daniel Veillard <daniel@veillard.com> + + * Makefile.am: add missing variable + * libxslt/transform.c: fixed some error callback data + * tests/exslt/date/Makefile.am tests/exslt/date/sum*: added new + date:sum testing from Derek Poon + Fri Sep 24 09:17:22 PDT 2004 William Brack <wbrack@mmm.com.hk> * libexslt/date.c: fixed problem with empty sets, etc. diff --git a/Makefile.am b/Makefile.am index a9b03c3c2cb01a580a2f5ce0fdff38f09aa23d7a_TWFrZWZpbGUuYW0=..800f109c80ddbd73763ebdbed86e73e4240213d2_TWFrZWZpbGUuYW0= 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,6 +16,8 @@ dist-hook: cleanup libxslt.spec (cd $(srcdir) ; tar -cf - --exclude CVS win32 vms examples) | (cd $(distdir); tar xf -) +CVS_EXTRA_DIST = + EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \ FEATURES TODO Copyright libxslt.m4 \ win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \ diff --git a/NEWS b/NEWS index a9b03c3c2cb01a580a2f5ce0fdff38f09aa23d7a_TkVXUw==..800f109c80ddbd73763ebdbed86e73e4240213d2_TkVXUw== 100644 --- a/NEWS +++ b/NEWS @@ -10,5 +10,12 @@ to the CVS at http://cvs.gnome.org/viewcvs/libxslt/ code base.Those are the public releases made: +1.1.10: Aug 31 2004: + - build fix: NUL in c file blocking compilation on Solaris, Windows build + (Igor Zlatkovic) + - fix: key initialization problem (William Brack) + - documentation: fixed missing man page description for --path + + 1.1.9: Aug 22 2004: - build fixes: missing tests (William Brack), Python dependancies, Python @@ -13,6 +20,6 @@ 1.1.9: Aug 22 2004: - build fixes: missing tests (William Brack), Python dependancies, Python - on 64bits boxes, --with-crypto flag (Rob Richards), + on 64bits boxes, --with-crypto flag (Rob Richards), - fixes: RVT key handling (William), Python binding (William and Sitsofe Wheeler), key and XPath troubles (William), template priority on imports (William), str:tokenize with empty strings (William), #default namespace diff --git a/libxslt/transform.c b/libxslt/transform.c index a9b03c3c2cb01a580a2f5ce0fdff38f09aa23d7a_bGlieHNsdC90cmFuc2Zvcm0uYw==..800f109c80ddbd73763ebdbed86e73e4240213d2_bGlieHNsdC90cmFuc2Zvcm0uYw== 100644 --- a/libxslt/transform.c +++ b/libxslt/transform.c @@ -1566,7 +1566,7 @@ */ ctxt->insert = insert; if (!xsltApplyFallbacks(ctxt, node, cur)) { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsltApplyOneTemplate: %s was not compiled\n", cur->name); } @@ -1601,7 +1601,7 @@ } else if (IS_XSLT_NAME(cur, "message")) { xsltMessage(ctxt, node, cur); } else { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsltApplyOneTemplate: problem with xsl:%s\n", cur->name); } @@ -3083,7 +3083,7 @@ params = param; } } else { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:call-template: misplaced xsl:%s\n", cur->name); } } else { @@ -3087,7 +3087,7 @@ "xsl:call-template: misplaced xsl:%s\n", cur->name); } } else { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:call-template: misplaced %s element\n", cur->name); } cur = cur->next; @@ -3329,9 +3329,9 @@ } } else if (IS_XSLT_NAME(cur, "sort")) { if (nbsorts >= XSLT_MAX_SORT) { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:apply-template: %s too many sort\n", node->name); } else { sorts[nbsorts++] = cur; } } else { @@ -3333,9 +3333,9 @@ "xsl:apply-template: %s too many sort\n", node->name); } else { sorts[nbsorts++] = cur; } } else { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:apply-template: misplaced xsl:%s\n", cur->name); } } else { @@ -3339,7 +3339,7 @@ "xsl:apply-template: misplaced xsl:%s\n", cur->name); } } else { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:apply-template: misplaced %s element\n", cur->name); } cur = cur->next; @@ -3703,7 +3703,7 @@ replacement = inst->children; while (IS_XSLT_ELEM(replacement) && (IS_XSLT_NAME(replacement, "sort"))) { if (nbsorts >= XSLT_MAX_SORT) { - xsltGenericError(xsltGenericDebugContext, + xsltGenericError(xsltGenericErrorContext, "xsl:for-each: too many sorts\n"); } else { sorts[nbsorts++] = replacement; diff --git a/tests/exslt/date/Makefile.am b/tests/exslt/date/Makefile.am index a9b03c3c2cb01a580a2f5ce0fdff38f09aa23d7a_dGVzdHMvZXhzbHQvZGF0ZS9NYWtlZmlsZS5hbQ==..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9NYWtlZmlsZS5hbQ== 100644 --- a/tests/exslt/date/Makefile.am +++ b/tests/exslt/date/Makefile.am @@ -25,6 +25,8 @@ add.2.out add.2.xml add.2.xsl \ add-duration.1.out add-duration.1.xml add-duration.1.xsl \ add-duration.2.out add-duration.2.xml add-duration.2.xsl \ + sum.1.out sum.1.xml sum.1.xsl \ + sum.2.out sum.2.xml sum.2.xsl \ difference.1.out difference.1.xml difference.1.xsl \ difference.2.out difference.2.xml difference.2.xsl \ duration.1.out duration.1.xml duration.1.xsl \ diff --git a/tests/exslt/date/sum.1.out b/tests/exslt/date/sum.1.out new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMS5vdXQ= --- /dev/null +++ b/tests/exslt/date/sum.1.out @@ -0,0 +1,21 @@ + +sum : PT1M + PT2M +result : PT3M +sum : P1DT2H + PT3M + PT4S +result : P1DT2H3M4S +sum : PT20M + PT20M + PT20M +result : PT1H +sum : PT01S + PT02S + PT04S + PT8S + PT16S + PT32S +result : PT1M3S +sum : P1M +result : P1M +sum : PT70M +result : PT1H10M +sum : PT70M + P13M +result : P1Y1MT1H10M +sum : PT70M + -PT30M +result : PT40M +sum : PT1H10M + -PT30M + -PT30S +result : PT39M30S +sum : PT1M + -PT1M +result : P0D \ No newline at end of file diff --git a/tests/exslt/date/sum.1.xml b/tests/exslt/date/sum.1.xml new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMS54bWw= --- /dev/null +++ b/tests/exslt/date/sum.1.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> +<page> + <!-- valid date/times --> + <sum> + <date dur='PT1M'/> + <date dur='PT2M'/> + </sum> + + <sum> + <date dur='P1DT2H'/> + <date dur='PT3M'/> + <date dur='PT4S'/> + </sum> + + <sum> + <date dur='PT20M'/> + <date dur='PT20M'/> + <date dur='PT20M'/> + </sum> + + <sum> + <date dur='PT01S'/> + <date dur='PT02S'/> + <date dur='PT04S'/> + <date dur='PT8S'/> + <date dur='PT16S'/> + <date dur='PT32S'/> + </sum> + + <!-- Base case: sum of 1 node --> + <sum> + <date dur='P1M'/> + </sum> + + <!-- Non-normalized input --> + <sum> + <date dur='PT70M'/> + </sum> + + <sum> + <date dur='PT70M'/> + <date dur='P13M'/> + </sum> + + <!-- Negative durations --> + <sum> + <date dur='PT70M'/> + <date dur='-PT30M'/> + </sum> + + <sum> + <date dur='PT1H10M'/> + <date dur='-PT30M'/> + <date dur='-PT30S'/> + </sum> + + <!-- Zero sum --> + <sum> + <date dur='PT1M'/> + <date dur='-PT1M'/> + </sum> + +</page> diff --git a/tests/exslt/date/sum.1.xsl b/tests/exslt/date/sum.1.xsl new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMS54c2w= --- /dev/null +++ b/tests/exslt/date/sum.1.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://exslt.org/dates-and-times" + extension-element-prefixes="date"> + +<xsl:output method="text"/> +<xsl:strip-space elements="*"/> + +<xsl:template match="sum"> +sum : <xsl:apply-templates select="date"/> +result : <xsl:value-of select="date:sum(date/@dur)"/> +</xsl:template> + +<xsl:template match="date"> + <xsl:if test="position() != 1"> + </xsl:if> + <xsl:value-of select="@dur"/> +</xsl:template> + +</xsl:stylesheet> diff --git a/tests/exslt/date/sum.2.err b/tests/exslt/date/sum.2.err new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMi5lcnI= --- /dev/null +++ b/tests/exslt/date/sum.2.err @@ -0,0 +1,22 @@ +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +xmlXPathCompiledEval: evaluation failed +runtime error: file ./sum.2.xsl line 12 element value-of +xsltValueOf: text copy failed +no result for ./sum.2.xml diff --git a/tests/exslt/date/sum.2.out b/tests/exslt/date/sum.2.out new file mode 100644 diff --git a/tests/exslt/date/sum.2.xml b/tests/exslt/date/sum.2.xml new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMi54bWw= --- /dev/null +++ b/tests/exslt/date/sum.2.xml @@ -0,0 +1,55 @@ +<?xml version="1.0"?> +<page> + <!-- sum of empty node-set --> + <sum/> + + <!-- According to http://exslt.org/date/functions/add-duration/ + add-duration should fail when a sum involving negative durations + involve borrowing --> + <sum> + <date dur='P1M'/> + <date dur='-P1D'/> + </sum> + + <sum> + <date dur='P1M'/> + <date dur='-P1D'/> + <date dur='P1D'/> + </sum> + + <!-- ... but switching the order should make it work --> + <sum> + <date dur='P1M'/> + <date dur='P1D'/> + <date dur='-P1D'/> + </sum> + + <!-- Empty durations --> + <sum> + <date dur=''/> + </sum> + + <sum> + <date dur=''/> + <date dur='P45S'/> + </sum> + + <!-- Invalid durations --> + <sum> + <date dur='2004-09-20'/> + </sum> + + <sum> + <date dur='1H'/> + </sum> + + <sum> + <date dur='2004-09-22'/> + <date dur='P1D'/> + </sum> + + <sum> + <date dur='P2D'/> + <date dur='--P1D'/> + </sum> +</page> diff --git a/tests/exslt/date/sum.2.xsl b/tests/exslt/date/sum.2.xsl new file mode 100644 index 0000000000000000000000000000000000000000..800f109c80ddbd73763ebdbed86e73e4240213d2_dGVzdHMvZXhzbHQvZGF0ZS9zdW0uMi54c2w= --- /dev/null +++ b/tests/exslt/date/sum.2.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://exslt.org/dates-and-times" + extension-element-prefixes="date"> + +<xsl:output method="text"/> +<xsl:strip-space elements="*"/> + +<xsl:template match="sum"> +sum : <xsl:apply-templates select="date"/> +result : <xsl:value-of select="date:sum(date/@dur)"/> +</xsl:template> + +<xsl:template match="date"> + <xsl:if test="position() != 1"> + </xsl:if> + <xsl:value-of select="@dur"/> +</xsl:template> + +</xsl:stylesheet>