4D v16.3

PROCESS 4D TAGS

ホーム

 
4D v16.3
PROCESS 4D TAGS

PROCESS 4D TAGS 


 

PROCESS 4D TAGS ( inputData ; outputData {; param}{; param2 ; ... ; paramN} ) 
引数   説明
inputData  テキスト, BLOB in 処理する4Dタグを格納しているデータ
outputData  テキスト, BLOB in 処理されたデータ
param  テキスト, Number, 日付, 時間, ポインター, ブール in 実行されるテンプレートへと渡される引数

説明   

PROCESS 4D TAGSコマンドを使用すると、inputTemplate 引数に格納されている4D変換タグ(フィールド、若しくはBLOBまたはテキスト型の変数)の処理が開始されます。param 引数を使用して値を挿入し(任意)、その結果がoutputResult に返されます。 これらのタグの完全な詳細については、4D 変換タグ の章を参照して下さい。

このコマンドにより、タグや、4D式や変数への参照を含んだ"テンプレート"型のテキストを実行でき、それにより実行コンテキストや引数に渡された値に応じた異なる結果を生成することができます。
例 えば、このコマンドにより、4D変換タグを含んだセミダイナミックページに基づいたHTMLページを生成する事ができます(このとき4D Webサーバーを起動する必要はありません)。このコマンドを使用して、データベース内のデータへの参照の処理を(4D Internetコマンド経由で)含んだHTMLフォーマットのEメールを送信する事ができます。テキストに基づいたデータタイプであれば、XML、 SVG、マルチスタイルテキストなど、どんなデータタイプでも処理することができます。

処理されるタグを格納しているデータを引数 inputTemplate に渡します。この引数はBLOBまたはテキスト型の変数やフィールドです。テキスト型の使用が推奨されます(引数は2GB までのテキストを受け取ることができます)。

互換性に関する注意: 4D v12より、BLOB型の引数を使用すると、コマンドは自動でBlobに使用されている文字セットをMacRomanとして扱います。効率化のために、Unicodeモードで処理が実行されるテキスト型の引数を使用することを強く推奨します。

4Dの全ての変換タグがサポートされます (4DTEXT4DHTML4DSCRIPT4DLOOP4DEVALなど) 。

注: Webサーバー (Webプロセス) のフレームワーク以外で 4DINCLUDE タグを使用する場合:

  • 4Dのローカルモードまたは4D Serverの場合、データベースストラクチャーファイルを格納しているフォルダーがデフォルトフォルダーです。
  • 4Dのリモートモードの場合、4Dのアプリケーションを格納しているフォルダーがデフォルトフォルダーです。

PROCESS 4D TAGS コマンドは、実行されたコードに不定数のparam 引数を挿入する事をサポートします。プロジェクトメソッド同様、これらの引数は様々なタイプのスカラー値を格納することができます(テキスト、日付、時 間、倍長整数、実数、等)。また、配列ポインターによって配列を使用することもできます。4Dタグによって処理されるコードの中では、これらの引数は4D メソッド同様、標準の引数($1、$2等)を通じてアクセス可能です(例題を参照して下さい)。
PROCESS 4D TAGS コマンドの実行コンテキストにおいて、専用のローカル変数のセットが定義されます。これらの変数は処理中、読み出し・書き込みともに可能です。

互換性に関する注意: 以前のバージョンの4Dでは、インタープリタモードのPROCESS 4D TAGS 実行コンテキスト内であれば、呼び出しコンテキストで定義されたローカル変数にアクセス可能でした。4D v14 R4以降、これはできなくなりました。

コマンドの実行後引数 outputResult には、inputTemplate 引数の結果とともに、そこに含まれる4Dタグが処理された結果が返されます。もしinputTemplate 引数が4Dタグを含まない場合、引数 outputResult の内容は引数inputTemplate の内容と一致します。

引数 outputResult はフィールドまたは変数です。ただし引数 inputTemplate と同じ型でなくてはなりません。

注: このコマンドはOn Web Authenticationデータベースメソッドを呼び出しません。

この例題ではテンプレートドキュメントをロードし、そこに含まれるタグを処理し、ファイルとして書き出します:

 C_BLOB($Blob_x)
 C_BLOB($blob_out)
 C_TEXT($inputText_t)
 C_TEXT($outputText_t)
 
 DOCUMENT TO BLOB("mytemplate.txt";$Blob_x)
 $inputText_t:=BLOB to text($Blob_x;UTF8 text without length)
 PROCESS 4D TAGS($inputText_t;$outputText_t)
 TEXT TO BLOB($outputText_t;$blob_out;UTF8 text without length)
 BLOB TO DOCUMENT($document;$blob_out)

以下の例は、配列のデータを使用してテキストを生成します:

 ARRAY TEXT($array;2)
 $array{1}:="hello"
 $array{2}:="world"
 $input:="<!--#4DEVAL $1-->"
 $input:=$input+"<!--#4DLOOP $2-->"
 $input:=$input+"<!--#4DEVAL $2->{$2->}--> "
 $input:=$input+"<!--#4DENDLOOP-->"
 PROCESS 4D TAGS($input;$output;"elements = ";->$array)
  // $output = "elements = hello world"



参照 

4D 変換タグ

 
プロパティ 

プロダクト: 4D
テーマ: ツール
番号: 816

This command can be run in preemptive processesリモートモードでは動作が異なります。

 
履歴 

初出: 4D 2004
変更: 4D v11 SQL
変更: 4D v12
名称変更: 4D v13
変更: 4D v14 R4

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)