org.apache.tools.ant.taskdefs
Class XSLTProcess

java.lang.Object
  extended byorg.apache.tools.ant.ProjectComponent
      extended byorg.apache.tools.ant.Task
          extended byorg.apache.tools.ant.taskdefs.MatchingTask
              extended byorg.apache.tools.ant.taskdefs.XSLTProcess
All Implemented Interfaces:
SelectorContainer, XSLTLogger

public class XSLTProcess
extends MatchingTask
implements XSLTLogger

Processes a set of XML documents via XSLT. This is useful for building views of XML based documentation.

Since:
Ant 1.1
Version:
$Revision: 1.43.2.9 $
Author:
Keith Visco, Sam Ruby, Russell Gold, Stefan Bodewig, Stephane Bailliez

Nested Class Summary
static class XSLTProcess.OutputProperty
          Specify how the result tree should be output as specified in the specification.
static class XSLTProcess.Param
          The Param inner class used to store XSL parameters
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset, useDefaultExcludes
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
XSLTProcess()
          Creates a new XSLTProcess Task.
 
Method Summary
 void addConfiguredXMLCatalog(XMLCatalog xmlCatalog)
          Add the catalog to our internal catalog
protected  void configureLiaison(java.io.File stylesheet)
          Loads the stylesheet and set xsl:param parameters.
protected  void configureTraXLiaison(TraXLiaison liaison)
          Specific configuration for the TRaX liaison.
 Path createClasspath()
          Set the optional classpath to the XSL processor
 XSLTProcess.OutputProperty createOutputProperty()
          Create an instance of an output property to be configured.
 XSLTProcess.Param createParam()
          Create an instance of an XSL parameter for configuration by Ant.
 void execute()
          Executes the task.
protected  XSLTLiaison getLiaison()
          Get the Liason implementation to use in processing.
 void init()
          Initialize internal instance of XMLCatalog
 void setBasedir(java.io.File dir)
          Set the base directory; optional, default is the project's basedir.
 void setClasspath(Path classpath)
          Set the optional classpath to the XSL processor
 void setClasspathRef(Reference r)
          Set the reference to an optional classpath to the XSL processor
 void setDestdir(java.io.File dir)
          Set the destination directory into which the XSL result files should be copied to; required, unless in and out are specified.
 void setExtension(java.lang.String name)
          Set the desired file extension to be used for the target; optional, default is html.
 void setForce(boolean force)
          Set whether to check dependencies, or always generate; optional, default is false.
 void setIn(java.io.File inFile)
          specifies a single XML document to be styled.
 void setOut(java.io.File outFile)
          Specifies the output name for the styled result from the in attribute; required if in is set
 void setProcessor(java.lang.String processor)
          Set the name of the XSL processor to use; optional, default trax.
 void setReloadStylesheet(boolean b)
          Controls whether the stylesheet is reloaded for every transform
 void setScanIncludedDirectories(boolean b)
          Whether to style all files in the included directories as well; optional, default is true.
 void setStyle(java.lang.String xslFile)
          Name of the stylesheet to use - given either relative to the project's basedir or as an absolute path; required.
 
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
addAnd, addContains, addCustom, addDate, addDepend, addDepth, addFilename, addMajority, addNone, addNot, addOr, addPresent, addSelector, addSize, 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
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tools.ant.taskdefs.XSLTLogger
log
 

Constructor Detail

XSLTProcess

public XSLTProcess()
Creates a new XSLTProcess Task.

Method Detail

setScanIncludedDirectories

public void setScanIncludedDirectories(boolean b)
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.

Since:
Ant 1.5.2

execute

public void execute()
             throws BuildException
Executes the task.

Overrides:
execute in class Task
Throws:
BuildException - if there is an execution problem.
To do:
validate that if either in or our is defined, then both are

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(java.io.File dir)
Set the base directory; optional, default is the project's basedir.

Parameters:
dir - the base directory

setDestdir

public void setDestdir(java.io.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(java.lang.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(java.lang.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(Path classpath)
Set the optional classpath to the XSL processor

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

createClasspath

public 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(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

setProcessor

public void setProcessor(java.lang.String processor)
Set the name of the XSL processor to use; optional, default trax. Other values are "xalan" for Xalan1 and "xslp" for XSL:P, though the later is strongly deprecated.

Parameters:
processor - the name of the XSL processor

addConfiguredXMLCatalog

public void addConfiguredXMLCatalog(XMLCatalog xmlCatalog)
Add the catalog to our internal catalog

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

setOut

public void setOut(java.io.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(java.io.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

getLiaison

protected XSLTLiaison getLiaison()
Get the Liason implementation to use in processing.

Returns:
an instance of the XSLTLiason interface.

createParam

public XSLTProcess.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 XSLTProcess.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 BuildException
Initialize internal instance of XMLCatalog

Overrides:
init in class Task
Throws:
BuildException - if someting goes wrong with the build

configureLiaison

protected void configureLiaison(java.io.File stylesheet)
                         throws BuildException
Loads the stylesheet and set xsl:param parameters.

Parameters:
stylesheet - the file form which to load the stylesheet.
Throws:
BuildException - if the stylesheet cannot be loaded.

configureTraXLiaison

protected void configureTraXLiaison(TraXLiaison liaison)
Specific configuration for the TRaX liaison. Support for all others has been dropped so this liaison will soon look like the exact copy of JAXP interface..

Parameters:
liaison - the TRaXLiaison to configure.


Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.