windows下XSLT样式表相对路径问题
我有一个位于 /template.xsl 的样式表和一个位于 /en/index.xml 的 xml 文件,其中“/”(根)实际上是“C:\stuff\otherstuff\”的形式。
xml 文件包含 ,但未检测到样式表。我尝试了无数的变化,使用反斜杠或成对或反斜杠而不是斜杠,使用 file:///,绝对路径,...
出了什么问题?
编辑:根据记录,它在 IE 中有效,但在 Firefox 中无效。
编辑:这是解释:http://forums.mozillazine.org /viewtopic.php?f=25&t=670995 这还包括解决方案:
- 在地址中输入 about:config 酒吧
- 变化 security.fileuri.strict_origin_policy 为假
I have a stylesheet located at /template.xsl and an xml file located at /en/index.xml, where "/" (the root) is actually of the form "C:\stuff\otherstuff\".
The xml file contains <?xml-stylesheet type="text/xsl" href="../template.xsl"?>
, but the stylesheet isn't detected. I've tried countless variation, using backslashes or pair or backslashes instead of slashes, using file:///, absolute path, ...
What is wrong ?
Edit : for the record, it does work in IE but not in Firefox.
Edit : and here is the explanation : http://forums.mozillazine.org/viewtopic.php?f=25&t=670995
This also include the solution :
- type about:config in the address
bar - change
security.fileuri.strict_origin_policy
to false
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我注意到,如果您将 template.xsl 放在 DISPLAY 子目录中,则 href="DISPLAY/template.xsl" 确实有效。
但是,如果您将 XML 放在另一个子目录中,例如 A,则 href="../DISPLAY/template.xsl" 不起作用。
看来“……”有问题。
(即使在 2015 年,使用 Firefox 40.0 时也是如此!)
请参阅 Nicholas Smethurst 的附件:
https://bugzilla.mozilla.org/show_bug.cgi?id=439924
-->如上所述,切换 security.fileuri.strict_origin_policy
I noticed that if your put template.xsl in a subdirectory say DISPLAY, href="DISPLAY/template.xsl" does work.
But if you put your XML in another subdirectory, say A, href="../DISPLAY/template.xsl" doesn't work.
It seems that there is a problem with "..".
(Even in 2015, when using Firefox 40.0 !)
See Nicholas Smethurst's attachment in :
https://bugzilla.mozilla.org/show_bug.cgi?id=439924
--> as said above, switch security.fileuri.strict_origin_policy
我认为有两件事可能是问题所在。
1. 你说文件放在同一个文件夹中,href="../template.xsl" 指向 XML 文件的父文件夹。也许您应该使用 href="template.xsl"。
2. Firefox 是 Beta 版本。如果您正在测试,您应该始终使用稳定版本,否则可能是 Beta 软件导致错误。
There are two things that might be the problem I think.
1. You say the files are placed in the same folder, href="../template.xsl" directs to the parent folder of your XML file. Perhaps you should use href="template.xsl".
2. Firefox is a Beta version. If you are testing things out you should always use a stable version because otherwise it could be Beta software causing the bugs.
如果样式表名为
template.xml
,正如您所说,那么对template.xsl
的引用将无法找到它。If the stylesheet is called
template.xml
, as you say, then a reference totemplate.xsl
isn't going to find it.