PROCESS 4D TAGS
PROCESS 4D TAGS ( inputData ; outputData {; param}{; param2 ; ... ; paramN} )
引数 | 型 | 説明 | |
---|---|---|---|
inputData | Text | → | 処理する4Dタグを格納しているデータ |
outputData | Text | ← | 処理されたデータ |
param | Expression | → | 実行されるテンプレートへと渡される引数 |
説明
PROCESS 4D TAGSコマンドを使用すると、inputTemplate 引数に格納されている4D変換タグの処理が開始されます。param 引数を使用して値を挿入し(任意)、その結果がoutputResult に返されます。 これらのタグの完全な詳細については、4D 変換タグ の章を参照して下さい。
このコマンドにより、タグや、4D式や変数への参照を含んだ"テンプレート"型のテキストを実行でき、それにより実行コンテキストや引数に渡された値に応じた異なる結果を生成することができます。
例 えば、このコマンドにより、4D変換タグを含んだセミダイナミックページに基づいたHTMLページを生成する事ができます(このとき4D Webサーバーを起動する必要はありません)。このコマンドを使用して、データベース内のデータへの参照の処理を(4D Internetコマンド経由で)含んだHTMLフォーマットのEメールを送信する事ができます。テキストに基づいたデータタイプであれば、XML、 SVG、マルチスタイルテキストなど、どんなデータタイプでも処理することができます。
処理されるタグを格納しているデータを引数 inputTemplate に渡します。この引数にはテキスト型の変数やフィールドを渡せます。
4Dの全ての変換タグがサポートされます (4DTEXT、4DHTML、4DSCRIPT、4DLOOP、4DEVALなど) 。
注: Webサーバー (Webプロセス) のフレームワーク以外で 4DINCLUDE タグを使用する場合:
- 4Dのローカルモードまたは4D Serverの場合、データベースストラクチャーファイルを格納しているフォルダーがデフォルトフォルダーです。
- 4Dのリモートモードの場合、4Dのアプリケーションを格納しているフォルダーがデフォルトフォルダーです。
PROCESS 4D TAGS コマンドは、実行されたコードに不定数のparam 引数を挿入する事をサポートします。プロジェクトメソッド同様、これらの引数は様々なタイプのスカラー値(テキスト、日付、時 間、倍長整数、実数、等)に加え、オブジェクトやコレクションも格納することができます。また、配列ポインターによって配列を使用することもできます。4Dタグによって処理されるコードの中では、これらの引数は4D メソッド同様、標準の引数($1、$2等)を通じてアクセス可能です(例題を参照して下さい)。
PROCESS 4D TAGS コマンドの実行コンテキストにおいて、専用のローカル変数のセットが定義されます。これらの変数は処理中、読み出し・書き込みともに可能です。
コマンドの実行後引数 outputResult には、inputTemplate 引数の結果とともに、そこに含まれる4Dタグが処理された結果が返されます。もしinputTemplate 引数が4Dタグを含まない、または空の文字列を生成する場合、引数 outputResult の内容は引数inputTemplate の内容と一致します。
引数 outputResult はテキスト型のフィールドまたは変数です。
注: このコマンドはOn Web Authenticationデータベースメソッドを呼び出しません。
例題 1
この例題は'template' 型のドキュメントを読み込み、それに格納されるタグを処理し、その結果を保存します:
var $inputText_t : Text
var $outputText_t : Text
$inputText_t:=Document to text(File("/PACKAGE/mytemplate.txt").platformPath)
PROCESS 4D TAGS($inputText_t;$outputText_t)
TEXT TO DOCUMENT(File("/PACKAGE/myfile.txt").platformPath;$outputText_t)
例題 2
以下の例は、配列のデータを使用してテキストを生成します:
ARRAY TEXT($array;2)
$array{1}:="hello"
$array{2}:="world"
$input:=""
$input:=$input+""
$input:=$input+" "
$input:=$input+""
PROCESS 4D TAGS($input;$output;"elements = ";->$array)
// $output = "elements = hello world"
参照
4D 変換タグ