1

スタイルシートがブラウザーで見つからない場合に生の XML を表示したいのですが、可能ですか?

以下に、XML ドキュメントのヘッダーを示します。

<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="./my_sheet.xsl" title="relativeRef" alternate="YES"?>

サーバーでスタイルシートが見つからない場合、404 エラーを返しますが、これによりブラウザーの XML パーサーが停止し、エラー メッセージが表示されます。私は何をすべきか?スタイルシートを提供するサーブレットの Java コードを次に示します。

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {      

    edamisUtils.log("Serving my_sheet.xsl");

    //If we could not load my_sheet we throw a 404 error.
    if(my_sheet== null){
        edamisUtils.debug(5, "Did not find the my_sheet.xsl, sending a 404 status response.");
        resp.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;
    }

    //Set the MIME type of the response to text/xsl
    resp.setContentType("text/xsl");
    OutputStream os = resp.getOutputStream();
    os.write(my_sheet.array());

}

皆様に感謝し、良い一日を!

4

1 に答える 1

0

404 を返す代わりに、200 と「すべてコピー」の XSL を返すことができます。

何かのようなもの

if(my_sheet == null){
   copy the copy_all XSL in the response output stream;
}

すべてをコピーする XSL の例は、ここにあります。

于 2012-08-19T10:49:39.470 に答える