単純なアクセスに加えて、構成を使用して、ワークフロー マークアップのさまざまなバージョンを生成できます。たとえば、複数のテキスト入力でループを使用してマークアップを生成したり、チェックボックス入力に応じて条件付きでマークアップを生成したりできます。
ヘルパー関数は、多くの場合、この目的に最適です。次のセクションでは、使用可能なヘルパーとその使用方法について説明します。
以下は、キーワードとその説明のリストとコード例です。
{#assign "myval"}
これは変数
{/assign}です 
             +、/-*) %を実行できるようにします。{数学myNum"+"5}
             @index アクセスでき、現在のキー名には から @keyアクセスできます。また @first 、 と @lastを使用して、イテレーションの最初/最後のステップにいるかどうかを確認することもできます{#each myObj}
{@index}
{/それぞれ}
             ==,>,,<,>= と演算子 <= として使用できます。ハッシュ パラメーターを使用して、カウンターをインクリメントまたはデクリメントできます。{#for 5 ">" 0 after="-2"}
{これ}
{/for}
             ==、 !=、 <、 <=は演算子 equalsIgnoreCase として使用できます。{comapre myStr "==" "ハロー}
             {#switch タイプ}
{#case "記事"}
これは記事
です{/case}
{#case "resource"}
これはリソース
です{/case}
             isCar=false と hasLicense=true:{#if (または (and isCar hasPlate) (and (not isCar) hasLicense)))}
運転が許可されています。
{その他}
運転は許可されていません。
             trueVar=true"This is text" を出力として提供するコード例:{trueVar でなければ}
これはテキスト
{/unless}です
             TRUE コード FALSE 例:{と isCar hasPlate}
             TRUE コード FALSE 例:{または isCar hasPlate}
             isCar=false出力として返すTRUEコード例:{isCarではない}
             size、 is_not_singleton、および演算子 is_singleton として使用できます。 
             {コレクションmyColl "サイズ"}
             {#each バー}
{ルックアップ../foo@index}
{/each}
             {#with myVal}
{#ech myObj}
{/それぞれ}
{/with}
            以下は、キーワードとその説明のリストとコード例です。
"lowercase"、、 "lowercase_underscore"または "lowercase_hyphen") に特定の書式を適用できます。{caseFormat myStr "lowercase_underscore"}
             {capitalize最初の値}
             {カット値 " "}
             FALSEに使用する代替値を定義できます。それ以外の場合は、元の値が使用されます。{defaultIfEmpty 値 "nothing"}
             {join "a", "b", "c" " // " prefix="" suffix=""}
             {中心の値 size=19 pad=" "}
             {ljust値20パッド= ""}
             {rjust 値 20 pad=" "}
             {部分文字列値 3}
{部分文字列値 0 3}
             {低い値}
             {上限値}
             {スラッグ化値}
             value="Hello %s"param1="TeamViewer"として提供するコード例:{stringFormat 値 param1}
             {stripTags 値}
             {値を完全に大文字にする=false}
             {値の省略形 6}
             {wordWrap 値 5}
             {値を置き換える "..." "岩"}
             FALSE、および(オプションで)NULLの値をTRUE、「yes」、「no」、「maybe」などの値を持つ文字列にマップできます。{yesno value yes="yes" no="no" maybe="maybe"}
             "full" をクリックして、「Tuesday, June 19, 2012」 などの形式で日付を表示します。"medium" をクリックして、"Jun 19, 2012" などの形式で日付を表示します。"short" 日付を "6/19/12" などの形式で表示するには"pattern" をクリックして、日付をカスタムパターンで表示します。{dateFormat date ["フォーマット"]
[format="フォーマット"]
[tz=timeZone|timeZoneId]}
             groupingUsed を使用して、グループ化をフォーマットで使用するかどうかを定義します。maximumFractionDigits 小数部分で許容される最大桁数を定義するにはmaximumIntegerDigits 整数部分の最大桁数を定義するにはminimumFractionDigits 小数部分の最小桁数を定義するにはminimumIntegerDigits 整数部分の最小桁数を定義するにはparseIntegerOnly 数値を整数のみとして解析するかどうかを定義するにはroundingMode数値の四捨五入方法を定義するには ( UP、 、 、 HALF_EVENUNNECESSARYFLOORHALF_DOWNHALF_UPDOWNCEILING{numberFormat number ["format"] [locale=default]}
            以下は実際の例です。
"General": {
          "use_camera": {
              "title": "スマートグラスのカメラを使用する",
              "inputType": "checkbox-input",
              "value": "true"
          }
    }
}<
onresume>
    <rule id="auto">
        <expression>1</expression><
        actions>
            §{#if General.use_camera.value}§
            <action ref="start_cam"/>
            §{/if}§
        </actions>
    </rule><
/onresume>
             ご覧のとおり、ここでの if キーワードを使用すると、対応する構成パラメーターがtrueに設定されている場合にのみアクションを実行できます。すべてのキーワードは、最初にハッシュタグ(#)を書き込むことによってスコープ内で使用されることに注意することが重要です。
each キーワードを使用した別の例を次に示します。
{
    "構成": {
        "buttons": {
            "title": "ファンクションキー",
            "inputType": "multiple-dropdown-input",
            "elements": [
                {
                    "name": "TAB",
                    "content": "ANDRRES_key_tab",
                    "type": "TEXT",
                    "translatable": true
                },
                {
                    "name": "DELETE",
                    "content": "ANDRRES_key_delete",
                    "type": "TEXT",
                    "translatable": true
                },
                {
                    "name": "BACKSPACE",
                    "content": "ANDRRES_key_backspace",
                    "type": "TEXT",
                    "translatable": true
                },
                {
                    "name": "F1",
                    "content": "F1",
                    "speech_cmd": "F 1",
                    "type": "TEXT"
                },
                {
                    "name": "F2",
                    "content": "F2",
                    "speech_cmd": "F 2",
                    "type": "TEXT"
                }
            ],
            "value": [
                {
                    "name": "TAB",
                    "content": "ANDRRES_key_tab",
                    "type": "TEXT",
                    "translatable": true
                },
                {
                    "name": "DELETE",
                    "content": "ANDRRES_key_delete",
                    "type": "TEXT",
                    "translatable": true
                }
            ]
        }
    }
}<ui_update
id="show_key_input_footer">
    <widget_params>
        <ui_element name="FOOTER_L2">
            <param name="VISIBILITY">INVISIBLE</param><
        /ui_element>
        <ui_element name="RETURN_L1"><
            param name="menu_id" descriptor="">0</param>
        </ui_element>
        §{#each Configuration.buttons.value}§
            <ui_element name="§{name}§">
                <param name="menu_id" descriptor="">§{math @index "+" 1}§</param><
            /ui_element>
            §{#if@last}§
                §{#if Configuration.enable_camera.value}§
                    <ui_element name="CAMERA">
                        <param name="MENU_ID">§{math @../index "+" 2}§</param><
                    /ui_element>
                    <ui_element name="ENTER">
                        <param name="MENU_ID">§{math @../index "+" 3}§</param><
                    /ui_element>
                §{else}§
                    <ui_element name="ENTER">
                        <param name="MENU_ID">§{math @.. /index "+" 2}§</param> </ui_element> §{/if}§ §{/if}§ §{/each}§ </widget_params> </ui_update> 
             この例では、複数レベルのドロップダウン メニューを使用して、ユーザー インターフェイスに表示されるいくつかのボタンを構成します。最後の 2 つのボタンについては、チェックボックス入力が設定されているかどうかに応じてバーコードスキャンが行われ、別のデフォルトボタンもあります。両方のボタンは、インターフェイスの右端に表示されます。ここでわかるように、このような高度に構成可能なコンポーネントを作成することもできます。