[摘要]= 'index.xml';contextSTYLE = q->param('style') if q->param('style'); ...
= 'index.xml';
$context{STYLE} = $q->param('style') if $q->param('style');
最后,我们创建了XSLGateway逻辑类的一个实例,并通过调用其run方法处理请求,将%context作为唯一的参数。
my $app = XSLGateway->new();
$app->run(%context);
CGI脚本就完成了。下面我们创建完成大部分工作的XSLGateway模块:
package XSLGateway;
use strict;
use vars qw(@ISA);
use CGI::XMLApplication;
use XML::LibXML;
@ISA = qw(CGI::XMLApplication);
象我在简介中提到的那样,CGI::XMLApplication通过事件调用起作用:应用程序类中一个给定的方法的执行依赖于一个指定域的输入(一般情况下是用来提交表格的按钮的名字。),必须执行二种调用方法:selectStylesheet和requestDOM方法。
selectStylesheet返回有关的XSLT样式表的全文件系统路径。为了简单起见,我们假定样式表将保存在一个单一的目录中。我们可以通过$context->{STYLE}域提供其他的样式表,从而增加系统的灵活性。
sub selectStylesheet {
my $self = shift;
my $context = shift;
my $style = $context->{STYLE}
关键词:XML与现代CGI应用程序