Package net.sf.saxon

Class Transform

java.lang.Object
net.sf.saxon.Transform
Direct Known Subclasses:
DOMTransform, JDOMTransform

public class Transform extends Object
This Transform class is the entry point to the Saxon XSLT Processor. This class is provided to control the processor from the command line.

The XSLT syntax supported conforms to the W3C XSLT 1.0 and XPath 1.0 recommendation. Only the transformation language is implemented (not the formatting objects). Saxon extensions are documented in the file extensions.html

Author:
Michael H. Kay
  • Field Details

    • factory

      protected TransformerFactoryImpl factory
    • config

      protected Configuration config
    • useURLs

      protected boolean useURLs
    • showTime

      protected boolean showTime
    • repeat

      protected int repeat
  • Constructor Details

    • Transform

      public Transform()
  • Method Details

    • main

      public static void main(String[] args) throws Exception
      Main program, can be used directly from the command line.

      The format is:

      java net.sf.saxon.Transform [options] source-file style-file >output-file

      followed by any number of parameters in the form {keyword=value}... which can be referenced from within the stylesheet.

      This program applies the XSL style sheet in style-file to the source XML document in source-file.

      Parameters:
      args - List of arguments supplied on operating system command line
      Throws:
      Exception - Indicates that a compile-time or run-time error occurred
    • setFactoryConfiguration

      public void setFactoryConfiguration(boolean schemaAware, String className) throws RuntimeException
      Set the configuration in the TransformerFactory. This is designed to be overridden in a subclass
      Parameters:
      schemaAware - True if the transformation is to be schema-aware
      className - Name of the schema-aware Configuration class to be loaded. Designed for use by .NET; can normally be null.
      Throws:
      RuntimeException
    • doTransform

      public void doTransform(String[] args, String command)
      Support method for main program. This support method can also be invoked from subclasses that support the same command line interface
      Parameters:
      args - the command-line arguments
      command - the form of the command as written by the user, to be used in error messages
    • preprocess

      public List preprocess(List sources) throws XPathException
      Preprocess the list of sources. This method exists so that it can be overridden in a subclass
      Parameters:
      sources - the list of Source objects
      Returns:
      a revised list of Source objects
      Throws:
      XPathException
    • getConfiguration

      protected Configuration getConfiguration()
      Get the configuration.
      Returns:
      the Saxon configuration
    • quit

      protected static void quit(String message, int code)
      Exit with a message
      Parameters:
      message - The message to be output
      code - The result code to be returned to the operating system shell
    • loadDocuments

      public static Object loadDocuments(String sourceFileName, boolean useURLs, Configuration config, boolean useSAXSource) throws TransformerException
      Load a document, or all the documents in a directory, given a filename or URL
      Parameters:
      sourceFileName - the name of the source file or directory
      useURLs - true if the filename argument is to be treated as a URI
      config - the Saxon configuration
      useSAXSource - true if the method should use a SAXSource rather than a StreamSource
      Returns:
      if sourceFileName represents a single source document, return a Source object representing that document. If sourceFileName represents a directory, return a List containing multiple Source objects, one for each file in the directory.
      Throws:
      TransformerException
    • processDirectoryAssoc

      public void processDirectoryAssoc(List sources, File outputDir, ArrayList parameterList, String initialMode, PrintStream traceDestination) throws Exception
      Process each file in the source directory using its own associated stylesheet
      Parameters:
      sources - The sources in the directory to be processed
      outputDir - The directory in which output files are to be created
      parameterList - List of parameters to be supplied to each transformation
      initialMode - Initial mode for executing each transformation
      traceDestination - output destination for fn:trace() calls
      Throws:
      Exception - when any error occurs during a transformation
    • processFileAssoc

      public void processFileAssoc(Source sourceInput, String localName, File outputFile, ArrayList parameterList, String initialMode, PrintStream traceDestination) throws TransformerException
      Process a single source file using its associated stylesheet(s)
      Parameters:
      sourceInput - Identifies the source file to be transformed
      localName - The local name of the file within the directory, excluding the file type suffix
      outputFile - The output file to contain the results of the transformation
      parameterList - List of parameters to be supplied to the transformation
      initialMode - Initial mode for executing the transformation
      traceDestination - Destination for trace output
      Throws:
      XPathException - If the transformation fails
      TransformerException
    • newController

      protected Controller newController(Templates sheet, ArrayList parameterList, PrintStream traceDestination, String initialMode, String initialTemplate) throws TransformerException
      Create a new Controller. This method is protected so it can be overridden in a subclass, allowing additional options to be set on the Controller
      Parameters:
      sheet - The Templates object representing the compiled stylesheet
      parameterList - A list of "keyword=value" pairs representing parameter values, in their original format from the command line, including any initial "+" or "!" qualifier
      traceDestination - destination for trace output
      initialMode - the initial mode for the transformation, as a Clark name. Can be null
      initialTemplate - the name of the initial template for the transformation, as a Clark name. Can be null
      Returns:
      the newly constructed Controller to be used for the transformation
      Throws:
      TransformerException - if any error occurs
    • now

      public static long now()
      Get current time in milliseconds
      Returns:
      the current time in milliseconds since 1970
    • processDirectory

      public void processDirectory(List sources, Templates sheet, File outputDir, ArrayList parameterList, String initialTemplate, String initialMode, PrintStream traceDestination) throws TransformerException
      Process each file in the source directory using the same supplied stylesheet
      Parameters:
      sources - The sources in the directory to be processed
      sheet - The Templates object identifying the stylesheet
      outputDir - The directory in which output files are to be created
      parameterList - List of parameters to be supplied to each transformation
      initialTemplate - Initial template for executing each transformation
      initialMode - Initial mode for executing each transformation
      traceDestination - Destination for output from fn:trace() calls
      Throws:
      XPathException - when any error occurs during a transformation
      TransformerException
    • processFile

      public void processFile(Source source, Templates sheet, File outputFile, ArrayList parameterList, String initialTemplate, String initialMode, PrintStream traceDestination) throws TransformerException
      Process a single file using a supplied stylesheet
      Parameters:
      source - The source XML document to be transformed (maybe null if an initial template is specified)
      sheet - The Templates object identifying the stylesheet
      outputFile - The output file to contain the results of the transformation
      parameterList - List of parameters to be supplied to the transformation
      initialTemplate - Initial template for executing each transformation
      initialMode - Initial mode for executing the transformation
      traceDestination - Destination for output from fn:trace() function
      Throws:
      XPathException - If the transformation fails
      TransformerException
    • setParams

      protected void setParams(Controller controller, ArrayList parameterList) throws TransformerException
      Supply the requested parameters to the transformer. This method is protected so that it can be overridden in a subclass.
      Parameters:
      controller - The controller to be used for the transformation
      parameterList - A list of "keyword=value" pairs representing parameter values, in their original format from the command line, including any initial "+" or "!" qualifier
      Throws:
      TransformerException
    • badUsage

      protected void badUsage(String name, String message)
      Report incorrect usage of the command line, with a list of the options and arguments that are available
      Parameters:
      name - The name of the command being executed (allows subclassing)
      message - The error message