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.