Как генерировать PDF из DocBook 5.0

Я записал документ 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?

15
задан Tobu 20 January 2012 в 21:18
поделиться

2 ответа

Между Docbook 4.5 и 5.0 есть существенные различия. И эти различия могут помешать преобразованию вашего документа.

Если вы хотите проверить достоверность вашего документа 5.0, вы можете использовать следующий инструмент командной строки:

  1. это инструмент Java, поэтому вам необходимо иметь свежую среду выполнения Java.

  2. инструмент - Цзин. Вы можете загрузить его с веб-сайта thaiopensource: http://www.thaiopensource.com/relaxng/jing.html

  3. вам также понадобится файл relax ng для docbook 5.0. Поставляется с дистрибутивом docbook 5.

  4. запустите проверочный тест с помощью следующей командной строки:
    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 миллисекунды

2
ответ дан 1 December 2019 в 00:49
поделиться

Помимо заголовка, который вы указали, пробовали ли вы меньший пример, как этот из 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.)

4
ответ дан 1 December 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: