XSLT doc-available(字符串)不适用于绝对路径吗?

时间:2011-07-07 08:02:13

标签: xslt path relative absolute

我正在使用带有Java的XSLT 2(Saxon 9.x)并遇到以下问题......

doc-available('file:///C:/Users/filename.xml') 

返回false

然而......

unparsed-text-available('file:///C:/Users/filename.xml') 

返回true

该文件是格式良好的XML并且存在。

如果我使用相对路径,则两个函数都返回true。   还尝试了file:/C:/Users/filename.xml,但遇到了同样的问题。   我也删除了Windows防火墙,但这没有效果。

相同的代码适用于Oxygen。

非常感谢任何帮助。

谢谢, 阿努邦

1 个答案:

答案 0 :(得分:2)

doc-available()可以返回false,原因有两个:文件不存在,或者无法将其解析为格式良好的XML。你已经消除了使用未解析文本的第一种可能性;离开第二个。我看不出为什么相对URI应该工作而不是绝对URI的任何原因。 (嗯,实际上我可以,就像相对URI实际上是从绝对URI以外的其他位置获取文件。)

基本上有很多变量会影响结果,因此很难告诉你在特定情况下的原因是什么。