用XSLT 2.0生成PHP
http://tech.ddvip.com 2007年10月25日 社区交流
内容摘要:这是由两部分组成的关于 XSLT 的系列文章的第 2 部分,Jack Herrington 将介绍如何扩展第 1 部分中建立的 XSLT 2.0 代码生成器,以便生成代码的 PHP 部分,为 Web 服务器提供数据库访问。
这种 XML 结构和最终将看到的代码结构完全匹配。但是,要注意这些代码没有一点是 PHP 专用的。可以用该模型生成任何潜在类型化的语言。比如,只要在模型中增加适当的类型信息就可以生成 Java 代码。要了解这种 XML 构造在该方案中的重要性,看一看清单 8 中由此产生的 PHP 就知道了。
清单 8. 输出的 Author 表
<script language="php">
class Author extends DatabaseTable {
function Author ( ) { }
function selectAll ( )
{
$dbh = getDbh();
return $dbh->doQuery(
"SELECT author_id, first, last FROM author"
);
}
function selectOne ( $author_id )
{
$dbh = getDbh();
return $dbh->doQuery(
"SELECT author_id, first, last FROM author WHERE author = ?",
$author_id );
}
function insert ( $first, $last )
{
$dbh = getDbh();
$dbh->doCommand( "INSERT INTO author ( first, last ) VALUES ( ?, ? )",
$first, $last );
}
}
</script>
如果回头再看一看清单 7 中的 XML,就会发现 XML 表示中的每个标签都代表 PHP 中的一个结构。比如,模型中 insert 类型的 method 标签,以及输出类中的结果 input 函数。
我将介绍其中的几个代码模板,说明其工作原理。
代码模板的例子
第一个模板是 Module 模板,用于建立新的 .php 文件,如清单 9 所示。
清单 9. Module 模板
来源:ibm 作者:Jack Herrington 责编:豆豆技术应用