Package 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.- Author:
- Michael H. Kay
-
-
Field Summary
Fields Modifier and Type Field Description protected Configuration
config
protected TransformerFactoryImpl
factory
protected int
repeat
protected boolean
showTime
(package private) java.lang.String
sourceParserName
protected boolean
useURLs
-
Constructor Summary
Constructors Constructor Description Transform()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 availablevoid
doTransform(java.lang.String[] args, java.lang.String command)
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 documentprotected 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 URLstatic void
main(java.lang.String[] args)
Main program, can be used directly from the command line.static long
now()
Get current time in millisecondsjava.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 stylesheetvoid
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 stylesheetvoid
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 stylesheetvoid
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 messagevoid
setFactoryConfiguration(boolean schemaAware)
Set the configuration in the TransformerFactory.void
setPOption(Configuration config)
-
-
-
Field Detail
-
factory
protected TransformerFactoryImpl factory
-
config
protected Configuration config
-
useURLs
protected boolean useURLs
-
showTime
protected boolean showTime
-
repeat
protected int repeat
-
sourceParserName
java.lang.String sourceParserName
-
-
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) throws java.lang.RuntimeException
Set the configuration in the TransformerFactory. This is designed to be overridden in a subclass- Parameters:
schemaAware
-- 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 argumentscommand
- 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- Throws:
XPathException
-
getConfiguration
protected Configuration getConfiguration()
Get the configuration.
-
quit
protected static void quit(java.lang.String message, int code)
Exit with a message- Parameters:
message
- The message to be outputcode
- 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- 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) 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 processedoutputDir
- The directory in which output files are to be createdparameterList
- List of parameters to be supplied to each transformationinitialMode
- 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 transformedlocalName
- The local name of the file within the directory, excluding the file type suffixoutputFile
- The output file to contain the results of the transformationparameterList
- List of parameters to be supplied to the transformationinitialMode
- Initial mode for executing the transformation- Throws:
XPathException
- If the transformation failsjavax.xml.transform.TransformerException
-
now
public static long now()
Get current time in milliseconds
-
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 processedsheet
- The Templates object identifying the stylesheetoutputDir
- The directory in which output files are to be createdparameterList
- List of parameters to be supplied to each transformationinitialMode
- Initial mode for executing each transformation- Throws:
XPathException
- when any error occurs during a transformationjavax.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 initialMode) throws javax.xml.transform.TransformerException
Process a single file using a supplied stylesheet- Parameters:
source
- The source XML document to be transformedsheet
- The Templates object identifying the stylesheetoutputFile
- The output file to contain the results of the transformationparameterList
- List of parameters to be supplied to the transformationinitialMode
- Initial mode for executing the transformation- Throws:
XPathException
- If the transformation failsjavax.xml.transform.TransformerException
-
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 stylesheetsheet
- The Templates object identifying the stylesheetoutputFile
- The output file to contain the results of the transformationparameterList
- List of parameters to be supplied to the transformationinitialMode
- Initial mode for executing the transformation- Throws:
XPathException
- If the transformation failsjavax.xml.transform.TransformerException
-
setPOption
public void setPOption(Configuration config)
-
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
-
-