PL/XML—PL/SQL基于XML脚本分析
作者: , 出处:IT专家网社区, 责任编辑: 叶江,
2007-06-07 13:26
我开始处理一个项目任务,并确定有可以使用一些非常优秀的特性帮助我向人们传授PL/SQL和XML知识
我对这个观念稍微进行了一下扩张,最终得到一个可以XML中执行的脚本语言,它可以提交给一个PL/SQL过程。这个脚本能够执行存储过程;它拥有循环逻辑、条件(CASE)逻辑、用户定义的变量等。
它的优点在于,它阅读和修改起来都十分方便。XML结构也十分易于阅读。它是一个优秀的学习工具,但也具有一些现实的用途。你只需修改XML就可以动态更改应用程序的功能。
你甚至可以编写一个程序,它能够为你生成XML,然后应用于其它系统中。相当的棒!
以下是一段样本脚本:
| <ROOT> <CMD type="variable"> <VAR name="$var1$" type="literal" datatype="char">MyValue</VAR> </CMD> <CMD type="variable"> <VAR name="$var2$" type="function" datatype="date" format="dd/mm/yyyy hh24:mi:ss"> <FUNCTION name="sysdate" /> </VAR> </CMD> <CMD type="for"> <FOR from="1" to="5"> <CMD type="proc"> <PROC name="dbms_output.put_line"> <PARAMETER name="a">$var1$ is $var2$</PARAMETER> </PROC> </CMD> </FOR> </CMD> </ROOT> |
将这段脚本在我的脚本解释器中运行,会得到以下输出结果:
| MyValue is 25/08/2006 15:06:59 MyValue is 25/08/2006 15:06:59 MyValue is 25/08/2006 15:06:59 MyValue is 25/08/2006 15:06:59 MyValue is 25/08/2006 15:06:59 |
这段脚本连续运行。因此首先它宣称一个变量$var1$并指定其值为“MyValue”。
下一个命令也是一个变量$var2$,但它的值指定给一段文字,它从函数to_char(sysdate)获得它的值。
接下来的命令是一个for循环。它将循环1到5次,每个循环执行一次过程。在本例中,它打印出$var1$和$var2$的值,并将它们用“is”隔开。
过程和函数可以随意使用参数。函数和过程的所有参数都必须加以命名。你必须了解并给出参数名。
变量能够以任何形式命名,但必须包含在$中。在我的例子中,我选择用$var1$和$var2$作标准。我还可以把它们命名为$boogabooga1$和$kerplump2$。
由于它涉及这么多的概念,我认为这是一个优秀的学习工具。现在这段代码存在三个问题。首先,除注释以外没有文档;根本没有异常处理,也没有说明或调试代码。
我还没有决定如何处理异常。应该由注释器处理异常,还是让它们不断繁殖呢?我需要编写一个不太显眼的调试过程,它能够随意地输出过程的每个步骤。
- 本文关键词:

