Saxonica: XSLT and XQuery Processing: Issues fixed in Beta 0.1

Issues fixed in Beta 0.1

The table below lists a summary of the issues fixed in the Beta 0.1 release of Saxon-CE





The IIS7 web server fails to load XSL files, giving an HTTP 400 Error.

IIS7 baulks at the HTTPRequest header because it contains the 'If-Modified-Since' property. An alternative method should be sought to ensure XSL files are not cached.


Processing a filter on a node sequence fails, for example $steps[$rgx].

Closure optimisation causes issue because the filter expression is calculated late and the getAnother method fails to restore state.


Regular expressions give unexpected exceptions and fail to meet W3C specification

The JavaScript regular expression engine does not support many W3C features.


Calling base-uri() on a node of the host page returns a zero-length string.

Internally, the HTMLDocumentWrapper constructor does not set the base URI if the baseuri parameter value is null or the empty string.


The result-documnet href?select='.' expression fails

If it belongs to the hosted html page, the context node should be part of the evaluation context when calling result-document.


Unclear error message if result-document fails

Details of the href value and context node should be supplied.


Unexpected exception when attempting to access an attribute from the HTML document node.

The empty sequence should be returned.


A delay occurs after an ixsl:schedule action

Internally, the PendingUpdateList is not cleared before the scheduled action is called


A disabled HTML button can't be enabled using XSLT

An ixsl:remove-attribute instruction is required, so the 'disabled' attribute can be removed - setting the attribute value has no effect.


When only one attribute in the html page is modified, performance seems slow.

Currently, event handling requires the processor to descend through the tree after each transform and update any event handling attributes on elements that match the template rules. Capturing events at the document node would resolve this.


Events continue to bubble after a matching template.

The ability to set the rule in XSLT for when an event is matched negates the JavaScript need for an event bubble and actually makes it undesirable. Apply-templates provides a more controlled approach, if required


The ixsl:event() function does not work consistently.

An undefined object is returned in pre IE9 versions of Internet Explorer


The context node is not valid for certain event types.

For example, Firefox will throw an exception when the template rule '*' is set for the ixsl:onkeydown mode.


Alternative required to the 'alert' message box used for reporting errors

More granular exception and event handling is required. This should be configurable logging system that outputs to the developer console or an alternative as a fall-back


In IE browsers before IE8, the 'class' attribute can't be accessed

Old browsers use 'className' at the attribute name to prevent a keyword conflict, as this isn't an issue with XSLT, the name 'class' should be used consistently.


When IXSL function calls fails there's not enough detail.

The function name and location within the XSLT should be provided in the error message.


Attributes that have a zero-length string as a value can't be accessed by name.

For example, with <p style=""> , the XPath exists(p/@style) returns false


Internet Explorer fails to parse XML with an external DTD reference.

Use of the responseText property of XMLHttpRequest does not work within the GWT implementation of XMLParser for IE that uses deferred binding.


The value of the 'name' attribute in xsl:attribute and ixsl:set-attribute must be a valid QName, but style property names may start with a '-' (hyphen) character. .

The STYLE namespace is used to access style properties as if they were attributes, some property names start with a '-', like-webkit-transition. Such property names should be prefixed with a '_' to give a valid QName. e.g.<xsl:attribute name="style:_-webkit-transition" select="$animation"/>.


Accessing CSS style properties starting with a '-'

(See 19 also) When using the STYLE namespace in XPaths to fetch style properties, if the style name begins with '-' then this should be prefixed with '_' (underscore) in the XPath so the QName is valid.


xsl:result-document fails silently if there's no matching target node for the href.

A 'non-fatal' warning should be logged.