xsl文件除主机上外,拒绝访问

时间:2012-07-12 17:38:12

标签: delphi xslt delphi-2009

以下是我们构建的XML文件的开始示例,请注意是为样式表访问“CCD.xsl”。

'<?xml version="1.0"?>'
'<?xml-stylesheet type="text/xsl" href="' + 'C:\CDA\Schemas\CCD.xsl"?>'
'<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'

只要这个xml从访问服务器的远程用户加载到TWebBrowser中,就会出现以下错误

“访问被拒绝。错误处理资源'file:/// C:/CDA/Schemas/CCD.xsl'。”

WebBrowser1.Navigate(TempFileName);  //TempFileName = C:\data\CCR_Record_3336557.xml

关于如何解决这个问题的任何想法?

如果您需要其他信息,请与我们联系。

谢谢,感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

你有两个问题,都源于XSL引用是C驱动器上的本地文件。

问题#1(给出错误的那个)是您的浏览器阻止尝试从远程下载的XML文件访问本地文件系统资源。因此,浏览器在尝试呈现该XML文件时会引发安全性错误。那是你看到的直接错误。由于问题#2,调整安全设置或更改浏览器无法解决您的问题。

问题#2是您的客户端可能在C:\CDA\Schemas\CCD.xsl的本地硬盘驱动器上没有XSL文件。它位于远程服务器的C驱动器上。由于问题#1,您不能将它放在网络共享上,因此您需要通过为XML文件提供的相同机制来提供它。然后将XSL文件的URI更改为http://myserver/schemas/ccd.xsl