Package freemarker.ext.ant
Class FreemarkerXmlTask
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MatchingTask
freemarker.ext.ant.FreemarkerXmlTask
- All Implemented Interfaces:
org.apache.tools.ant.types.selectors.SelectorContainer
Deprecated.
FMPP is a more complete solution.
This is an Ant task for transforming
XML documents using FreeMarker templates. It uses the adapter class
NodeListModel. It will read a set of XML documents, and pass them to
the template for processing, building the corresponding output files in the
destination directory.
It makes the following variables available to the template in the data model:
document: Deprecated! The DOM tree of the currently processed XML file wrapped with the legacyNodeListModel. For new projects you should use the.nodeinstead, which initially contains the DOM Document wrapped withNodeModel.properties: aSimpleHashcontaining properties of the project that executes the taskuserProperties: aSimpleHashcontaining user properties of the project that executes the taskproject: the DOM tree of the XML file specified by theprojectfile. It will not be available if you didn't specify theprojectfileattribute.- further custom models can be instantiated and made available to the
templates using the
modelsattribute.
It supports the following attributes:
| Attribute | Description | Required |
|---|---|---|
| basedir | location of the XML files. Defaults to the project's basedir. | No |
| destdir | location to store the generated files. | Yes |
| includes | comma-separated list of patterns of files that must be included; all files are included when omitted. | No |
| includesfile | the name of a file that contains include patterns. | No |
| excludes | comma-separated list of patterns of files that must be excluded; no files (except default excludes) are excluded when omitted. | No |
| excludesfile | the name of a file that contains exclude patterns. | No |
| defaultexcludes | indicates whether default excludes should be used
(yes | no); default excludes are used when omitted. |
No |
| extension | extension of generated files. Defaults to .html. | No |
| template | name of the FreeMarker template file that will be applied by default to XML files | No |
| templateDir | location of the FreeMarker template(s) to be used, defaults to the project's baseDir | No |
| projectfile | path to the project file. The poject file must be an XML file. If omitted, it will not be available to templates | No |
| incremental | indicates whether all files should be regenerated (no), or only those that are older than the XML file, the template file, or the project file (yes). Defaults to yes. | No |
| encoding | The encoding of the output files. Defaults to platform default encoding. | No |
| templateEncoding | The encoding of the template files. Defaults to platform default encoding. | No |
| validation | Whether to validate the XML input. Defaults to off. | No |
| models | A list of [name=]className pairs separated by spaces, commas, or semicolons that specifies further models that should be available to templates. If name is omitted, the unqualified class name is used as the name. Every class that is specified must implement the TemplateModel interface and have a no-args constructor. | No |
It supports the following nesed elements:
| Element | Description | Required |
|---|---|---|
| prepareModel |
This element executes Jython script before the processing of each XML
files, that you can use to modify the data model.
You either enter the Jython script directly nested into this
element, or specify a Jython script file with the file
attribute.
The following variables are added to the Jython runtime's local
namespace before the script is invoked:
|
No |
| prepareEnvironment | This element executes Jython script before the processing
of each XML files, that you can use to modify the freemarker environment
(Environment). The script is executed after the
prepareModel element. The accessible Jython variables are the
same as with the prepareModel element, except that there is no
model variable, but there is env variable, which is
the FreeMarker environment (Environment).
If this element is used, Jython classes (tried with Jython 2.1)
must be available.
|
No |
-
Field Summary
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
filesetFields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapperFields inherited from class org.apache.tools.ant.ProjectComponent
project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConfiguredJython(JythonAntTask jythonAntTask)Deprecated.voidaddConfiguredPrepareEnvironment(JythonAntTask prepareEnvironment)Deprecated.voidaddConfiguredPrepareModel(JythonAntTask prepareModel)Deprecated.voidexecute()Deprecated.protected voidinsertDefaults(Map root)Deprecated.voidsetBasedir(File dir)Deprecated.Set the base directory.voidsetDestdir(File dir)Deprecated.Set the destination directory into which the generated files should be copied tovoidsetEncoding(String encoding)Deprecated.Set encoding for generated files.voidsetExtension(String extension)Deprecated.Set the output file extension.voidsetIncremental(String incremental)Deprecated.Turn on/off incremental processing.voidDeprecated.voidsetProjectfile(String projectAttribute)Deprecated.Set the path to the project XML filevoidsetTemplate(String templateName)Deprecated.voidsetTemplateDir(File templateDir)Deprecated.voidsetTemplateEncoding(String inputEncoding)Deprecated.voidsetValidation(boolean validation)Deprecated.Sets whether to validate the XML input.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, XsetItemsMethods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponent
getProject
-
Constructor Details
-
FreemarkerXmlTask
public FreemarkerXmlTask()Deprecated.Constructor creates the SAXBuilder.
-
-
Method Details
-
setBasedir
Deprecated.Set the base directory. Defaults to. -
setDestdir
Deprecated.Set the destination directory into which the generated files should be copied to- Parameters:
dir- the name of the destination directory
-
setExtension
Deprecated.Set the output file extension..htmlby default. -
setTemplate
Deprecated. -
setTemplateDir
Deprecated.- Throws:
org.apache.tools.ant.BuildException
-
setProjectfile
Deprecated.Set the path to the project XML file -
setIncremental
Deprecated.Turn on/off incremental processing. On by default -
setEncoding
Deprecated.Set encoding for generated files. Defaults to platform default encoding. -
setTemplateEncoding
Deprecated. -
setValidation
public void setValidation(boolean validation)Deprecated.Sets whether to validate the XML input. -
setModels
Deprecated. -
execute
public void execute() throws org.apache.tools.ant.BuildExceptionDeprecated.- Overrides:
executein classorg.apache.tools.ant.Task- Throws:
org.apache.tools.ant.BuildException
-
addConfiguredJython
Deprecated. -
addConfiguredPrepareModel
Deprecated. -
addConfiguredPrepareEnvironment
Deprecated. -
insertDefaults
Deprecated.
-