net.sf.saxon

## Class Transform

- java.lang.Object
- - net.sf.saxon.Transform

- Direct Known Subclasses:
    DOMTransform, JDOM2Transform, JDOMTransform, Transform

      public class Transform
      extends Object

  This Transform class is the command-line entry point to the Saxon XSLT Processor.

  It is possible to subclass this class to provide a customized command line interface. In writing such a subclass:

  - The `main(java.lang.String[])` method should instantiate the class and call the `doTransform(java.lang.String[], java.lang.String)` method, passing the argument list. The argument list can be augmented or modified if required: for example, by adding a -config argument to cause the configuration to be initialized from a configuration file.
  - The `setFactoryConfiguration(boolean, java.lang.String)` method can be implemented

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CompilerInfo` | `compilerInfo`
    `protected Configuration` | `config`
    `protected int` | `repeat`
    `protected boolean` | `showTime`
    `protected boolean` | `useURLs`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Transform()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `applyLocalOptions(CommandLineOptions options, Configuration config)` Customisation hook: apply options defined locally in a subclass.
    `protected void` | `badUsage(String message)` Report incorrect usage of the command line, with a list of the options and arguments that are available
    `void` | `doTransform(String[] args, String command)` Support method for main program.
    `protected Configuration` | `getConfiguration()` Get the configuration.
    `protected void` | `initializeConfiguration(Configuration config)` Customisation hook called immediately after the Configuration object is instantiated.
    `static void` | `main(String[] args)` Main program, can be used directly from the command line.
    `protected Controller` | `newController(Templates sheet, CommandLineOptions options, PrintStream traceDestination)` Create a new Controller.
    `List<Source>` | `preprocess(List<Source> sources)` Preprocess the list of sources.
    `protected void` | `quit(String message, int code)` Exit with a message
    `void` | `setFactoryConfiguration(boolean schemaAware, String className)` Customisation hook called immediately after the Configuration object is instantiated.
    `void` | `setPermittedOptions(CommandLineOptions options)` Set the options that are recognized on the command line.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### config

          protected Configuration config

    - #### compilerInfo

          protected CompilerInfo compilerInfo

    - #### useURLs

          protected boolean useURLs

    - #### showTime

          protected boolean showTime

    - #### repeat

          protected int repeat

  - ### Constructor Detail

    - #### Transform

          public Transform()

  - ### Method Detail

    - #### 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

    - #### setPermittedOptions

          public void setPermittedOptions(CommandLineOptions options)

      Set the options that are recognized on the command line. This method can be overridden in a subclass to define additional command line options.
      Parameters:
        `options` - the CommandLineOptions in which the recognized options are to be registered.

    - #### 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. Not used, retained for backwards compatibility

    - #### initializeConfiguration

          protected void initializeConfiguration(Configuration config)

      Customisation hook called immediately after the Configuration object is instantiated. The intended purpose of this hook is to allow a subclass to supply an OEM license key programmatically, but it can also be used for other initialization of the Configuration. This method is called before analyzing the command line options, so configuration settings made at this stage may be overridden when the command line options are processed. However, if a configuration file is used, the settings defined in the configuration file will have been applied.
      Parameters:
        `config` - the Configuration object

    - #### setFactoryConfiguration

          public void setFactoryConfiguration(boolean schemaAware,
                                     String className)
                                       throws LicenseException

      Customisation hook called immediately after the Configuration object is instantiated. This hook is retained for backwards compatibility but it is recommended to implement `initializeConfiguration(net.sf.saxon.Configuration)` in preference. This method is called after `initializeConfiguration(net.sf.saxon.Configuration)`, but only if the configuration was not created using a configuration file. The default implementation does nothing.
      Parameters:
        `schemaAware` - True if the transformation is to be schema-aware
        `className` - Always null.
      Throws:
        `LicenseException` - can be thrown if there is no valid license available

    - #### applyLocalOptions

          protected void applyLocalOptions(CommandLineOptions options,
                               Configuration config)

      Customisation hook: apply options defined locally in a subclass. This method allows a subclass to recognize and implement command line options that are not recognized by the superclass. To prevent Saxon rejecting such options as errors, the method `setPermittedOptions(net.sf.saxon.trans.CommandLineOptions)` must be overridden in the subclass to add details of options recognized in the subclass.
      Parameters:
        `options` - the CommandLineOptions. This will contain details of all the options that were specified on the command line. Those that are recognized by the standard Saxon command line interface will already have been processed; other options can now be processed by the subclass.
        `config` - the Saxon Configuration

    - #### preprocess

          public List<Source> preprocess(List<Source> 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 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

    - #### newController

          protected Controller newController(Templates sheet,
                                 CommandLineOptions options,
                                 PrintStream traceDestination)
                                      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
        `options` - The commmand line options
        `traceDestination` - destination for trace output
      Returns:
        the newly constructed Controller to be used for the transformation
      Throws:
        `TransformerException` - if any error occurs

    - #### badUsage

          protected void badUsage(String message)

      Report incorrect usage of the command line, with a list of the options and arguments that are available
      Parameters:
        `message` - The error message

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.