net.sf.saxon.ant
Class AntTransform

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.MatchingTask
              extended by net.sf.saxon.ant.AntTransform
All Implemented Interfaces:
Cloneable, org.apache.tools.ant.taskdefs.XSLTLogger, org.apache.tools.ant.types.selectors.SelectorContainer

public class AntTransform
extends org.apache.tools.ant.taskdefs.MatchingTask
implements org.apache.tools.ant.taskdefs.XSLTLogger

Processes a set of XML documents via XSLT. This is useful for building views of XML based documentation. This task for running Saxon transformations within Ant is modelled on the standard Ant xslt task (org.apache.tools.ant.taskdefs.XSLTProcess), and makes heavy reuse of its code. See Apache notice above.


Nested Class Summary
static class AntTransform.OutputProperty
          Specify how the result tree should be output as specified in the Serialization specification.
static class AntTransform.Param
          The Param inner class used to store XSL parameters
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
AntTransform()
          Create a new saxon-xslt Task.
 
Method Summary
 void add(org.apache.tools.ant.util.FileNameMapper fileNameMapper)
          Adds a nested filenamemapper.
 void add(org.apache.tools.ant.types.ResourceCollection rc)
          Adds a collection of resources to style in addition to the given file or the implicit fileset.
 void addConfiguredStyle(org.apache.tools.ant.types.resources.Resources rc)
          Add a nested <style> element.
 void addConfiguredXMLCatalog(org.apache.tools.ant.types.XMLCatalog xmlCatalog)
          Add the catalog to our internal catalog
 void addMapper(org.apache.tools.ant.types.Mapper mapper)
          Defines the mapper to map source to destination files.
protected  void configureLiaison(File stylesheet)
          Deprecated. since Ant 1.7
protected  void configureLiaison(org.apache.tools.ant.types.Resource stylesheet)
          Loads the stylesheet and set xsl:param parameters.
 org.apache.tools.ant.types.Path createClasspath()
          Set the optional classpath to the XSL processor
 AntTransform.OutputProperty createOutputProperty()
          Create an instance of an output property to be configured.
 AntTransform.Param createParam()
          Create an instance of an XSL parameter for configuration by Ant.
 void execute()
          Executes the task.
 Configuration getConfiguration()
          Get the Saxon Configuration being used (useful for subclasses)
 Enumeration getOutputProperties()
          Get an enumeration on the outputproperties.
 org.apache.tools.ant.types.XMLCatalog getXMLCatalog()
          Get the XML catalog containing entity definitions
 void init()
          Initialize internal instance of XMLCatalog
 void setBasedir(File dir)
          Set the base directory; optional, default is the project's basedir.
 void setClasspath(org.apache.tools.ant.types.Path classpath)
          Set the optional classpath to the XSL processor
 void setClasspathRef(org.apache.tools.ant.types.Reference r)
          Set the reference to an optional classpath to the XSL processor
 void setDestdir(File dir)
          Set the destination directory into which the XSL result files should be copied to; required, unless in and out are specified.
 void setDTDValidation(boolean validation)
          Indicate whether DTD validation is on or off
 void setExpandDefaults(boolean expand)
          Set whether DTD or schema-defined element and attribute default values should be expanded Default is true
 void setExtension(String name)
          Set the desired file extension to be used for the target; optional, default is html.
 void setFileDirParameter(String fileDirParameter)
          Pass the directory name of the current processed file as a xsl parameter to the transformation.
 void setFileNameParameter(String fileNameParameter)
          Pass the filename of the current processed file as a xsl parameter to the transformation.
 void setForce(boolean force)
          Set whether to check dependencies, or always generate; optional, default is false.
 void setIn(File inFile)
          specifies a single XML document to be styled.
 void setInitialMode(String mode)
          Set the initial mode
 void setInitialTemplate(String name)
          Set the initial template
 void setLineNumbering(boolean numbering)
          Set whether to maintain line numbers for input documents
 void setOut(File outFile)
          Specifies the output name for the styled result from the in attribute; required if in is set
 void setRecoveryPolicy(String policy)
          Set the policy for handling recoverable errors
 void setReloadStylesheet(boolean b)
          Controls whether the stylesheet is reloaded for every transform.
 void setScanIncludedDirectories(boolean b)
          Set whether to style all files in the included directories as well; optional, default is true.
 void setSchemaAware(boolean schemaAware)
          Indicate whether schema-aware processing is required
 void setSchemaValidation(String validation)
          Indicate whether schema validation for all input files to the transformation is strict, lax, or skip
 void setStyle(String xslFile)
          Name of the stylesheet to use - given either relative to the project's basedir or as an absolute path; required.
 void setTracing(boolean tracing)
          Set whether to trace stylesheet execution
 void setUseImplicitFileset(boolean useimplicitfileset)
          Set whether to use the implicit fileset.
 void setXmlVersion(String version)
          Set the XML version to be used for validating names
 void setXslResource(org.apache.tools.ant.types.Resource xslResource)
          API method to set the XSL Resource.
 
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tools.ant.taskdefs.XSLTLogger
log
 

