Windows下的XSLT样式表相对路径问题

时间:2011-01-26 23:10:49

标签: xml windows uri xslt

我有一个位于/template.xsl的样式表和一个位于/en/index.xml的xml文件,其中“/”(根)实际上是“C:\ stuff \ otherstuff \”形式。< / p>

xml文件包含<?xml-stylesheet type="text/xsl" href="../template.xsl"?>,但未检测到样式表。我尝试了无数的变化,使用反斜杠或对或反斜杠而不是斜杠,使用file:///,绝对路径,......

有什么问题?

编辑:对于记录,它在IE中有效,但在Firefox中无效。

编辑:以下是解释:http://forums.mozillazine.org/viewtopic.php?f=25&t=670995 这还包括解决方案:

  1. 在地址中键入about:config 杆
  2. 变化 security.fileuri.strict_origin_policy 假的

3 个答案:

答案 0 :(得分:1)

我注意到如果你在子目录中的put 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

- &GT;如上所述,切换security.fileuri.strict_origin_policy

答案 1 :(得分:0)

我认为有两件事可能是问题所在。
1.您说文件放在同一个文件夹中,href =“../ template.xsl”指向XML文件的父文件夹。也许你应该使用href =“template.xsl”。
2. Firefox是测试版。如果你正在测试的东西,你应该总是使用稳定的版本,否则它可能是导致错误的Beta软件。

答案 2 :(得分:-1)

如果样式表被称为template.xml,正如您所说,那么对template.xsl的引用将无法找到它。