Сохраните пробелы при использовании xinclude с docbook - PullRequest
0 голосов
/ 25 апреля 2019

Я использую docbook для генерации документов. Структура основного документа является модульной с использованием xinclude для различных модулей.

Моя проблема связана с дословными элементами (элементами со значительными пробелами), которые включаются в основной документ с помощью xinclude.

Если я использую literallayout непосредственно в основном документе, вывод будет таким, как ожидалось: пробелы сохраняются.

Я хочу использовать включенный файл, который содержит раздел с элементом literallayout. Если я сгенерирую документ с включенным файлом, на выходе будут удалены пробелы.

Может кто-нибудь сказать мне, как сохранить пробелы в дословных элементах, таких как literallayout или программный листинг?

File1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<section id="someid">
<title>section title</title>
<para>
<literallayout>
This shall show a small picure with '0':
   0
  000
 00000 
</literallayout>
</para>
</section>

Если я сгенерирую его как отдельный документ, результат будет таким, как ожидалось:

    0
   000
  00000 

Если я использую его следующим образом: File2.xml:

<?xml version="1.0" encoding="ISO-8859-15"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<book>
<bookinfo>
   ...minimum input here
</bookinfo>
<chapter id="First_Chapter">
    <title>Introduction</title>

    <section id="First_Section">
      <title>literallayout and programlisting in the main xml file</title>

      <para><literallayout>This should look like a triangle built out of the character '0'
   0
  000
 00000
</para>
    </section>

    <xi:include href="File1.xml"
                xmlns:xi="http://www.w3.org/2001/XInclude" />
  </chapter>
</book>

Если я сгенерирую этот документ, первый раздел будет таким, как ожидалось (в виде пирамиды)

но в разделе, включенном в xinclude, все '0' выводятся в одной строке 0 000 00000.

...