Constructor Detail

AntTransform

public AntTransform()
Create a new saxon-xslt Task.

Method Detail

setScanIncludedDirectories

public void setScanIncludedDirectories(boolean b)
Set whether to style all files in the included directories as well; optional, default is true.

Parameters:
b - true if files in included directories are processed.
Since:
Ant 1.5

setReloadStylesheet

public void setReloadStylesheet(boolean b)
Controls whether the stylesheet is reloaded for every transform.

Setting this to true may get around a bug in certain Xalan-J versions, default is false.

Parameters:
b - a boolean value
Since:
Ant 1.5.2

addMapper

public void addMapper(org.apache.tools.ant.types.Mapper mapper)
Defines the mapper to map source to destination files.

Parameters:
mapper - the mapper to use
Throws:
org.apache.tools.ant.BuildException - if more than one mapper is defined
Since:
Ant 1.6.2

add

public void add(org.apache.tools.ant.types.ResourceCollection rc)
Adds a collection of resources to style in addition to the given file or the implicit fileset.

Parameters:
rc - the collection of resources to style
Since:
Ant 1.7

addConfiguredStyle

public void addConfiguredStyle(org.apache.tools.ant.types.resources.Resources rc)
Add a nested <style> element.

Parameters:
rc - the configured Resources object represented as <style>.
Since:
Ant 1.7

setXslResource

public void setXslResource(org.apache.tools.ant.types.Resource xslResource)
API method to set the XSL Resource.

Parameters:
xslResource - Resource to set as the stylesheet.
Since:
Ant 1.7

add

public void add(org.apache.tools.ant.util.FileNameMapper fileNameMapper)
         throws org.apache.tools.ant.BuildException
Adds a nested filenamemapper.

Parameters:
fileNameMapper - the mapper to add
Throws:
org.apache.tools.ant.BuildException - if more than one mapper is defined
Since:
Ant 1.7.0

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Executes the task.

Overrides:
execute in class org.apache.tools.ant.Task
Throws:
org.apache.tools.ant.BuildException - if there is an execution problem.

setForce

public void setForce(boolean force)
Set whether to check dependencies, or always generate; optional, default is false.

Parameters:
force - true if always generate.

setBasedir

public void setBasedir(File dir)
Set the base directory; optional, default is the project's basedir.

Parameters:
dir - the base directory

setDestdir

public void setDestdir(File dir)
Set the destination directory into which the XSL result files should be copied to; required, unless in and out are specified.

Parameters:
dir - the name of the destination directory

setExtension

public void setExtension(String name)
Set the desired file extension to be used for the target; optional, default is html.

Parameters:
name - the extension to use

setStyle

public void setStyle(String xslFile)
Name of the stylesheet to use - given either relative to the project's basedir or as an absolute path; required.

Parameters:
xslFile - the stylesheet to use

setClasspath

public void setClasspath(org.apache.tools.ant.types.Path classpath)
Set the optional classpath to the XSL processor

Parameters:
classpath - the classpath to use when loading the XSL processor

createClasspath

public org.apache.tools.ant.types.Path createClasspath()
Set the optional classpath to the XSL processor

Returns:
a path instance to be configured by the Ant core.

setClasspathRef

public void setClasspathRef(org.apache.tools.ant.types.Reference r)
Set the reference to an optional classpath to the XSL processor

Parameters:
r - the id of the Ant path instance to act as the classpath for loading the XSL processor

setSchemaAware

public void setSchemaAware(boolean schemaAware)
Indicate whether schema-aware processing is required

Parameters:
schemaAware - true if schema-aware processing is required

setSchemaValidation

public void setSchemaValidation(String validation)
Indicate whether schema validation for all input files to the transformation is strict, lax, or skip

Parameters:
validation - "strict", "lax" or "skip"

setDTDValidation

public void setDTDValidation(boolean validation)
Indicate whether DTD validation is on or off

