E.6. DocBook 到 DocBook 的转换

E.6.1. XML 和 SGML DocBook

DocBook XML 和 SGML 之间存在一些差异。对于大多数小型文档来说,处理这些差异应该相对容易,许多作者除了在文档开头进行 XML 和 DocBook 声明之外,无需进行任何更改即可转换他们的文档。

对于其他人,以下是在将文档从 SGML 转换为 XML 时应牢记的事项列表。

NoteXML 和 SGML 元素之间的差异
 

一个 XML 元素通常有三个部分:开始标签、内容(您的文字)和结束标签。限定符添加到开始标签中,称为属性。它们始终具有名称和带引号的值。

<filename class="directory">/usr/local<filename>
	

开始标签包含一个属性 (class),其值为 "directory"。结束标签(同样是 filename)不得包含任何属性。

E.6.2. 更改 DTD

DTD 版本更改之间的重大更改涉及元素(标签)的更改。元素可能是:已弃用(这意味着它们将在未来版本中删除);已删除;已修改;或已添加。几乎所有作者在从较低版本的 DocBook 升级到较高版本时都会遇到已更改或已弃用的标签。

DocBook: 权威指南 在展示元素如何组合在一起方面做得非常出色。对于每个元素,它都会告诉您元素必须包含什么(其内容模型)以及可能包含在什么中(其父元素)。例如:一个note必须包含一个para。如果您尝试编写 <note>笔记中的内容</note>,您的文档将无法验证。了解元素是如何组装的,将使您更容易理解抛给您的任何验证错误。如果您真的遇到困难,您也可以发送电子邮件到 LDP 的 docbook 邮件列表以获得更多提示。有关订阅的信息,请访问 第 2.2 节

所有已弃用或为 4.x 版本更改的标签都列在 DocBook: 权威指南 中,该指南由 O'Reilly and Associates 出版。这本书也可以在 http://www.docbook.org 在线获取。

E.6.2.1. 3.x 和 4.x 版本之间的差异

以下是一些与 LDP 作者特别相关的元素

  • artheader. 已更改为articleinfo。大多数其他标头元素已重命名为 info。

  • graphic. 已被弃用,将在 DocBook 5.x 中删除。为了对此做好准备,请开始使用mediaobject。有关更多信息,请参见mediaobject第 D.5 节

  • imagedata. 文件格式现在必须以大写字母书写。如果您对文件格式使用小写或混合大小写拼写,则会失败。

    有效

    <imagedata format="EPS" fileref="foo.eps">
    

    无效

    <imagedata format="eps" fileref="foo.eps">