2

在使用 DocBook 5(使用 XSD,而不是 DTD)编写大型手册时,我需要在很多地方提及版本名称。例如,分发 zip 的名称包括版本名称。该版本名称不断变化,所以我想为此使用一个变量。

如何在 DocBook 5(使用 XSD,而不是 DTD)中进行变量替换?

4

1 回答 1

2

XML 实体是一种宏或可替代变量,因此我建议您使用其中的一个或多个。实体可以在任何 XML 文档中声明和引用,即使 DTD 不用于验证。

实体声明version(内部实体):

<?xml version="1.0"?>
<!DOCTYPE book [
<!ENTITY version "Version X">
]>
<book xmlns="http://docbook.org/ns/docbook" version="5.0">
 ...
</book>

参考version实体:

<book xmlns="http://docbook.org/ns/docbook" version="5.0">
 ...
 <para>The current version is &version;</para>
</book>

解析文档时,解析器将所有出现的 替换&version;Version X

这里有更多细节和建议:http: //www.sagehill.net/docbookxsl/Db5Entities.html

于 2014-11-08T15:58:53.607 回答