Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macros 如何在DocBook 5.0中正确包含常量字符串?_Macros_Constants_Docbook_Docbook 5 - Fatal编程技术网

Macros 如何在DocBook 5.0中正确包含常量字符串?

Macros 如何在DocBook 5.0中正确包含常量字符串?,macros,constants,docbook,docbook-5,Macros,Constants,Docbook,Docbook 5,我正在开发的软件有DocBook4.2中使用DTD编写的文档,我想迁移到5.0并删除DTD。大部分内容都已迁移,但最后剩下的是版本宏。我以前有一个由Makefile生成的名为version.ent的文件: 在DocBook 5.0中如何在不使用DTD的情况下实现这种机制?经过一番挖掘,我发现解决方案是内部DTD子集。我错误地认为DTD不应该被完全使用,但这是不正确的 本页对此进行了很好的解释:。相关引用: 当您从DTD切换到RelaxNG或W3C XML模式时 重要的是,您失去了在模式中定义XM

我正在开发的软件有DocBook4.2中使用DTD编写的文档,我想迁移到5.0并删除DTD。大部分内容都已迁移,但最后剩下的是版本宏。我以前有一个由Makefile生成的名为version.ent的文件:


在DocBook 5.0中如何在不使用DTD的情况下实现这种机制?

经过一番挖掘,我发现解决方案是内部DTD子集。我错误地认为DTD不应该被完全使用,但这是不正确的

本页对此进行了很好的解释:。相关引用:

当您从DTD切换到RelaxNG或W3C XML模式时 重要的是,您失去了在模式中定义XML实体的能力

此外:

您仍然可以使用DocBook 5中的实体,但不能声明它们 在松弛模式中。相反,您必须引用您的实体 需要的每个文档的DOCTYPE声明中的声明 他们

也许这有助于:
<!ENTITY __VERSION__ "1.2.3-git">
<!ENTITY % version SYSTEM "version.ent">
%version;
]>
Welcome to the User's guide of foo version &__VERSION__.