我正在使用带有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。
非常感谢任何帮助。
谢谢, 阿努邦
答案 0 :(得分:2)
doc-available()可以返回false,原因有两个:文件不存在,或者无法将其解析为格式良好的XML。你已经消除了使用未解析文本的第一种可能性;离开第二个。我看不出为什么相对URI应该工作而不是绝对URI的任何原因。 (嗯,实际上我可以,就像相对URI实际上是从绝对URI以外的其他位置获取文件。)
基本上有很多变量会影响结果,因此很难告诉你在特定情况下的原因是什么。