Parameters:
validation - set to true to request DTD validation of all input files to the transformation

setExpandDefaults

public void setExpandDefaults(boolean expand)
Set whether DTD or schema-defined element and attribute default values should be expanded Default is true

Parameters:
expand - true to expand default values, false if they are to be suppressed

setInitialMode

public void setInitialMode(String mode)
Set the initial mode

Parameters:
mode - the initial mode for the transformation, in Clark notation

setInitialTemplate

public void setInitialTemplate(String name)
Set the initial template

Parameters:
name - the name of the initial template for the transformation, in Clark notation

setRecoveryPolicy

public void setRecoveryPolicy(String policy)
Set the policy for handling recoverable errors

Parameters:
policy - one of "silent", "recover", or "fatal". Default is "recover".

setTracing

public void setTracing(boolean tracing)
Set whether to trace stylesheet execution

Parameters:
tracing - true to trace execution. Default is false

setLineNumbering

public void setLineNumbering(boolean numbering)
Set whether to maintain line numbers for input documents

Parameters:
numbering - true to maintain line numbers. Default is false

setXmlVersion

public void setXmlVersion(String version)
Set the XML version to be used for validating names

Parameters:
version - One of "1.0" or "1.1". Default is "1.0".

setUseImplicitFileset

public void setUseImplicitFileset(boolean useimplicitfileset)
Set whether to use the implicit fileset.

Set this to false if you want explicit control with nested resource collections.

Parameters:
useimplicitfileset - set to true if you want to use implicit fileset
Since:
Ant 1.7

addConfiguredXMLCatalog

public void addConfiguredXMLCatalog(org.apache.tools.ant.types.XMLCatalog xmlCatalog)
Add the catalog to our internal catalog

Parameters:
xmlCatalog - the XMLCatalog instance to use to look up DTDs

setFileNameParameter

public void setFileNameParameter(String fileNameParameter)
Pass the filename of the current processed file as a xsl parameter to the transformation. This value sets the name of that xsl parameter.

Parameters:
fileNameParameter - name of the xsl parameter retrieving the current file name

setFileDirParameter

public void setFileDirParameter(String fileDirParameter)
Pass the directory name of the current processed file as a xsl parameter to the transformation. This value sets the name of that xsl parameter.

Parameters:
fileDirParameter - name of the xsl parameter retrieving the current file directory

setOut

public void setOut(File outFile)
Specifies the output name for the styled result from the in attribute; required if in is set

Parameters:
outFile - the output File instance.

setIn

public void setIn(File inFile)
specifies a single XML document to be styled. Should be used with the out attribute; ; required if out is set

Parameters:
inFile - the input file

getConfiguration

public Configuration getConfiguration()
Get the Saxon Configuration being used (useful for subclasses)

Returns:
the Saxon Configuration

getXMLCatalog

public org.apache.tools.ant.types.XMLCatalog getXMLCatalog()
Get the XML catalog containing entity definitions

Returns:
the XML catalog for the task.

getOutputProperties

public Enumeration getOutputProperties()
Get an enumeration on the outputproperties.

Returns:
the outputproperties

createParam

public AntTransform.Param createParam()
Create an instance of an XSL parameter for configuration by Ant.

Returns:
an instance of the Param class to be configured.

createOutputProperty

public AntTransform.OutputProperty createOutputProperty()
Create an instance of an output property to be configured.

Returns:
the newly created output property.
Since:
Ant 1.5

init

public void init()
          throws org.apache.tools.ant.BuildException
Initialize internal instance of XMLCatalog

Overrides:
init in class org.apache.tools.ant.Task
Throws:
org.apache.tools.ant.BuildException - on error

configureLiaison

protected void configureLiaison(File stylesheet)
                         throws org.apache.tools.ant.BuildException
Deprecated. since Ant 1.7

Loads the stylesheet and set xsl:param parameters.

Parameters:
stylesheet - the file from which to load the stylesheet.
Throws:
org.apache.tools.ant.BuildException - if the stylesheet cannot be loaded.

configureLiaison

protected void configureLiaison(org.apache.tools.ant.types.Resource stylesheet)
                         throws org.apache.tools.ant.BuildException
Loads the stylesheet and set xsl:param parameters.

Parameters:
stylesheet - the resource from which to load the stylesheet.
Throws:
org.apache.tools.ant.BuildException - if the stylesheet cannot be loaded.
Since:
Ant 1.7


Copyright (c) Saxonica Limited. All rights reserved.