從Linux發行版開始,通過網絡複製/粘貼大量示例,我正在執行以下操作,以將DocBook樣式包含在我的XSL文件(在xsltproc處理):XSL導入:如何克服(docbook或其他)樣式文件位置的差異
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl"/>
...
這個偉大的工程,只要「docbook.xsl」是在指定的地點。當然,這並不總是。例如,在Mac OSX與MacPorts的,它需要:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="/opt/local/share/xsl/docbook-xsl/html/docbook.xsl"/>
...
一個完全不同的道路。我查看了網絡,看看是否存在XSL的「文件存在」功能(顯然還沒有)或是否有條件包含(顯然不是)。
因此,根據「docbook.xsl」的真實位置(我可能會通過Makefile)來動態創建XSL,還有其他任何可能將文件從正確的位置導入沒有太多麻煩?
編輯/答: Dimitre指出正確的方式,閱讀了一下那裏後並在我的系統中的一般目錄文件,簡單的答案的具體問題是使用:
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
案件結案,問題解決。和書寫自己的目錄被推遲到另一個時間:-)
好問題,+1。請參閱我的答案以獲得一般和標準解決方案。 – 2011-04-23 18:04:26
你寫道:「我查看過網絡是否存在XSL的」文件存在「功能(顯然還沒有)或者條件包含是否可能(顯然不是)。」這並不完全正確。在SO中搜索這些問題。 – 2011-04-23 22:37:58