Net.Data 宏是一个文本文件,它由一系列 Net.Data 宏语言结构组成:
每个 语句由一个或多个语言结构组成,而语言结构由关键字、特殊字符、字符串、名称 和变量所组成。以下图例描述了一个在语法上有效的 Net.Data 宏的总体结构。请 参阅宏语言结构,以了解总体结构中每个成分的详细语法。
.-------------------------.
V |
>>----+-------------------+--+-----html 块---------------------->
+-注解块------------+
+-定义语句----------+
+-定义块------------+
+-函数块------------+
+-宏条件块----------+
+-macro_function 块-+
+-包含语句----------+
+-include_url 语句--+
'-消息块------------'
.---------------------------------------.
V |
>--------+-------------------+---+---------+--+----------------><
+-注解块------------+ '-html 块-'
+-定义语句----------+
+-定义块------------+
+-函数块------------+
+-宏条件块----------+
+-macro_function 块-+
+-包含语句----------+
+-include_url 语句--+
'-消息块------------'
|
Net.Data 宏包括两部分:声明部分和呈示部分。您可以以任何顺序多次使用 这些部分。
图 1显示了宏的声明部分和呈示部分。
声明或者呈示部分中使用的变量和函数必须在变量引用或函数调用之前先定义。
图 2演示了一个宏的各个部分。声明部分包含 DEFINE 和 FUNCTION 定义块。HTML 块作为输入和输出块。
%{ ********************** 定义块 ************************%}
%DEFINE{
page_title="Net.Data macro Template"
%}
%{ ********************** 函数定义块 ************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result)
{ %EXEC{ompsamp.cmd %}
%}
%FUNCTION(DTW_REXX) today () RETURNS(result)
{
result = date()
%}
%{ ********************** HTML 块:输入 ************************%}
%HTML(INPUT) {
<html>
<head>
<title>$(page_title)<title>
</head><body>
<h1>Input Form</h1>
Today is @today()
<FORM METHOD="post" ACTION="output">
输入一些数据传送给一个 REXX 程序:
<INPUT NAME="input_data" TYPE="text" SIZE="30">
<p>
<INPUT TYPE="submit" VALUE="Enter">
< hr>
<p>[<a href="/">Home page]
</body></html>
%}
%{ ********************** HTML 块:输出 ************************%}
%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 页中下载示例和演示程序,获取更有扩展性的例子: