2012-11-21 47 views
2

我正在使用一些XSL樣式表的應用程序。這些樣式表作爲資源存儲在DLL中。從資源導入或包含XSLT文件

我想要包含或導入到運行的另一個樣式表。現在,如果包含的樣式表與運行的文件夾位於同一個文件夾中,我可以使其工作,但我需要在不同的文件夾中包含一個樣式表。

<xsl:include href ="../Folder/transform.xslt"/> 

導致包含樣式表加載時出現錯誤。服務器看起來是c:\ Windows \ Folder \ transform.xslt,顯然,它不在那裏。

可以anyopne建議我如何做到這一點?我可以毫無顧忌地找到一個從嵌入式資源運行轉換,可惜的是,我別無選擇,只能這樣做。

回答

1

不確定它會如何去,但我理論化將由passing a custom XmlResolver加載來自資源的引用。

實現一個從XmlResolver繼承的類,它查找資源而不是文件系統(該位置默認爲XmlUrlResolver)。


更新:它看起來像MSDN之前有過這個問題。有關如何實現自定義XmlResolver的示例,請參見http://msdn.microsoft.com/en-us/library/aa302284.aspx

+0

Thx。我剛剛發佈了我已經嘗試過幾個我發現的例子,但似乎沒有人喜歡在不同的文件夾中查找這個想法。 –

+0

我不認爲你應該直接在任何情況下直接點擊磁盤。我只是用一個允許使用res://命名空間來允許解析資源的例子來更新帖子。 – Mitch