2012-07-12 109 views
0

这里的XSL文件访问是我们必须建立一个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从远程用户访问他们得到以下错误

“访问被拒绝错误处理资源“文件的服务器:/// C:/ CDA /架构/CCD.xsl”。”

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

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

如果您需要更多信息,请告诉我。

谢谢,感谢帮助。

回答

3

你有两个问题,无论从事实XSL引用到C盘上的本地文件而产生。

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

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

+0

感谢您的帮助,我仍然为我怎样才能解决这个虽然有点困惑。当你说“所以你需要通过服务于XSL文件的相同机制来提供它”。你是不是指XML文件?你能举一个小例子来帮助我理解需要做什么吗?谢谢 – Trevor 2012-07-12 19:44:59

+0

是的,XML文件。你将TWebBrowser的地址设置为'http:// myserver/cda/filename.xml',对吧?您需要通过HTTP从同一台服务器检索XSL。 – MNGwinn 2012-07-12 19:55:11

+0

那么TWebBrowser实际上是通过“WebBrowser1.Navigate(TempFileName);”到服务器上的xml文件,即C:\ data \ CCR_Record_3336557.xml您认为如果xsl文件位于相同的文件夹中,它会修复它? – Trevor 2012-07-12 20:33:29