如何使用自定义XSLT在浏览器中显示Atom / RSS源?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用自定义XSLT在浏览器中显示Atom / RSS源?相关的知识,希望对你有一定的参考价值。

早在2006年左右,我写了一篇很好的XSLT,将我的RSS源转换为自定义html。这样,如果用户从浏览器中点击它,它将显示为一个简单的页面而不是一堆垃圾XML。如果在提要阅读器中使用了相同的URL,则处理得当且一切都很顺利。

现在,大多数浏览器(IE,Firefox,Safari,Opera)似乎抓住了风格,不会放手。 Chrome只是忽略了样式表转换。

鉴于已经有好几年了,我只是忘了一些细节吗?难道不是这么容易吗?

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/atom2html.xslt"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <!-- ... -->
</feed>

任何人都知道是否有办法用非常具体的饲料造型思想覆盖这些浏览器?还有什么方法可以让Chrome更好玩吗?

答案

如果Feed响应的Content-Type设置为XML而不是Atom,则Chrome似乎仅应用XSLT处理指令。

这会在Chrome中显示XSLT:

Content-Type: application/xml

这不显示任何样式(从技术上讲,它是更正确的类型):

Content-Type: application/atom+xml
另一答案

现在,大多数浏览器将自己的XSLT应用于他们遇到的任何Atom / RSS源都是默认行为,非常烦人。通过Atom的application / atom + xml mime类型和RSS的application / rss + xml标识feed

您曾经能够通过以注释的形式用crud填充feed的前512个字节来绕过这个。这会抛弃浏览器的Feed嗅探并允许您应用自己的XSL样式表。这对我来说已经工作了多年,但是对于IE8,这种行为已经消失了,512字节的注释不再起作用了。我现在已切换到服务器端处理,但我仍然对浏览器的这个决定感到惋惜。

另一答案

我不知道如何欺骗IE&FF和Safari自动显示RSS / Atom提要,但在Chrome中,XSLT通过xml-stylesheet处理指令正确应用;来自here is an example的Randonneur集团游泳池的flickr

以上是关于如何使用自定义XSLT在浏览器中显示Atom / RSS源?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?

除了使用扩展之外,如何在 XSLT 中处理自定义命名空间? [复制]

如何在 Atom 中编写自定义命令?

如何在 Atom 中编写自定义命令?

XSLT的声明和引用

如何使用 JavaScript 转换 XML 和 XSLT?