whitespace - 将 xinclude 与 docbook 一起使用时保留空格
问题描述
我使用docbook生成文档。主文档的结构是模块化的,对不同的模块使用xinclude。
我的问题是关于通过 xinclude 包含在主文档中的逐字元素(带有大量空格的元素)。
如果我直接在主文档中使用文字布局,则输出如预期:保留空格。
我想使用一个包含的文件,其中包含一个带有literallayout 元素的部分。如果我使用包含的文件生成一个文档,则输出中的空格会被删除。
谁能告诉我如何在文字布局或程序列表等逐字元素中保留空格?
文件1.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 上输出。
解决方案
可能的解决方案
我认为自己找到了解决问题的方法:如果包含的 literallayout 元素xml:space="preserve"
添加了属性,它应该会有所帮助。这应该是默认值,但似乎 xinclude 以某种方式“丢失”或“替换”它。
推荐阅读
- python - 如何使用 sympy 库求解这个方程?
- java - 启用 vpc 端点时如何将 S3 对象从一个区域复制到另一个区域
- javascript - (JS) 使用 IF/Switch 语句更改滑块值
- parallel-processing - 并行运行单处理器作业的 N 次迭代
- apache-spark - 将所有数据从 Kafka 主题复制到接收器(文件或 Hive 表)的最推荐方法是哪种?
- angular - Angular2+ Cucumber & Protractor 拦截 http 调用
- javascript - 在所有异步函数完成后执行函数?
- php - 如何使用 PHP 和 MySQL 在数据库中存储网络爬虫
- oracle - 加入时删除不按预期工作oracle
- unity3d - Unity-如何将触摸连接到任意控件