docbook5.0放出已经有一段时间了,正好要用docbook写文档,决定要遵循5.0标准,索性就把5.0的一些新特性记录下来.
今天先说说5.0的文档声明与4.0有什么不同,docbook5已经不推荐使用dtd,取而代之的是RELAX NG,RELAX NG(读作“relaxing”),是一种基于语法的 XML 模式语言,可用于描述、定义和限制 XML 词汇表。通过本文了解某些人不喜欢使用文档类型定义(Document Type Definition,DTD)的原因,以及 RELAX NG 如何针对它进行改善.如果你想更深的了解RELAX NG,可以去google搜索一下,介绍性的文档很多.
下面比较一下4.0和5.0在文档声明上的不同,先看看4.0
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<article lang="en">
<title>Sample article</title>
<para>This is a very short article.</para>
</article>
下面是5.0的新方法
<?xml version="1.0" encoding="utf-8"?>
<article xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<title>Sample article</title>
<para>This is a very short article.</para>
</article>
注意!5.0里的语言声明方式采用标准方法xml:lang="en",这是简写方法,全写应该是xml:lang="en-US".
下一篇介绍如何使用新的RELAX NG来验证docbook.