Marking files for variable replacement
<parsable>
 - Mark Text Files For Parsing / Substituting Variables
Pack files marked <parsable>
 are parsed after copying them to the target system and substitute IzPack variables. Those variables can be defined in a syntax according to their file format, the default for plain files is ${<variable_name>} or $variable_name.
Files must be first added to the pack using <singlefile>
, <file>
 or <fileset>
 before they can be marked parsable.
The variable replacement happens before the afterpack listeners are executed.
Attributes
Attribute | Description | Required | Values |
---|---|---|---|
| Relative or absolute target path of the pack file in which variables should be replaced. May contain IzPack variables resolved during installation. Example:Â The file must have been previously added to the pack. Separators (slashes) in the file name will replaced with the appropriate separator for the operating system. | (required, if no nested fileset is used)Â | File path |
| Specifies the text file type:
| no |
|
| The file encoding | no | A valid Java encoding string |
| Limits this action on a particular OS family, works like for | no | No recommended to use any longer, use the nested |
| id of the condition that controls the application of this action. | no |  No default |
Nested Elements
- <os> - restrict parsing depending on the target operating system, see the OS Restriction element
<fileset> -Â
 tags can be used to mark multiple files parsable at once.Â
The <fileset> which can be used here only supports the attributes targetdir, includes and excludes (not like the similiar Pack FileSet). If targetdir is not defined it will default to "${INSTALL_PATH}".
Filtering can be done with the includes or excludes attribute or nested <includes><include name="..."></includes> Elements
Important:Â <parsable>
 marks files parsable, which have been added using the <singlefile>
, <file>
 or <fileset>
 tags before nested against the <pack> definition. There is no access to the filesystem for a <parsable>
 fileset, but just to files that are packed into the installer before.
Example:
 This specifies that projectExtractor.bat and projectInstaller.bat will be parsed after they are installed only if the conditions defined in the "projectIncluded" condition are met and the operating system is a version of Windows.
< pack  name = "core"  required = "yes" > ...     < file  targetdir = "$INSTALL_PATH"  src = "projectExtractor.bat"  >     < file  targetdir = "$INSTALL_PATH"  src = "projectInstaller.bat"  >     <parsable type = "shell" condition="projectIncluded" >         < os  family = "windows"  />         < fileset  targetdir = "$INSTALL_PATH"  includes = "     </parsable>  ... < pack > |