我正在使用Javascript加載XML並使用XSLT進行轉換。一切正常,直到我嘗試使用<xsl:include>
。這樣可以包含文件嗎?使用xsl:include與AJAX/XSLT
以下是相關的XSLT代碼。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
...
<xsl:include href="another_xslt.xsl"/>
</xsl:stylesheet>
這裏是javascript代碼:
var xmlRequest = new XMLHttpRequest();
xmlRequest.open("GET", "data.xml", false);
xmlRequest.send(null);
var xsltRequest = new XMLHttpRequest();
xsltRequest.open("GET", "https://hostname.com/directory/xslt/transform.xsl", false);
xsltRequest.send(null);
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsltRequest.responseXML);
return xsltProcessor.transformToDocument(xmlRequest.responseXML);
我使用Firefox 3.5及對xsltProcessor.importStylesheet
行腳本失敗沒有任何錯誤消息。
更新:
篡改數據顯示another_xslt.xsl但在父目錄因此它得到一個404
所有XSLT文件的請求是https://hostname.edu/directory/xslt/但Firefox請求而不是http://hostname.edu/directory/another_xslt.xsl。爲什麼它會從父目錄請求文件而沒有https?該HTML文件是在/目錄/管理員/編輯
使用完整的URL修復了問題,但我需要它在服務器上工作,所以我寧願使用現在的相對路徑。
優秀的假設+1 – Thiyagaraj 2009-09-16 07:27:07
感謝您的建議。篡改數據顯示請求,但它來自父目錄。我會用細節更新這個問題。 – mcrumley 2009-09-16 15:55:39
我看到你接受了我的回答,你是否最終解決了你的問題? – 2009-09-22 15:17:20