The Wizard Markup Language (WIZML) defines the logic of generating code based on user input in a Tag Editor or a Wizard. In a tag editor, the WIZML in the template defined in the TAGLAYOUT sections is used to generate the final tag string. For a wizard, the WIZML is stored in one or more templates which dynamically create files based on the data provided by the wizard.
For example, if a wizard generates a tag called <GIZMO> with a single attribute FILEPATH, the template could look as simple as this:<GIZMO FILEPATH="$${txtFilePath}">
This example will create a file with a single <GIZMO> tag. Notice the syntax $${variablename}
that is used to populate the value of FilePath with the actual value entered in the wizard.
The behavior of tag layout templates and wizard output templates is controlled by WIZML, a high-level markup syntax that works very much like CFML.
The tag set consists of:
A function library and an expression syntax are supported within output templates.
Output templates are driven by the values of parameters, much like ColdFusion templates are driven by the values of Form and URL parameters. Parameters can be output directly or can be used to customize the type of output generated. The values of these wizard parameters can originate from several locations:
To output the value of a parameter within a template, use a double dollar sign escape sequence. For example, to output the value of a variable named Color
you would use the syntax $${Color}
. While this is the recommended syntax, you can use a simpler form for a parameter value within the attribute of a WIZ tag. For example, <WIZIF Color="black">
is valid.
In the definition of displayable strings within an output template tag attribute the C-language convention (\) for escaping special characters can be used.
Special characters of note include newline (\n), carriage-return (\r), tab (\t), quote (\'), double quote (\") and backslash (\\). In the following example WIZSET is used to define a relative path to be written in the generated code:
<WIZSET path = '..\\..\\Header.wml'> $${path}
Note that the same syntax can be used in displayable strings in the controls of the user interface of a Wizard.