net.sf.saxon
Class Transform

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

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


Field Summary
protected  Configuration config
           
protected  TransformerFactoryImpl factory
           
protected  NamePool namePool
           
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
protected  void doMain(java.lang.String[] args, java.lang.String name)
          Support method for main program.
 void execute(java.lang.String initialTemplate, javax.xml.transform.Templates sheet, java.io.File outputFile, java.util.ArrayList parameterList, java.lang.String initialMode)
          Invoke a supplied stylesheet with no source document
static java.util.List loadDocuments(java.lang.String sourceFileName, boolean useURLs, Configuration config)
          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.
static TraceListener makeTraceListener(java.lang.String className)
          Create an instance of a TraceListener with a specified class name
static javax.xml.transform.URIResolver makeURIResolver(java.lang.String className)
          Create an instance of a URIResolver with a specified class name
 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 initialMode)
          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)
          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 initialMode)
          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)
          Process a single source file using its associated stylesheet(s)
protected static void quit(java.lang.String message, int code)
          Exit with a message
protected  void setFactoryConfiguration()
          Set the configuration in the TransformerFactory.
 
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

namePool

protected NamePool namePool

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

protected void setFactoryConfiguration()
Set the configuration in the TransformerFactory. This is designed to be overridden in a subclass


doMain

protected void doMain(java.lang.String[] args,
                      java.lang.String name)
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
name - name of the class, to be used in error messages

preprocess

public java.util.List preprocess(java.util.List sources)
                          throws javax.xml.transform.TransformerException
Preprocess the list of sources. This method exists so that it can be overridden in a subclass

javax.xml.transform.TransformerException

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.util.List loadDocuments(java.lang.String sourceFileName,
                                           boolean useURLs,
                                           Configuration config)
                                    throws javax.xml.transform.TransformerException
Load a document, or all the documents in a directory, given a filename or URL

javax.xml.transform.TransformerException

processDirectoryAssoc

public void processDirectoryAssoc(java.util.List sources,
                                  java.io.File outputDir,
                                  java.util.ArrayList parameterList,
                                  java.lang.String initialMode)
                           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
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)
                      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
Throws:
javax.xml.transform.TransformerException - If the transformation fails

processDirectory

public void processDirectory(java.util.List sources,
                             javax.xml.transform.Templates sheet,
                             java.io.File outputDir,
                             java.util.ArrayList parameterList,
                             java.lang.String initialMode)
                      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
initialMode - Initial mode for executing each transformation
Throws:
javax.xml.transform.TransformerException - when any error occurs during a transformation

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 initialMode)
                 throws javax.xml.transform.TransformerException
Process a single file using a supplied stylesheet

Parameters:
source - The source XML document to be transformed
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
initialMode - Initial mode for executing the transformation
Throws:
javax.xml.transform.TransformerException - If the transformation fails

execute

public void execute(java.lang.String initialTemplate,
                    javax.xml.transform.Templates sheet,
                    java.io.File outputFile,
                    java.util.ArrayList parameterList,
                    java.lang.String initialMode)
             throws javax.xml.transform.TransformerException
Invoke a supplied stylesheet with no source document

Parameters:
initialTemplate - The entry point to the stylesheet
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
initialMode - Initial mode for executing the transformation
Throws:
javax.xml.transform.TransformerException - If the transformation fails

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

makeURIResolver

public static javax.xml.transform.URIResolver makeURIResolver(java.lang.String className)
                                                       throws javax.xml.transform.TransformerException
Create an instance of a URIResolver with a specified class name

Parameters:
className - The fully-qualified name of the URIResolver class
Returns:
The newly created URIResolver
Throws:
javax.xml.transform.TransformerException - if the requested class does not implement the javax.xml.transform.URIResolver interface

makeTraceListener

public static TraceListener makeTraceListener(java.lang.String className)
                                       throws javax.xml.transform.TransformerException
Create an instance of a TraceListener with a specified class name

Parameters:
className - The fully qualified class name of the TraceListener to be constructed
Returns:
the newly constructed TraceListener
Throws:
javax.xml.transform.TransformerException - if the requested class does not implement the net.sf.saxon.trace.TraceListener interface