gpt4 book ai didi

java - REST 服务 : how to produce human readable output using XML + XSLT?

转载 作者:行者123 更新时间:2023-12-04 05:21:09 25 4
gpt4 key购买 nike

我有一个使用 Jersey 在 GlassFish 中实现的 REST 服务。我有使用 JSON 输出的服务,现在我也想提供一些人类可读的输出。 JSON 输出中缺少的最重要的事情是我希望将统计信息中的某些字段转换为可点击的链接,这将显示相​​关的统计信息(使用另一个 REST 调用)。

由于我想将格式和内容分开,我不想直接生成 HTML。我虽然使用 xml + xslt 可能是一种明智的方法。我可以使用 org.w3c.dom 来生成 XML 文档,但我看不出如何将 xslt 附加到它。

这大约是我现在所做的:

@GET
@Path("history_id")
@Produces("application/xml")
public Document history(@QueryParam("id") String idText) throws ParserConfigurationException
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = factory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element root = doc.createElement("root");
doc.appendChild(root);
Element el = doc.createElement(name);
el.setTextContent(value);
root.appendChild(el);
return doc;

我希望以下指令出现在生成的 XML 中:
<?xml-stylesheet type="text/xsl" href="history.xsl"?">

如何指定要附加到 XML 的 xslt?或者我的方法可能从根本上是错误的,这通常是通过其他方式完成的?

最佳答案

该“指令”在 XML 世界中被称为“处理指令”。您可以使用 DOM API 创建一个:

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = factory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
doc.appendChild(doc.createProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"history.xsl\""));

然后,如果您将 XML 文档发送到支持客户端 XSLT 的浏览器/用户代理,它会将样式表应用到 XML。

关于java - REST 服务 : how to produce human readable output using XML + XSLT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com