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 解析器停止并显示错误消息。我应该怎么办?这是为样式表提供服务的 servlet 的 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

您可以返回 200 和“全部复制”XSL,而不是返回 404。

就像是

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

可以在此处找到复制所有 XSL 示例

于 2012-08-19T10:49:39.470 回答