在使用 DocBook 5(使用 XSD,而不是 DTD)编写大型手册时,我需要在很多地方提及版本名称。例如,分发 zip 的名称包括版本名称。该版本名称不断变化,所以我想为此使用一个变量。
如何在 DocBook 5(使用 XSD,而不是 DTD)中进行变量替换?
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。