Firefox和远程XSL样式表

Mat*_*att 6 xml xslt firefox

我正在尝试使用远程XSL样式表加载本地XML文件.IE似乎处理这个很好,但不是Firefox.有没有解决这个问题?

blu*_*ish 6

如果它不是语法问题,我认为这是一个相同的原始政策问题.出于安全原因,Firefox(以及Chrome和IE9)不会使用远程XSLT转换本地XML.它给出了一个未知的错误805303f4.想象一下,XSLT可以产生嵌入在HTML输出代码中的恶意JavaScript.

解决方案,如果您是开发人员:

  • 在服务器端进行转换,并为用户提供输出HTML的链接
  • 在本地(在后台)下载XML和XSLT,然后为用户打开XML

我注意到CSS和图像文件可以无限制地保留在服务器上.

  • 所以呢?许多HTML页面指向远程站点上的JS脚本。为什么XML页面不能指向远程站点上的XSL? (2认同)

小智 5

您还可以在 Firefox 上更改此设置:

  1. 关于.config
  2. 接受安全警告(并小心:-))
  3. 寻找 security.fileuri.strict_origin_policy
  4. 将其设置为假


imo*_*ama 2

有几件事需要检查:

检查您是否在服务器端使用了正确的 mime 类型和字符编码。Firefox 将在加载本地文件时自行计算编码,但在向服务器请求时将遵循服务器 mime-type/encoding 声明。

我见过一些帖子(例如此处)声称 Firefox 根本不支持使用绝对路径加载远程 XSL 模板。我对此表示怀疑,并怀疑更有可能是上述哑剧问题导致他们相信这一点,但可能值得直接向 Mozilla 询问此事。

最后,您是否测试过 XSL 样式表在本地拉取时是否有效?您能否确认它确实是 XSLT,而不是 Microsoft 奇怪的仅限 IE 的 XSL 变体之一,例如 WD-XSL?