Net.Data 宏是一个普通文本文件,它由一系列 Net.Data 宏语言结构组成:
每个 语句由一个或多个语言结构组成,而语言结构由关键字、特殊字符、字符串、名称 和变量所组成。 以下图例描述了一个在语法上有效的 Net.Data 宏的总体结构。 请 参阅Net.Data 宏语言结构,以了解总体结构中每个元素的详细语法。
.-------------------------. V | >>----+-------------------+--+-----html 块----------------------> +-注解块------------+ +-定义语句----------+ +-定义块------------+ +-函数块------------+ +-宏条件块----------+ +-macro_function 块-+ +-包含语句----------+ +-include_url 语句--+ '-消息块------------' .---------------------------------------. V | >--------+-------------------+---+---------+--+---------------->< +-注解块------------+ '-html 块-' +-定义语句----------+ +-定义块------------+ +-函数块------------+ +-宏条件块----------+ +-macro_function 块-+ +-包含语句----------+ +-include_url 语句--+ '-消息块------------'
Net.Data 宏包括两部分:声明部分和 HTML 部分。 您可以以任何顺序多次使用 这些部分。
图 1显示宏文件的声明和 HTML 部分。
声明或者 HTML 部分中使用的变量和函数必须在变量引用或函数调用之前先定义。
图 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 语言成分,以提供向后兼容 能力。尽管附录 A. DB2 WWW Connection中描述了这些语言成份,但仍建议使用 Net.Data 语言 结构。
这些例子描述了在宏文件中使用语言结构、变量、函数和其它成分的几种方法。可以从 Net.Data Web 页中下载示例和演示程序,获取更有扩展性的例子: