2012-07-12 144 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