我正在用大量的頁面在網站上,而且每一個都有這樣在它: <xsl:include href="team-menu.xsl" />
文件路徑包括
此XSL文件存儲在根目錄下。
基本上包括我的每個頁面上的「團隊菜單」。我的問題是,當我將它包含在嵌套頁面上時,例如「/teammembers/smith.xsl」,菜單中的鏈接被破壞,因爲它們引用與我正在查看的頁面不在同一目錄中的頁面。
這可能很容易,但我不知道如何解決它。有沒有辦法告訴XSL根目錄和/或設置某種全局目錄?謝謝你的幫助!
我正在用大量的頁面在網站上,而且每一個都有這樣在它: <xsl:include href="team-menu.xsl" />
文件路徑包括
此XSL文件存儲在根目錄下。
基本上包括我的每個頁面上的「團隊菜單」。我的問題是,當我將它包含在嵌套頁面上時,例如「/teammembers/smith.xsl」,菜單中的鏈接被破壞,因爲它們引用與我正在查看的頁面不在同一目錄中的頁面。
這可能很容易,但我不知道如何解決它。有沒有辦法告訴XSL根目錄和/或設置某種全局目錄?謝謝你的幫助!
如果我正確理解你的問題,你可以使用絕對鏈接,而不是相對的。
I.e.代替index.xml
。
您可以使用XSL參數傳遞基礎目錄。所有的處理器都有一個通過這些機制(例如xsltproc --stringparam basedir style
)。在您的樣式表,你應該能夠使用類似以下消耗參數:
<xsl:param name="basedir" />
<xsl:include href="{$basedir}/team-menu.xsl" />
我剛剛結束了做這個,這是我最初想避免因局部的顯示問題,但它仍然有效! – 2010-06-14 15:28:52