Я записал документ DocBook 5.0 с заголовком:
<?xml version="1.0" encoding="UTF-8"?>
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:db="http://docbook.org/ns/docbook">
и docbook2pdf на Ubuntu 9.10 печатает много сообщений об ошибках и не делает никакого документа PDF. Ошибки:
openjade:test.xml:2:0:E: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES
openjade:test.xml:2:0:E: no document type declaration; will parse without validation
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbtitle.dsl:18:5:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbbibl.dsl:704:4:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence
docbook2pdf для документа в формате DocBook 4.5 с нормальным заголовком как:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
работы вполне хорошо.
Там какой-либо путь состоит в том, чтобы генерировать PDF из DocBook 5.0?
Между Docbook 4.5 и 5.0 есть существенные различия. И эти различия могут помешать преобразованию вашего документа.
Если вы хотите проверить достоверность вашего документа 5.0, вы можете использовать следующий инструмент командной строки:
это инструмент Java, поэтому вам необходимо иметь свежую среду выполнения Java.
инструмент - Цзин. Вы можете загрузить его с веб-сайта thaiopensource: http://www.thaiopensource.com/relaxng/jing.html
вам также понадобится файл relax ng для docbook 5.0. Поставляется с дистрибутивом docbook 5.
запустите проверочный тест с помощью следующей командной строки:
java -jar path_to_Jing / jing.jar -t -i path_to_docbook5 / docbook.rng document.xml
Если есть какие-то ошибки, они должны быть возвращены следующим образом: Ошибка в URL "file: ..... / document.xml", номер строки 211, номер столбца 59: неверное значение для атрибута "id" из пространства имен " http: // www .w3.org / XML / 1998 / namespace " Прошедшее время 968 + 166 = 1134 миллисекунды
Помимо заголовка, который вы указали, пробовали ли вы меньший пример, как этот из DocBook 5.0: The Definitive Guide ?
<?xml version="1.0" encoding="UTF-8"?>
<book xmlns='http://docbook.org/ns/docbook'>
<title>An Example Book</title>
<titleabbrev>Example</titleabbrev>
<info>
<legalnotice><para>No notice is required.</para></legalnotice>
<author><personname>
<firstname>Norman</firstname><surname>Walsh</surname>
</personname></author>
</info>
<dedication>
<para>
This book is dedicated to you.
</para>
</dedication>
<preface>
<title>Foreword</title>
<para>
Some content is always required.
</para>
</preface>
<chapter>
<title>A Chapter</title>
<para>
Content is required in chapters too.
</para>
</chapter>
<appendix>
<title>Optional Appendix</title>
<para>
Appendixes are optional.
</para>
</appendix>
</book>
Только что отрисован это в PDF через одну из моих сред Maven. Можете ли вы привести небольшой пример (или несколько отдельных частей), содержащий некоторый контент, в котором необходимы все дополнительные пространства имен.
Если приведенный выше пример не работает, и вас интересует, как я настроил свою среду, прочтите Создание доступа к содержимому DocBook на сайте проекта Maven . Просто замените этот пример приведенным выше примером DocBook 5.0. В связи с этим вопросом представляет интерес только docbkx-maven-plugin
. (PS: для этого требуются некоторые базовые знания Java и Maven2.)