无法使用XSL样式表格式化RSS以在Chrome中运行

时间:2016-03-17 14:29:30

标签: xml templates xslt rss podcast

我已经看到了如何使用XSL模板在Chrome浏览器中格式化RSS播客文件的一个很好的示例:http://www.bbc.co.uk/programmes/p002w6r2/episodes/downloads.rss

我想在我的播客文件中使用相同的内容,但我无法让它工作。它总是只显示RSS文件,但不格式化。

知道这些东西的人是否能够看一看并告诉我我做错了什么?

我的RSS在这里:http://fietsrapport.be/gijs/thenetworkeffect2.rss,模板是同一个文件,扩展名为.xsl

1 个答案:

答案 0 :(得分:1)

好吧,我用PaleMoon(一个Firefox分叉)测试了它们,它们都运行良好。我知道Chrome在将XSLT转换应用于XML内容方面有一些严格的安全限制。 Whyever ...

所以我试着注释BBC方法和你的方法之间的一些差异:

  • 您的XML在其<?xml ...处理指令中具有standalone属性。我不知道这是否重要,但浏览器对XML-XSLT的安全限制的差异是巨大的。
  • href指令的<?xml-stylesheet type="text/xsl" ...中给出的XSLT的路径对于BBC是绝对的,对于您的站点是绝对的。 这非常重要。 BBC有href="/programmes/downloads.xsl",你有href="http://fietsrapport.be/gijs/thenetworkeffect.xsl"。出于安全原因,跨域XSLT设备通常会被阻止。因此,您的域名可能无法识别该网址吗?
  • 如果你有一个像NoScript这样的脚本拦截器,它肯定会阻止XML-XSLT转换,所以你应该在你的域上禁用它。

RSS / XML的其余部分看起来非常同构,所以没有什么可以评论的。希望这可以帮助。因此,最好的猜测是将路径从绝对路径更改为相对路径。