防止 xslt 将 xml 转换为 html

Posted

技术标签:

【中文标题】防止 xslt 将 xml 转换为 html【英文标题】:Prevent xslt to transform xml into html 【发布时间】:2012-06-02 22:48:17 【问题描述】:

我正在使用OAI-PMH 从数据提供者那里检索记录。我的问题是,其中一些数据提供者使用 XSLT 检索记录以将 XML 响应转换为 html!因为我需要在他们的响应中解析和实现一些东西,所以我需要一个 XML 响应,而不是 HTML 响应。

所以我的问题是:有没有办法在 XML 转换为 HTML 之前捕获它?

例如,这个link 说明了我解释的内容。当我使用Chrome开发工具时,进入“Resources”选项卡,“Frames”项,然后“(OaiHandler)”->“OaiHandler”,我们就可以看到原生的xml了。

或者我应该有自己的 XSLT 将 HTML 响应转换回 XML 吗? 如果是这种情况,则提供了一个标准 XSLT 来将 OAI-PMH 数据提供者 XML 响应转换为 HTML。是否有能够构建“逆”XSLT 的工具?

【问题讨论】:

你检查了 标签吗? (它应该在你的根的子节点之上) 【参考方案1】:

查看您在 Firefox 中发布的链接(任何浏览器都可以)并选择 View Source 显示以 XML(不是 HMTL)返回的内容。但是由于源代码中的这一行...

<?xml-stylesheet type="text/xsl" href="http://portal.dimdi.de/oai-gms/browser.xsl" ?>

...您的 Web 浏览器可能会加载引用的样式表以在您的本地 PC 上转换为 HTML 用于显示目的。服务器仍在向您发送 XML。如果您要使用默认不执行样式表的任何 HTTP 客户端访问相同的链接,那么您只会看到显示的 XML

另一方面,如果服务器直接向您发送 HTML(因此查看源代码显示),那么您对此无能为力。提供者这样做是没有意义的,因为据我所知,他们不会遵守OAI Protocal Specification。

【讨论】:

很公平,我应该在问之前多考虑一下!我认为html是在服务器端生成的。干杯

以上是关于防止 xslt 将 xml 转换为 html的主要内容,如果未能解决你的问题,请参考以下文章

用于将 XML 数据转换为 html 文件的 C# 与 XSLT [关闭]

防止 BeautifulSoup 将我的 XML 标记转换为小写

我可以使用 XSLT 将 OpenOffice ODT 内容 (content.xml) 转换为 HTML 吗?

在 node.js 中使用 XSLT 样式表将 xml 转换为 html

在 Azure Logic App 中从 JSON 转换为 XML 时如何防止按字母排序

在javascript中将表单数据保存为xml时防止跨站点(XSS)