Sintaxis SPL
Las plantillas SPL se construyes en el lenguaje de programación del código de programa que se desea generar. Las plantillas contienen fragmentos de código de instrucciones SPL para integrar datos de MobileTogether en el código de programa que se genera. Las instrucciones SPL van entre corchetes. Por ejemplo, a continuación puede ver una plantilla que sirve para generar un archivo XML (escrito en XML), con las instrucciones SPL marcadas en amarillo:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="[=$Options.androidPackageName]"
android:versionCode="[=$Options.appVersion]"
android:versionName="[=$Options.appVersion]">
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="22"/>
</manifest>
Instrucciones múltiples
En un par de corchetes puede introducir varias instrucciones, que deben ir separadas por una nueva línea o por dos puntos. Por ejemplo:
[$x = 42 $x = $x + 1] | [$x = 42: $x = $x + 1] |
Texto
El texto que no esté entre corchetes se escribe en el resultado directamente. Para generar corchetes en el resultado añada el carácter de escape \ (p. ej. \[ y \]. Para generar una barra diagonal inversa en el resultado debe usar \\.
Comentario
Los comentarios situados dentro de un bloque de instrucción siempre empiezan con el carácter ' y terminan en la línea siguiente o con un corchete de cierre.
Variable
Las variables se crean al asignarles valores. El carácter $ se usa para declarar o usar una variable. Los nombres de variables distinguen entre mayúsculas y minúsculas. Las variables pueden ser de dos tipos:
•Entero: también se usa como un booleano (donde 0 es false y todo lo demás es true).
•Cadena: consulte el apartado Mecanismos de manipulación de cadenas.
•Objeto: los objetos vienen dados por MobileTogether. Por ejemplo el objeto $Options.
El tipo de la variable se declara en la primera asignación de valor:
[$x = 0] significa que X a partir de ahora es un entero.
[$x = "cadenaprueba"] significa que X a partir de ahora es una cadena.
Cadena
Las cadenas van entre comillas dobles. Los caracteres \n y \t situados entre comillas dobles se interpretan como una línea nueva y como una tabulación respectivamente. Los caracteres \" se interpretan como comillas dobles literales y \\ como barra diagonal inversa. Las constantes de cadena también puede abarcar varias líneas. La concatenación de cadenas utiliza el carácter &:
[$BasePath = $outputpath & "/" & $JavaPackageDir]
Objeto
Los objetos son estructuras de MobileTogether. Los objetos tienen propiedades a las que se puede acceder con el operador . y en SPL no se pueden crear objetos nuevos pero se pueden asignar objetos a variables. Por ejemplo:
class [=$class.Name]
Este ejemplo genera la palabra class seguida de un espacio y del valor de la propiedad Name del objeto $class.
Condición
Utilice instrucciones IF son o sin la cláusula ELSE tal y como se explica a continuación. No use paréntesis alrededor de la condición.
if condición
instrucciones
else
instrucciones
endif
Ejemplo
[if $espacionombres.ContieneClasesPúblicas y $espacionombres.Prefijo <> ""]
lo que se quiera ['inserta lo que se quiera en el archivo resultante]
[endif]
Iterador
Utilice instrucciones FOREACH para realizar iteraciones de la siguiente manera:
foreach objeto de la colección
instrucciones
next
Ejemplo
[foreach $class in $classes
if not $class.IsInternal
] class [=$class.Name];
[ endif
next]