2011-04-23 44 views
3

从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"/> 

案件结案,问题解决。和书写自己的目录被推迟到另一个时间:-)

+0

好问题,+1。请参阅我的答案以获得一般和标准解决方案。 – 2011-04-23 18:04:26

+0

你写道:“我查看过网络是否存在XSL的”文件存在“功能(显然还没有)或者条件包含是否可能(显然不是)。”这并不完全正确。在SO中搜索这些问题。 – 2011-04-23 22:37:58

回答

2

因此,短期有动态 创建XSL具体情况取决于 “docbook.xsl”真的是(我会 大概到通过Makefile),是 有没有其他的可能性 从正确的 位置导入文件没有太多的麻烦?

XML目录旨在解决这个问题(等)。

了解更多here

相关问题