Altova XMLSpy 2024 Enterprise Edition

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.

© 2017-2023 Altova GmbH