Handling user input events
A key aim of Saxon-CE is that it should be possible to implement a high quality interactive user interface without dropping down into JavaScript.
Event handlers for user input are written in the form of template rules. The match pattern of
the template rule must match the element that receives the event, and the mode name reflects the
type of event, for example ixsl:onclick
. This causes a new transformation to take
place, using the existing stylesheet, which is initiated with the target element in the HTML DOM
as the initial context item.
Of course, CSS can be used in the usual way to control changes in appearance in response to
mouse movement and the like. It is also possible to handle some events using JavaScript and some
using XSLT. Saxon-CE sets the event listener on the document
object. On receiving an
event notification, the processor checks for matching template rules on the target element and
then on ancestors of the target element (provision is also made for events on linked SVG
elements).
While an event is being processed, the function ixsl:event()
can be called to
return the Event
object; its properties and methods are available via the
ixsl:get()
and ixsl:call()
extension functions.