Net.Data マクロは、以下のことを行う一連の Net.Data マクロ言語構成要素から構成されるテキスト・ファイルです。
それぞれのステートメントは、1 つまたは複数の言語構成要素で構成されます。 さらに、これらの言語構成要素は、キーワード、特殊文字、 ストリング、名前、および変数で構成されます。 以下の図は、構文的に有効な Net.Data マクロのグローバルな構造を示します。 グローバルな構造の各要素の詳しい構文については、マクロ言語構成要素 を参照してください。
.-----------------------------. V | >>----+-----------------------+--+-----html block---------------> +-comment block---------+ +-define statement------+ +-define block----------+ +-function block--------+ +-macro if block--------+ +-macro_function block--+ +-include statement-----+ +-include_url statement-+ '-message block---------' .----------------------------------------------. V | >--------+-----------------------+---+------------+--+--------->< +-comment block---------+ '-html block-' +-define statement------+ +-define block----------+ +-function block--------+ +-macro if block--------+ +-macro_function block--+ +-include statement-----+ +-include_url statement-+ '-message block---------' |
Net.Data マクロには、宣言パーツと表示パーツという 2 つのパーツが含まれています。 これらのパーツは、任意の順序で何度でも使用することができます。
図 1 では、マクロの宣言および表示パーツを示します。
宣言または表示パーツで使用する変数と関数は、 変数参照または関数呼び出しで使用する前に、 あらかじめ定義しておかなければなりません。
図 2 では、マクロのパーツを示します。 宣言パーツには、DEFINE および FUNCTION 定義ブロックが含まれています。HTML ブロックは、入出力ブロックとして機能します。
%{ ********************** Define block ************************%} %DEFINE { page_title="Net.Data macro Template" %} %{ ********************** Function Definition block ************************%} %FUNCTION(DTW_REXX) rexx1 (IN input) returns(result) { %EXEC{ompsamp.cmd %} %} %FUNCTION(DTW_REXX) today () RETURNS(result) { result = date() %} %{ ********************** HTML Block: Input ************************%} %HTML(INPUT){ <html> <head> <title>$(page_title)<title> </head><body> <h1>Input Form</h1> Today is @today() <FORM METHOD="post" ACTION="output"> Type some data to pass to a REXX program: <INPUT NAME="input_data" TYPE="text" SIZE="30"> <p> <INPUT TYPE="submit" VALUE="Enter"> <hr> <p>[<a href="/">Home page] </body></html> %} %{ ********************** HTML Block: Output ************************%} %HTML (OUTPUT) { <html> <head> <title>$(page_title)</title> </head><body> <h1>Output Page</h1> <p>@rexx1(input_data) <p><hr> <p>[<a href="/">Home page</a> | <a href="input">Previous page</a>] </body></html> %} |
Net.Data マクロ言語は自由形式の言語であるため、 マクロを柔軟に作成することができます。 特に断りのない限り、余計な空白文字は無視されます。 それぞれの Net.Data マクロ言語構成要素については、 構成要素を定義するのに使用するその他のいくつかの要素と共に、 以下のセクションで説明します。 Net.Data マクロ言語は、 逆方向の互換性のために、DB2 WWW Connection 言語要素をサポートします。 これらの言語要素については 付録 B. DB2 WWW Connectionで説明していますが、Net.Data 言語構成要素を使用することをお勧めします。
例では、マクロで言語構成要素、変数、関数、 およびその他の要素を使用できる方法の一部を示します。さらに広範囲の例については、 以下の Net.Data Web ページからサンプルとデモをダウンロードすることができます。