1

サーバーから XML 形式でデータを取得する Perl-CGI スクリプトがあります。データは変数に収集されます。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_name>/cgi-bin/myquery.xsl

4

1 に答える 1

0

最後にそれは働いた。

XSL ファイルの前に「/」を追加

push(@temp_arr,"\<\?xml-stylesheet type\=\"text/xsl\" href\=\"/myquery.xsl\"\?>");

Apache の設定に従って、XSK ファイルを「DocumentRoot」にコピーします。

私の場合、「DocumentRoot」は「/var/www/html」に設定されています

于 2012-09-14T14:24:26.280 に答える