Исходя из дистрибутива Linux и скопировав / вставив из нескольких примеров в сети, я делаю следующее, чтобы включить стиль DocBook в мои XSL-файлы (обработанные с помощью xsltproc):
<?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 (очевидно, еще нет) или возможны ли условные включения (очевидно, нет).
Итак, если не считать необходимости динамического созданияXSL, в зависимости от того, где на самом деле находится «docbook.xsl» (я бы, вероятно, сделал это через Makefile), есть ли другие возможности импортировать файл из правильного местоположения без особых хлопот?
Правка / Ответ: Димитр указал верный путь, и после прочтения немного там и в файлах общего каталога на моих системах, краткий ответ на конкретную проблему должен использовать:
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
Дело закрыто, проблема решена.А написание собственных каталогов отложено на другое время: -)