## net.sf.saxon
Class Transform

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

Direct Known Subclasses:
  DOMTransform, JDOMTransform, Transform

    public class Transform

extends java.lang.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 Summary
`protected Configuration` `config`
`protected TransformerFactoryImpl` `factory`
`protected int` `repeat`
`protected boolean` `showTime`
`protected boolean` `useURLs`

Constructor Summary
`Transform()`

Method Summary
`protected void` `badUsage(java.lang.String name, java.lang.String message)` Report incorrect usage of the command line, with a list of the options and arguments that are available
`void` `doTransform(java.lang.String[] args, java.lang.String command)` Support method for main program.
`protected Configuration` `getConfiguration()` Get the configuration.
`static java.lang.Object` `loadDocuments(java.lang.String sourceFileName, boolean useURLs, Configuration config, boolean useSAXSource)` Load a document, or all the documents in a directory, given a filename or URL
`static void` `main(java.lang.String[] args)` Main program, can be used directly from the command line.
`protected Controller` `newController(javax.xml.transform.Templates sheet, java.util.ArrayList parameterList, java.io.PrintStream traceDestination, java.lang.String initialMode, java.lang.String initialTemplate)` Create a new Controller.
`static long` `now()` Get current time in milliseconds
`java.util.List` `preprocess(java.util.List sources)` Preprocess the list of sources.
`void` `processDirectory(java.util.List sources, javax.xml.transform.Templates sheet, java.io.File outputDir, java.util.ArrayList parameterList, java.lang.String initialTemplate, java.lang.String initialMode, java.io.PrintStream traceDestination)` Process each file in the source directory using the same supplied stylesheet
`void` `processDirectoryAssoc(java.util.List sources, java.io.File outputDir, java.util.ArrayList parameterList, java.lang.String initialMode, java.io.PrintStream traceDestination)` Process each file in the source directory using its own associated stylesheet
`void` `processFile(javax.xml.transform.Source source, javax.xml.transform.Templates sheet, java.io.File outputFile, java.util.ArrayList parameterList, java.lang.String initialTemplate, java.lang.String initialMode, java.io.PrintStream traceDestination)` Process a single file using a supplied stylesheet
`void` `processFileAssoc(javax.xml.transform.Source sourceInput, java.lang.String localName, java.io.File outputFile, java.util.ArrayList parameterList, java.lang.String initialMode, java.io.PrintStream traceDestination)` Process a single source file using its associated stylesheet(s)
`protected static void` `quit(java.lang.String message, int code)` Exit with a message
`void` `setFactoryConfiguration(boolean schemaAware, java.lang.String className)` Set the configuration in the TransformerFactory.
`protected void` `setParams(Controller controller, java.util.ArrayList parameterList)` Supply the requested parameters to the transformer.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### factory

    protected TransformerFactoryImpl factory

### config

    protected Configuration config

### useURLs

    protected boolean useURLs

### showTime

    protected boolean showTime

### repeat

    protected int repeat

Constructor Detail

### Transform

    public Transform()

Method Detail

### main

    public static void main(java.lang.String[] args)
                     throws java.lang.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:
    `java.lang.Exception` - Indicates that a compile-time or run-time error occurred

### setFactoryConfiguration

    public void setFactoryConfiguration(boolean schemaAware,
                                        java.lang.String className)
                                 throws java.lang.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:
    `java.lang.RuntimeException`

### doTransform

    public void doTransform(java.lang.String[] args,
                            java.lang.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 java.util.List preprocess(java.util.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(java.lang.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 java.lang.Object loadDocuments(java.lang.String sourceFileName,
                                                 boolean useURLs,
                                                 Configuration config,
                                                 boolean useSAXSource)
                                          throws javax.xml.transform.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:
    `javax.xml.transform.TransformerException`

### processDirectoryAssoc

    public void processDirectoryAssoc(java.util.List sources,
                                      java.io.File outputDir,
                                      java.util.ArrayList parameterList,
                                      java.lang.String initialMode,
                                      java.io.PrintStream traceDestination)
                               throws java.lang.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:
    `java.lang.Exception` - when any error occurs during a transformation

### processFileAssoc

    public void processFileAssoc(javax.xml.transform.Source sourceInput,
                                 java.lang.String localName,
                                 java.io.File outputFile,
                                 java.util.ArrayList parameterList,
                                 java.lang.String initialMode,
                                 java.io.PrintStream traceDestination)
                          throws javax.xml.transform.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
    `javax.xml.transform.TransformerException`

### newController

    protected Controller newController(javax.xml.transform.Templates sheet,
                                       java.util.ArrayList parameterList,
                                       java.io.PrintStream traceDestination,
                                       java.lang.String initialMode,
                                       java.lang.String initialTemplate)
                                throws javax.xml.transform.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:
    `javax.xml.transform.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(java.util.List sources,
                                 javax.xml.transform.Templates sheet,
                                 java.io.File outputDir,
                                 java.util.ArrayList parameterList,
                                 java.lang.String initialTemplate,
                                 java.lang.String initialMode,
                                 java.io.PrintStream traceDestination)
                          throws javax.xml.transform.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
    `javax.xml.transform.TransformerException`

### processFile

    public void processFile(javax.xml.transform.Source source,
                            javax.xml.transform.Templates sheet,
                            java.io.File outputFile,
                            java.util.ArrayList parameterList,
                            java.lang.String initialTemplate,
                            java.lang.String initialMode,
                            java.io.PrintStream traceDestination)
                     throws javax.xml.transform.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
    `javax.xml.transform.TransformerException`

### setParams

    protected void setParams(Controller controller,
                             java.util.ArrayList parameterList)
                      throws javax.xml.transform.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:
    `javax.xml.transform.TransformerException`

### badUsage

    protected void badUsage(java.lang.String name,
                            java.lang.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

Copyright (c) Saxonica Limited. All rights reserved.