根据Docook官网的解释,Docbook是一种schema。
schema,中文一般翻译为模式,但是如此解释,还是很抽象,很难理解。
关于Schema | |
---|---|
|
此处,可以简单的将Docbook理解为,类似于某种语言,比如英语。
英语,包括了对应的单词,词汇,以及对应的语法,规定了单词和词汇之间的关系,如何使用它们才是正确的。
对应的Docbook,也规定了一堆基本的单词和相应的语法。
- Docbook中的单词 == 元素(Element)
Docbook中的单词,被称为元素(elment),比如最常见的book,chapter,section等。
- Docbook的中语法 == 用其他语言(Relax NG/SGML/XML DTDs/W3C XML Schema)来解释
Docbook中各个元素之间的关系,是Docbook规定好的。
此所谓的规定,就是用某种方法,解释出来,并且要解释的清楚易懂。
而直接用文字去描述的话,比如book下面可以嵌套多个chapter,chapter下面可以有多个section等,
首先真容易把Docbook的人累死,因为单纯用文字描述清楚如此复杂的关系,真的需要太多文字的解释。
其次,用纯文字描述,语义上不是足够明确。
而计算机领域内,有对应的,专门用于描述,类似于Docbook中的各个“单词”之间的关系的语言。
而Docbook就是采用他们,来解释清楚,Docbook中有哪些元素,以及这些元素之间的关系又是啥样的。
目前已经实现了的,包括Relax NG,SGML,XML DTDs,W3C XML Schema
通过如此描述,可以简介而精确的描述出Docbook的内容,即有哪些元素和元素之间的关系。
到底这些描述语言,比如DTD,XML Schema等,都是啥样子的 关于到底这些描述语言,都长的啥样子的,都是如何工作的,可以去看:DTD vs XML Schema
看完后,就可以大概的了解到,这些描述语言,是怎么回事了。
而对于具体的更多的描述语言的细节,作为Docbook使用者来说,我们可以不必太关心。
我们需要关心的是,docbook中有哪些元素,以及他们之间的关系。然后如何去正确的使用它们。
所以,简单总结可以理解为:
Docbook是一种模式,其规定了包括哪些元素以及这些元素之间的关系。
而包含的元素以及元素之间的关系,是用对应的Schema Language去描述的。
目前已经Docbook实现了的Schema Language有:Relax NG,SGML,XML DTDs,W3C XML Schema
Docbook(虽然不仅仅只支持这些,但是)更加适用于计算机(软件和硬件)相关的书籍和文章。
Docbook的<=4.5的版本,很多都是用SGML语言书写Docbook源码的,现在已不再推荐。
Docbook最新版本是5.0。推荐使用XML语言书写Docbook的源码。