SPL テンプレートは生成するプログラムコードのプログラミング言語で構成されています。テンプレートは 生成されたプログラムコードに MobileTogether データを統合するための SPL 命令のスニペットを含みます。SPL 命令は角かっこで囲まれています。例えば、ファイルを生成するための SPL 命令が黄色でハイライトされた、(XML で書かれた) XML テンプレートがあるとします。
<?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>
複数のステートメントは、かっこのペア内に含まれることができます。追加ステートメントは前のステートメントから新しいラインまたはコロンで区切られる必要があります。有効なサンプルは、以下のとおりです:
[$x = 42 $x = $x + 1] |
[$x = 42: $x = $x + 1] |
角かっこで囲まれていないテキストは出力に直接書き込まれます。角かっこを生成するには、バックスラッシュでエスケープします: \[ と \]。バックスラッシュを生成するには \\ を使用します。
命令ブロック内のコメントは常に'文字から始まり、次のラインまたは終わりの角かっこで終了します。
•整数: 0 が false でその他はすべて true の場合、 ブール値としても使用されます。
•文字列: 文字列のメカニズムを参照
•オブジェクト: MobileTogether により提供されます。例えば、 $Options オブジェクト
変数の型は最初の割り当てで宣言されます:
[$x = 0] は x が整数であることを意味します。
[$x = "teststring"] は x が文字列であることを意味します。
文字列は、 2 重引用符はで囲まれています。2 重引用符内の \n と \t は、新しいラインとタブ、 \"は、リテラルな 2 重引用符、 \\ はバックスラッシュとみなされます。文字列の制約は複数のラインでも示すことができます。文字列の連結は & 文字を使用します:
[$BasePath = $outputpath & "/" & $JavaPackageDir]
オブジェクトは、 MobileTogether 構成です。オブジェクトには、 . operator を使用してアクセスすることのできるプロパティがあります。SPL 内で新しいオブジェクトを作成することはできませんが変数にオブジェクトを割り当てることはできます。例:
class [=$class.Name]
このサンプルの出力単語 class の後には、スペースと $class オブジェクトの Name プロパティの値が続きます。
ELSE を伴うまたは伴わないで IF ステートメントを以下のように使用します。条件の周りに中かっこを使用しないでください。
if condition
statements
else
statements
endif
[if $namespace.ContainsPublicClasses and $namespace.Prefix <> ""]
whatever you want ['inserts whatever you want, in the resulting file]
[endif]
FOREACH ステートメントを使用して以下のように反復します:
foreach object in collection
statements
next
[foreach $class in $classes
if not $class.IsInternal
] class [=$class.Name];
[ endif
next]