metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-08-31 10:37 pm

Завел docbook

Похоже, что с такими вещами ручная сборка нужного комплекта утилит - наиболее правильный подход.



1. Скачать xsltproc со всеми его потрохами(libxml, libxslt, zlib, and iconv). Это морда к libxml2, без всяких Java и прочего шлака. Брать тут. Полученные zip файлы распаковать и снести в одну папку. Нужны оттуда вроде только бинарники(там еще h и lib в комплекте идут).
Описание действий вычитано здесь

2. Скачать dtd от docbook. Здесь. Я взял версию 4.5, типа предыдущая стабильная. Распаковать полученный zip в отдельную папку. Эта хрень используется для валидации docbook xml-файлов, т.е. исходников нашего текста. Для поиска dtd xslt-процессором надо написать файл каталога и положить его где-нибудь в отдельной папке рядом с со всей этой ересью. Пример файла catalog.xml(файл сохранить и смотреть в исходнике, потому что браузер пытается его рендерить своей таблицей стилей). В нем указывается путь к файлу docbookx.dtd в виде URI, в различных вариациях. Номер версии в описаниях пути и в заголовке dосbook xml-файла очевидно должен совпадать, процессор его ищет в каталоге по этой строке.

Описание действий здесь.

3. Скачать xsl от docbook. Здесь, на странице проекта, найти раздел Downloads и скачать оттуда файл типа "docbook-xsl-1.73.2.zip"(версию очевидно брать последнюю стабильную). Распаковать файлик в отдельную папку.
Как соотносятся версии dtd типа 4.5 и xsl типа 1.73.2 - чорт его знает.
Описание действий здесь

4. Для конверсии docbook в html cделать cmd-файлик. Пример файла. Файл положить куда-нибудь, куда указывает переменная окружания PATH, или для запуска придется указывать путь к нему целиком.

смысл строк в файле:
@set XML_CATALOG_FILES=путь_к_папке_каталога/catalog.xml
устанавливает путь к каталогу чтобы xsltproc мог до него добраться.

xsltproc.exe
--output %1.html - указывает выходной файл
--stringparam use.extensions 0 - отключает какие-то жаба-расширения
--stringparam html.stylesheet document.css - подключение к выходному файлу таблицы стилей(удобно управлять отображением, в зависимости от докбук-тегов)
путь_к_xsl\html\docbook.xsl - xsl-таблица стилей, собственно говоря, сам конвертор докбука
%1 - входной файл

Для конвертации в другие форматы, а также для изменения настроек, придется модифицировать файл, руля строками --stringparam и указывая другие xsl-файлы из папок(для каждого формата соответственно):
fo
htmlhelp

5. Пишем xml-файл док-бука и запускаем его компиляцию:
docbook_html Source.xml
получаем файл Source.xml.html и вкуриваем его :)

[identity profile] ktn-zoidberg.livejournal.com 2007-09-01 07:12 am (UTC)(link)
и что? если вся работа на винде к чему тут линукс?

[identity profile] ktn-zoidberg.livejournal.com 2007-09-01 07:14 am (UTC)(link)
то что на линуксе оно работает это и ещу понятно, и на solaris и под cygwinом

[identity profile] bigfrogg.livejournal.com 2007-09-01 08:48 am (UTC)(link)
Я не о том что где работает. Я о том как просто заставить зарботать.
пс Работает всё и везде, зависит только сколько усилий приложить надо.

[identity profile] metaclass.livejournal.com 2007-09-01 02:59 pm (UTC)(link)
Под линуксом подозреваю, что проще будет. Ну русификация FOP явно тот же самый процесс, что и на винде.

[identity profile] ktn-zoidberg.livejournal.com 2007-09-01 04:27 pm (UTC)(link)
давно хотел написать: меня бесит одна хрень в XML - XML Unicode поддерживает? поддерживает, в Unikode пустого места и супер редкоиспользуемых символов дохера? дохера... так что мешало или в стандарт Unicode прописать спец символы для UNICODE для замены <>" и еше пару... и не было бы проблем с подстаносками и перестановками всякого дерьма вместо <>"& и т.д. ...

и всегда поддерживало

(Anonymous) 2007-09-03 09:00 am (UTC)(link)
'