我有一个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://&amp; ltmachine_name&amp; gt / cgi-bin / myquery.xsl
答案 0 :(得分:0)
最后它奏效了。
在XSL文件之前添加“/”
push(@temp_arr,“\&lt; \?xml-stylesheet type \ = \”text / xsl \“href \ = \”/ myquery.xsl \“\?&gt;”);
根据Apache设置
将XSK文件复制到'DocumentRoot'就我而言,'DocumentRoot'设置为'/ var / www / html'