Saxon-CE, at its core, is a standard XSLT 2.0 processor. A wide range of tools of free and commercial tools are therefore already available to assist you in developing XSLT for Saxon-CE. However, because Saxon-CE runs within the browser, other tools will also be important: these are explored here.
In most cases, it's recommended that you use the HTTP protocol to access your resource
files (XSLT, XML, HTML, CSS etc) from the browser. (Using the file system with
file:// URLs is sometimes possible, but only if you change security and other
settings in the browser, so we don't recommend it.) Resource files, and Saxon-CE, will
therefore be hosted by a web-server — either on your local machine or a remote
server. You will need to ensure that you have the necessary read/write permission, and
that your editor can perform updates properly, perhaps via the file-system or FTP.
The choice of web server is down to individual circumstances. The majority of operating system distributions include a web server (even on desktop systems - though it's not always advertised) that simply needs enabling, but excellent online options are also available.
The browser hosts Saxon-CE and, in many cases, renders HTML output from Saxon-CE's XSLT processor directly to the current page; all modern browsers are well suited to this role. From the development perspective, one of the most important parts of the browser (apart from developer tools which we cover later) is how resource files are cached and how easy it is to reliably refresh the cache when needed. It can be very time-consuming if you still see the manifestation of a bug after it was fixed, simply because a stale cached resource file is being used. It may also be productive to configure your web server to include 'no-cache' instructions within the HTTP header.
Saxon-CE makes every effort to minimise differences between browsers, but when testing you will need to test on all your target browsers; even at the development stage, it's a good idea to switch browsers frequently so any issues are picked up early.
Browser Developer Tools
All modern browsers come with built-in developer tools, and these can often be
supplemented with plug-ins available online. Saxon-CE directs errors, timing and
diagnostics messages to these tools when they're detected. Different logging thresholds
can be set for Saxon-CE by adding a
logLevel query parameter to the host
page URL. The logging and tracing sections provide more details.
Using a wide range of loosely-coupled tools can sometimes be a very effective method for developing Saxon-CE based applications, but there will be times when more integration between tools can aid productivity. Saxon-CE interfaces have been designed to support such integration.
One tool at least, XMLQuire, is already publicly available that was extended specifically to exploit Saxon-CE interfaces — the emphasis here was on evaluating concepts whilst still providing benefits. Its features include:
Automated browser-cache refresh on updates made by the editor
Displaying Saxon-CE diagnostics output within the editor - in real-time
Highlighting compile-time errors in the XSLT code editor
Switching logging level from the editor
Auto-creation of new Saxon-CE projects based on project templates
Auto-completion/validation of HTML literal result elements within XSLT
Whitespace minimisation within the editor
It is hoped that further tools will become available from third parties in due course.
The extensive range of currently available XSLT and web-specific test tools (including those for mobile/tablet devices) will be applicable also to Saxon-CE. Other tools, with capabilities enhanced for Saxon-CE will hopefully also become available in a short while.
Future Online Tools