net.sf.saxon

Class Transform

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 Summary
protected Configurationconfig
protected TransformerFactoryImplfactory
protected intrepeat
protected booleanshowTime
StringsourceParserName
protected booleanuseURLs
Method Summary
protected voidbadUsage(String name, String message)
Report incorrect usage of the command line, with a list of the options and arguments that are available
voiddoTransform(String[] args, String command)
Support method for main program.
voidexecute(String initialTemplate, Templates sheet, File outputFile, ArrayList parameterList, String initialMode)
Invoke a supplied stylesheet with no source document
protected ConfigurationgetConfiguration()
Get the configuration.
static ObjectloadDocuments(String sourceFileName, boolean useURLs, Configuration config, boolean useSAXSource)
Load a document, or all the documents in a directory, given a filename or URL
static voidmain(String[] args)
Main program, can be used directly from the command line.
static longnow()
Get current time in milliseconds
Listpreprocess(List sources)
Preprocess the list of sources.
voidprocessDirectory(List sources, Templates sheet, File outputDir, ArrayList parameterList, String initialMode)
Process each file in the source directory using the same supplied stylesheet
voidprocessDirectoryAssoc(List sources, File outputDir, ArrayList parameterList, String initialMode)
Process each file in the source directory using its own associated stylesheet
voidprocessFile(Source source, Templates sheet, File outputFile, ArrayList parameterList, String initialMode)
Process a single file using a supplied stylesheet
voidprocessFileAssoc(Source sourceInput, String localName, File outputFile, ArrayList parameterList, String initialMode)
Process a single source file using its associated stylesheet(s)
protected static voidquit(String message, int code)
Exit with a message
voidsetFactoryConfiguration(boolean schemaAware)
Set the configuration in the TransformerFactory.
voidsetPOption(Configuration config)

Field Detail

config

protected Configuration config

factory

protected TransformerFactoryImpl factory

repeat

protected int repeat

showTime

protected boolean showTime

sourceParserName

String sourceParserName

useURLs

protected boolean useURLs

Method Detail

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

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

execute

public void execute(String initialTemplate, Templates sheet, File outputFile, ArrayList parameterList, String initialMode)
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: net.sf.saxon.trans.XPathException If the transformation fails

getConfiguration

protected Configuration getConfiguration()
Get the configuration.

loadDocuments

public static Object loadDocuments(String sourceFileName, boolean useURLs, Configuration config, boolean useSAXSource)
Load a document, or all the documents in a directory, given a filename or URL

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.

main

public static void main(String[] args)
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

now

public static long now()
Get current time in milliseconds

preprocess

public List preprocess(List sources)
Preprocess the list of sources. This method exists so that it can be overridden in a subclass

processDirectory

public void processDirectory(List sources, Templates sheet, File outputDir, ArrayList parameterList, String initialMode)
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: XPathException when any error occurs during a transformation

processDirectoryAssoc

public void processDirectoryAssoc(List sources, File outputDir, ArrayList parameterList, String initialMode)
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: Exception when any error occurs during a transformation

processFile

public void processFile(Source source, Templates sheet, File outputFile, ArrayList parameterList, String initialMode)
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: net.sf.saxon.trans.XPathException If the transformation fails

processFileAssoc

public void processFileAssoc(Source sourceInput, String localName, File outputFile, ArrayList parameterList, String initialMode)
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: XPathException If the transformation fails

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

setFactoryConfiguration

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

Parameters: schemaAware

setPOption

public void setPOption(Configuration config)