Issues fixed in Alpha 0.4
The table below lists a summary of the issues fixed in the Alpha 0.4 release of Saxon-CE
# |
Title |
Description |
1 |
The XML declaration is included as a node in the XDM |
With internet explorer the XML Declaration is included as a processing-instruction at the root level of the XPath Data Model. This can cause unexpected XPath results if they access top-level nodes. |
2 |
XPath that includes a data() call will not compile |
Compile time error warning shows |
3 |
Iterating on the result of xsl:copy-of instruction fails |
Run time exception occurs when an attempt is made to use the result of an xsl:copy-of instruction |
4 |
Static-base-uri function returns wrong result type |
Calling this function returns a xs:string instead of xs:anyURI |
5 |
Browser unresponsive on accessing an XSLT input parameter |
An attempt to resolve the name of an xsl:param at the top-level causes an infinite loop. Note: XSLT input parameters are not yet supported in CE, but this would cause an issue with XSLT ported from another source. |
6 |
ClassCast exception thrown using xsl:analyse-string |
String is returned instead of a node, so using XPath that expects a node will throw an exception |
7 |
Using last() within xsl:analyse-string gives an error |
Iterating result of xsl:analyse-string fails because regex pattern is not reset at start |
8 |
Out of stack space exception when calling substring |
Optimisation within substring causes exception when setting the string length |
9 |
Casting a negative year with as xs:dateTime gives unexpected result |
Returns year value that is 2 higher than expected |
10 |
Casting a negative year with as xs:date gives an unexpected result |
Returns year value that is 2 higher than expected |
11 |
Casting 21999 as gYearMonth returns 1999 |
When called with a year argument value with 6 digits,returns only the last 5 digits |
12 |
Casting xs:base64Binary('PM24') as xs:base64Binary returns the empty sequence |
Creating a Base64 value from a single token results in a returned empty sequence |
13 |
Casting 21999 as gYearMonth returns 1999 |
When called with a year argument value with 6 digits,returns only the last 5 digits |
14 |
Casting xs:float(1.75e-3) returns number with trailing zeros |
Conversion to float results in number with trailing zeros |
15 |
xsl:number does not format numbers correctly |
The number format Ww is ignored because xsl:number returns a BigDecimal type and the number formatter only formats long types |
16 |
Exception thrown by 'disable-output-escaping' attribute in xsl:value-of |
An exception is thrown, but because there's no serialization, this attribute should be ignored, no exception should be thrown |
17 |
xs:time() function call on time with fractions of a second |
This function throws a NumberFormat exception because .006 is converted to ..006 when the time is parsed |
18 |
seconds-from-time() function returns trailing zeros |
Values from functions that are converted to the DecimalValue type (internally) do not have trailing zeros stripped this affects many functions |
19 |
formatDate using Ww pattern truncates values to 2 chars |
The formatDate function does not correctly recognize non-digit patterns and therefore truncates the text representation of years as if they were digits |
20 |
Unhelpful error when 'extension-element-prefixes' not set |
If the ixsl namespace prefix is (accidentally) not declared as an extension element prefix then the resulting error message when an ixsl element is treated as a literal result element does not help identify the root cause |
21 |
The ixsl:eval function always returns invalid values |
This function returns the lexical JavaScript instead of the result of the evaluation |
22 |
Node results from an ixsl:function can not be iterated as nodes |
The (internal) HTMLNodeWrapper is not used to wrap JavaScriptObjects that are node results returned from 'native' JavaScript calls - this causes exceptions when an attempt is made to iterate them as nodes. When required, the NodeWrapper must be converted back to a JavaScript object. |
23 |
When evaluating $element/@style, the string '[object]' is returned |
Internet explorer returns a style object instead of a string containing the attribute value when the style attribute is accessed. |
24 |
When an attempt is made to iterate the attribute axis, Internet Explorer thows an exception |
An XPath such as $element/@* results in an error because IE does not support the attributes property of an element |
25 |
An exception is thrown when an invalid attempt is made to set a style property |
All browsers, except IE, handle such style property errors silently. Behaviour with IE should be consistent with the other main browsers. |
26 |
Unhelpful error message when a DOM exception is thrown when attempting to add an invalid text node to an element, |
The error message currently states that an invalid method or property was accessed, instead the message should give details of the text node being appended or inserted. |
27 |
ClassCast exception thown by distrinct-values() |
This exception is thrown when 2 or more string values are contained within the sequence that is the argument of the function |
28 |
multiple xsl:key instructions not added to the key set |
This occurs when the 'use' attribute of xsl:key instructions is an atomic value. The cause is that the equals method of the Literal class does not test atomicValue types for equality, so the KeyManager does not add subsequent keys because they appear to be the same. |
29 |
result-document href?select= does not return a node if the atomic value of node is required |
For example using href=”?select=//div[@id='elect']” results in a 'ClassCastException' - for some other expression no node is selected but there's no exception warning |
30 |
result-document href?select= raises an exception when any function is called within the XPath |
E.g. div[not(id='elect')] would raise an exception |
31 |
result-document href?select= does not work with the data source XML set |
[Patched in A0.4.1]result-document href?select= does not select a node
when the HTML |