Table of Contents

  1. Welcome to the Saxon XSLT Processor Local Service
  2. Configuring Authentication

Welcome to the Saxon XSLT Processor[1] Local Service

This local service provides an XSLT Transformation Engine for transforming XML-encoded source documents using a supplied XSLT stylesheet. The service functions as a java servlet and can be invoked usingthe following syntax:

http://[hostname]:[port-number]/saxon/SaxonServlet?source=[xml-source]&style=[xsl-stylesheet]&clear-stylesheet-cache=yes

Where:

  • [hostname] - The hostname of the Fedora server; default is localhost.

  • [port-number] - The port number on which the Fedora server is running; default is 8080.

  • [xml-source] - The URL of the XML source file.

  • [xsl-stylesheet] - The URL of the XSLT stylesheet file.

  • clear-stylesheet-cache - An optional parameter indicating if the stylesheet cache is to be cleared. A value of of "yes" signals to clear the stylesheet cache. If the parameter is omitted or has any other value, the stylesheet cache remains untouched.

Example:

http://localhost:8080/saxon/SaxonServlet?source=http://dl.lib.virginia.edu/data/xmltext/ead/viu03270&style=http://dl.lib.virginia.edu/bin/ead/xsl/document.xsl

Configuring Authentication

If the Saxon Servlet needs to retrieve a stylesheet or source xml that is protected by basic authentication, it can be configured to do so by setting the parameters in the servlet's web.xml file. In the Fedora server distribution, this file can be found under the tomcat directory in webapps/saxon/WEB-INF.

The example below is what needs to be added for each host:port/path combination that the servlet needs to provide credentials for. The param-value is a colon-delimited username and password pair. When the Saxon Servlet needs to access a URL starting with the param-name, it will provide these credentials. Multiple init-param elements may be provided.

<init-param>
  <param-name>credentials for localhost:8080/fedora/getDS</param-name>
  <param-value>backendUser:backendPass</param-value>
</init-param>

The Saxon Servlet will need to be restarted in order for new values to take effect.



[1] This service uses the SAXON XSLT Processor from Michael Kay which is licensed under the Mozilla Public License (MPL). For additonal information regarding the SAXON XSLT Processor, please refer to the Saxon project web site on SourceForge at: http://saxon.sourceforge.net/.