Я использую 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.