从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