通过CGI打印XML/XSLT数据

通过CGI打印XML/XSLT数据,xml,xslt,cgi,Xml,Xslt,Cgi,我有一个Perl CGI脚本,它以XML格式从服务器获取数据。数据收集在一个变量中。 我创建了一个XSLT表,并修改了变量以在其中添加XSLT标记。 但是,它无法加载XSLT文档 下面是代码片段: my $retData = &postData($qStr); <--- Gets data from server my @val = split("\n",$retData); $curr_index = 0; my @temp_arr; for my $temp (@val) {

我有一个Perl CGI脚本,它以XML格式从服务器获取数据。数据收集在一个变量中。 我创建了一个XSLT表,并修改了变量以在其中添加XSLT标记。 但是,它无法加载XSLT文档

下面是代码片段:

my $retData = &postData($qStr); <--- Gets data from server
my @val = split("\n",$retData);
$curr_index = 0;
my @temp_arr;
for my $temp (@val) {
   if ($curr_index == 0) {
      push(@temp_arr,$temp);
        push(@temp_arr,"\<\?xml-stylesheet type\=\"text\/xsl\" href\=\"myquery.xsl\"\?\>");
       } else {
         push @temp_arr,$temp;
       }
      $curr_index++;
    }
    @val = @temp_arr;

   my $message = join ("\n",@temp_arr);
   print "Content-Type: text/xml\r\n";
   print "\r\n";
   print "$message\n";
使用FF浏览器打开时,我收到此错误消息:

加载样式表时出错:加载XSLT样式表时发生网络错误:http://<machine\u name>/cgi-bin/myquery.xsl

最后它成功了

在XSL文件之前添加了/

push@temp_arr,\;

并根据Apache设置将XSK文件复制到“DocumentRoot”

在我的例子中,“DocumentRoot”设置为“/var/www/html”