Paul A. Hoadley wrote:
> Hello,
>
> This is not a DocBook-specific question. I have some DocBook XML
> documents in a Subversion repository, and I want to be able to process
> them on FreeBSD and WinXP/Cygwin machines. A problem arises because
> the customisation layer needs to know where the DocBook XSL
> stylesheets are. (Under Cygwin, the path is
> "c:/cygwin/usr/local/share/xsl..." and under FreeBSD it is
> "/usr/local/share/xsl...". I cannot rely on a path relative to the
> customisation file, as it can be checked out of Subversion anywhere.)
>
> My understanding is that the 'href' attribute of 'xsl:import' can't
> take a parameter, so I can't pass in something system-specific from
> the Makefile (which would have been clumsy but sufficient). Is there
> an XSL solution to this problem? If not, has anyone solved this with
> some pre-processing?
Have you considere using catalogs? We use generic paths (URLs) on all
imports, and then let an XML catalog resolve these to the correct
actual paths.
If you place the catalog file in the xsl-directory, all the resolved
paths to the stylesheets can be made relative.
See Bob Staytons excellent book:
http://sagehill.net/docbookxsl/
Specifically:
http://sagehill.net/docbookxsl/Catalogs.html
HTH!
Best regards,
Rune Lausen