Working with properties

All IXIASOFT Ant properties follow a naming convention that defines a global and local scope:

  • Global scope: All outgen.* properties are global: Once they have been defined, they are available for any tasks or targets.

    All outgen.job.* properties are also global properties, in that they can be accessed by other targets, but they are specific to the current job.

  • Local scope: All job.* properties are local to the current target. They are set and exist in the current target only.
Ant properties are immutable: Once an Ant property is set, it cannot be modified. This is a very important concept to remember when working with Ant properties in your transformation scenarios.

Some properties are set dynamically by the IXIASOFT Output Generator process (for example, outgen.job.source.name, which is the ID of the object to transform). You can access them in your transformation scenarios.

Other properties can be set by your transformation scenarios, but you must be careful where you set a property because you will not be able to modify it once it is set. You can set properties in the following sections of your code, in order of precedence:
  1. Top of your conductor file (outside of a target)
  2. File outgen-init-client.xml
  3. Custom default_dependency target
  4. Transformation target
For example, if you set a property in the outgen-init-client.xml file, you will not be able to update it in your transformation target. Therefore, as a general rule, IXIASOFT recommends that:
  • You set the properties that apply to all your transformation scenarios in the outgen-init-client.xml file.
  • You set properties that may change by job in the transformation target.
Note: The list above provides the execution order of the files that can be customized. For the execution order of all the files and targets/tasks in the IXIASOFT Output Generator, see the following document:
%OutputGenDir%/data/outgen-execution-order.htm

IXIASOFT Output Generator default values

IXIASOFT Output Generator sets default values for some Ant properties in files such as the default_dependencies target or the outgen-init-client.xml file. These default values can be overwritten in your code. Since Ant properties cannot be set twice, the Output Generator proceeds as follows: Once it has read all your custom files, it checks if you have set a value for the property. If you haven't set a value for the property, it will use the default value. This is the case for the following properties:
Property Default value
outgen.job.default.pdf.formatter fop
outgen.job.ant.java.home ${java.home}
outgen.job.ant.java.memory 512m
outgen.job.ant.opts -Xmx${outgen.job.ant.java.memory} -Djavax.xml.transform.TransformerFactory =net.sf.saxon.TransformerFactoryImpl
outgen.job.ant.path ${outgen.ot.dir}${file.separator}tools ${file.separator}ant${file.separator}bin ${path.separator}${env.Path}
outgen.job.ant.home ${outgen.ot.dir}${file.separator}tools ${file.separator}ant
outgen.job.keep.temp no
outgen.job.keep.topicfo no
outgen.job.clean.ot.temp yes
outgen.job.clean.outputdir yes