+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.
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 \
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
- 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
*/
ctxt->insert = insert;
if (!xsltApplyFallbacks(ctxt, node, cur)) {
- xsltGenericError(xsltGenericDebugContext,
+ xsltGenericError(xsltGenericErrorContext,
"xsltApplyOneTemplate: %s was not compiled\n",
cur->name);
}
} else if (IS_XSLT_NAME(cur, "message")) {
xsltMessage(ctxt, node, cur);
} else {
- xsltGenericError(xsltGenericDebugContext,
+ xsltGenericError(xsltGenericErrorContext,
"xsltApplyOneTemplate: problem with xsl:%s\n",
cur->name);
}
params = param;
}
} else {
- xsltGenericError(xsltGenericDebugContext,
+ xsltGenericError(xsltGenericErrorContext,
"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;
}
} 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 {
- xsltGenericError(xsltGenericDebugContext,
+ xsltGenericError(xsltGenericErrorContext,
"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;
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;
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 \
--- /dev/null
+
+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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+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
--- /dev/null
+<?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>
--- /dev/null
+<?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>