Variables
Any non-trivial SPL file will require variables. Some variables are predefined by the code generator, and new variables may be created simply by assigning values to them.
The \$ character is used when declaring or using a variable, a variable name is always prefixed by \$. Variable names are case sensitive.
Variables types:
•integer - also used as boolean, where 0 is false and everything else is true
•string
•object - provided by XMLSpy
•iterator - see foreach statement
Variable types are declared by first assignment:
[\$x = 0] |
x is now an integer.
[\$x = "teststring"] |
x is now treated as a string.
Strings
String constants are always enclosed in double quotes, like in the example above. \ and \t inside double quotes are interpreted as newline and tab, \" is a literal double quote, and \\ is a backslash. String constants can also span multiple lines.
String concatenation uses the & character:
[\$BasePath = \$outputpath & "/" & \$JavaPackageDir] |
Objects
Objects represent the information contained in the XML schema. Objects have properties, which can be accessed using the . operator. It is not possible to create new objects in SPL (they are predefined by the code generator, derived from the input schema), but it is possible to assign objects to variables.
Example:
class [=\$class.Name]
This example outputs the word "class", followed by a space and the value of the Name property of the \$class object.