SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
利用DocBook(XML)来写作!
就我所知道的那么一滴
李 建盛
二零零九年七月十二日
1.0
章程
介绍什么是DocBook?
准备环境
开始写作
关于DocBook元素、DocBook XSL的一些实例
资源列表+Questions?

2 / 32
Introduction
从概念、历史、特征等来述说,目的使大家有一个笼统的
认识.

Introduction

3 / 32
什么是DocBook?
• 一套用SGML或XML来书写结构化文档的系统!
• 主要目的是对计算机技术相关文档和书籍的支持,当然
也包含一些其它的领域。
• 除出版物之外也对web页面有很好的支持,甚至是演示
文稿。
• 背后有很多、很强大的free/opensource工具的支持。
• 有很多用户和开发者的支持!

Introduction

4 / 32
历史
• 由HaL Computer Systems and O'Reilly & Associates在
1991年联合公布和开发
• 稍后的发展由许多公司共同开发:如SUN,HP,DEC等.
1
• 目前由OASIS 在维护,版本为5.0

Introduction

5 / 32
谁在使用/开发/支持DocBook?
那些商业公司在如何使用,我们不得而知。
以下是较知名的社区:
•
•
•
•
•
•
•
•

Introduction

Linux Documentation Project
GNOME Documentation Project
RedHat
SuSE
http://docs.kde.org
.......
.......
也许有一天会加上"RedFlag"这个响亮的名字!

6 / 32
DocBook 的优点
• 拥有非常棒 社区用户和开发者们
• 容易定制和扩展现有的样式定义
• 有很多优秀的开源和自由软件工具的支持
• 多种格式的输出,包括:
• HTML
• HTML Help
• Java Help
• man pages
• MIF (Adobe FrameMaker)
• PDF
• PostScript
• RTF (Microsoft)
• TeX
Introduction

7 / 32
DocBook 的优点 (Continued)
• Text
• XHTML
• XSL Formatting Objects (FO)

Introduction

8 / 32
环境准备
工欲善其事,必先利其器!

环境准备

9 / 32
XML编辑器
Emacs with psgml
vim with macros
Bluefish,gedit+publish
plugin,kedit.......
明显与所想即所得的距离

环境准备

2

Emacs加上 psgml 模
式
3
4
Vim 和 macros 加
速。。。
图形的下 的文本工具
所谓之所见即所
得,XMLmind XML
Editor

10 / 32
DocBook DTD
5

到DTD的维护网站 下载相应的版本,
当然这是每个发行版中必备的,我们的服务器产品和桌面
产品默认都带了dtd文件。
LSB标准的路径是/usr/share/sgml/docbook/

5

http://www.oasis-open.org/docbook/xml/5.0b5/docbook-5.0b5.tar.gz

环境准备

11 / 32
DocBook XML XSL
由Norman Walsh所维护
有两种形式
• XSL
• DSSSL
到docbook@sourceforge.net上下载.
请参考我下载的文件

环境准备

12 / 32
XSL Stylesheets
• XSLT 可以将 DocBook XML 转换为下列格式:
• HTML
• HTML Help (for Windows Help)
• Java Help
• XHTML
• XSL Formatting Objects (FO)
• 额外的工具可以将FO文件转换为PDF, PostScript等

环境准备

13 / 32
DSSSL
Document Style Semantics and Specification Language的
缩写
• DSSSL 可以将DocBook SGML 转换为下列格式的文档:
• HTML
• MIF
• RTF
• TeX

环境准备

14 / 32
XSLT processor - libxslt/xsltproc
• http://xmlsoft.org/XSLT/
• C 实现.
• 由来自RedHat的Daniel Veillard开发, 隶属于GNOME
Project
• 由下列命令实现:
• xsltproc - XSLT processor
• xmllint - XML 有效性和格式检验程序
• 非常 快
• 依赖libxml2 和 libxslt
用法:
xsltproc -o outputfile stylesheet inputfile

环境准备

15 / 32
XSLT processor - Saxon
•
•
•
•

http://saxon.sourceforge.net/
Java 实现
由Michael Kay开发
支持许多XSLT实验性的特性.

java com.icl.saxon.StyleSheet inputfile styleshee

环境准备

16 / 32
XSLT processor - Xalan
•
•
•
•

http://xml.apache.org/
Java实现,也有C++的版本。
Apache基金会所开发。
广泛应用于开源社区.

java org.apache.xml.xalan.xslt.Process -IN inputf

环境准备

17 / 32
XSL-FO processor
apache FOP
•
•
•
•

http://xmlgraphics.apache.org/fop/
Java实现.
Apache基金会所开发。
0.95版本后对中文支持很好.

fop -fo filename.fo -pdf filename.pdf

环境准备

18 / 32
xsl运行图

环境准备

19 / 32
原理简介
• 众所周知,XML能够很好表达结构化的数据。但是其无
法表达它的表达形式。
• 那么将外观表现交给扩展样式表语言XSL来处理,得到
格式化的对象
• 这个Formatting Object仍然是XML文件,但是多了许多
和表现有关的属性。
• 然后FO再按照某种格式的文档输出,如PDF、PS可打
印,web页面、RTF,htmlhelp,javahelp,manpage等等

环境准备

20 / 32
让我们开始愉快的写作之旅吧!
我们简要的分别写一个书和文章的例子,来体验
DocBook。

让我们开始愉快的写作之旅吧!

21 / 32
书
简单的书的样例:examplebook.xml
<?xml version="1.0"?>
<book>
<bookinfo>
<title>23小时学会红旗linux操作系统</title>
</bookinfo>
<chapter>
<title>第一章</title>
<sect1>
<title>第一节</title>
<para>这是内容.</para>
</sect1>
<sect1>...</sect1>
</chapter>
<chapter>...</chapter>
让我们开始愉快的写作之旅吧!

22 / 32
书 (Continued)
<chapter>...</chapter>
<chapter>...</chapter>
<appendix>...</appendix>
<appendix>...</appendix>
</book>
基本的书的元素就已成形,请看pdf或html输出。

让我们开始愉快的写作之旅吧!

23 / 32
文章
[<?xml version="1.0"?>
<article>
<articleinfo>
<title>文章样例</title>
</articleinfo>
<para>摘要性的介绍文字。</para>
<sect1>
<title>第一章</title>
<para>这里添加内容</para>
<sect2>
<title>第一章的章节分支1</title>
<para>你好!你是垃圾! </para>
</sect2>
<sect2>...</sect2>
让我们开始愉快的写作之旅吧!

24 / 32
文章 (Continued)
<sect2>...</sect2>
</sect1>
<sect1>...</sect1>
<sect1>...</sect1>
<sect1>...</sect1>
</article>

让我们开始愉快的写作之旅吧!

25 / 32
如何编译
最简单的形式莫过于直接像上述那样直接执行命令即可
请看实例xml-format.sh
但是如果是多人合作了呢? “Makefile” 是最好的办法,

让我们开始愉快的写作之旅吧!

26 / 32
DocBook元素和其XSL语言的实例
以解决孙国栋的问题为主

DocBook元素和其XSL语言的实例

27 / 32
DobBook元素
主要以我已经写就的文档为参考
•
•
•
•
•

DocBook元素和其XSL语言的实例

目录、索引、引用等
等宽字体的支持
图片和表格
插入代码等

28 / 32
除XML以外的利用DocBook写作的形式
除XML以外的利用DocBook写作的形式

29 / 32
SGML + OpenJade
请参考中文资料
6
DocBook 助你完成传世之作

6

http://www.worldhello.net/doc/docbook_howto/

除XML以外的利用DocBook写作的形式

30 / 32
参考资料
我从以下站点获得许多帮助
• http://www.ibm.com/developerworks/linux/library/xreuseinfo1/index.html
• http://blog.sina.com.cn/s/
blog_3ef2a82a0100davi.html###
推荐读物和链接:
•
•
•
•

7

DocBook社区
8
一篇讲解非常详细的演示文稿
9
DocBook XSL: The Complete Guide - 4th Edition
10
Publican官方站点

31 / 32
Q&A
Any questions?

32 / 32

Contenu connexe

En vedette

M-learning for Farmers
M-learning for FarmersM-learning for Farmers
M-learning for Farmersdivesh bhadani
 
Программное обеспечение для образовательных учреждений
Программное обеспечение для образовательных учрежденийПрограммное обеспечение для образовательных учреждений
Программное обеспечение для образовательных учрежденийКРОК
 
Cindy Koan [CV]
Cindy Koan [CV]Cindy Koan [CV]
Cindy Koan [CV]Cindy Koan
 
La historia mas hermosa del mundo parte 8
La historia mas hermosa del mundo parte 8La historia mas hermosa del mundo parte 8
La historia mas hermosa del mundo parte 8Diana Rodriguez
 
Project paper 14 dec 2013
Project paper 14 dec 2013Project paper 14 dec 2013
Project paper 14 dec 2013Bram Beirens
 
Apple Watch / Smartwatch UX: 7 Guidelines for greater Apps
Apple Watch / Smartwatch UX: 7 Guidelines for greater AppsApple Watch / Smartwatch UX: 7 Guidelines for greater Apps
Apple Watch / Smartwatch UX: 7 Guidelines for greater AppsThorsten Jonas
 

En vedette (13)

M-learning for Farmers
M-learning for FarmersM-learning for Farmers
M-learning for Farmers
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Story Board
Story BoardStory Board
Story Board
 
Regras diferenciacao[1]
Regras diferenciacao[1]Regras diferenciacao[1]
Regras diferenciacao[1]
 
Failover plan
Failover plan Failover plan
Failover plan
 
Программное обеспечение для образовательных учреждений
Программное обеспечение для образовательных учрежденийПрограммное обеспечение для образовательных учреждений
Программное обеспечение для образовательных учреждений
 
Obama, BP Set For For Oil
Obama, BP Set For For OilObama, BP Set For For Oil
Obama, BP Set For For Oil
 
Cindy Koan [CV]
Cindy Koan [CV]Cindy Koan [CV]
Cindy Koan [CV]
 
NEW GROUND
NEW GROUNDNEW GROUND
NEW GROUND
 
La historia mas hermosa del mundo parte 8
La historia mas hermosa del mundo parte 8La historia mas hermosa del mundo parte 8
La historia mas hermosa del mundo parte 8
 
Игнатьева Елена Евгеньевна
Игнатьева Елена ЕвгеньевнаИгнатьева Елена Евгеньевна
Игнатьева Елена Евгеньевна
 
Project paper 14 dec 2013
Project paper 14 dec 2013Project paper 14 dec 2013
Project paper 14 dec 2013
 
Apple Watch / Smartwatch UX: 7 Guidelines for greater Apps
Apple Watch / Smartwatch UX: 7 Guidelines for greater AppsApple Watch / Smartwatch UX: 7 Guidelines for greater Apps
Apple Watch / Smartwatch UX: 7 Guidelines for greater Apps
 

Similaire à Docbook intr

從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docsimacat .
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)My own sweet home!
 
电子杂志第六期
电子杂志第六期电子杂志第六期
电子杂志第六期yiditushe
 
An overview to sql engines
An overview to sql enginesAn overview to sql engines
An overview to sql enginesssuser7bf78b1
 
Koha: GNU GPL 授權的圖書館自動化系統
Koha: GNU GPL 授權的圖書館自動化系統Koha: GNU GPL 授權的圖書館自動化系統
Koha: GNU GPL 授權的圖書館自動化系統maolins
 
Future of e-reader and e-book industry
Future of e-reader and e-book industryFuture of e-reader and e-book industry
Future of e-reader and e-book industryleonz
 
2021 EPUB 3.3 與無障礙 -數位出版國際標準最新進展
2021 EPUB 3.3 與無障礙-數位出版國際標準最新進展2021 EPUB 3.3 與無障礙-數位出版國際標準最新進展
2021 EPUB 3.3 與無障礙 -數位出版國際標準最新進展Yu-Wei Chang
 
Linux 新手入门
Linux 新手入门Linux 新手入门
Linux 新手入门King Hom
 

Similaire à Docbook intr (9)

從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
 
电子杂志第六期
电子杂志第六期电子杂志第六期
电子杂志第六期
 
An overview to sql engines
An overview to sql enginesAn overview to sql engines
An overview to sql engines
 
1
11
1
 
Koha: GNU GPL 授權的圖書館自動化系統
Koha: GNU GPL 授權的圖書館自動化系統Koha: GNU GPL 授權的圖書館自動化系統
Koha: GNU GPL 授權的圖書館自動化系統
 
Future of e-reader and e-book industry
Future of e-reader and e-book industryFuture of e-reader and e-book industry
Future of e-reader and e-book industry
 
2021 EPUB 3.3 與無障礙 -數位出版國際標準最新進展
2021 EPUB 3.3 與無障礙-數位出版國際標準最新進展2021 EPUB 3.3 與無障礙-數位出版國際標準最新進展
2021 EPUB 3.3 與無障礙 -數位出版國際標準最新進展
 
Linux 新手入门
Linux 新手入门Linux 新手入门
Linux 新手入门
 

Plus de Li Jiansheng

The way of_open_source
The way of_open_sourceThe way of_open_source
The way of_open_sourceLi Jiansheng
 
Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Li Jiansheng
 
Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Li Jiansheng
 
东方文化与技术社区
东方文化与技术社区东方文化与技术社区
东方文化与技术社区Li Jiansheng
 
开发者与开源社区
开发者与开源社区开发者与开源社区
开发者与开源社区Li Jiansheng
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读Li Jiansheng
 
秘方文化与Ceph项目分析
秘方文化与Ceph项目分析秘方文化与Ceph项目分析
秘方文化与Ceph项目分析Li Jiansheng
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introductionLi Jiansheng
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍Li Jiansheng
 
Why based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastWhy based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastLi Jiansheng
 
Open source culture_in_china_team
Open source culture_in_china_teamOpen source culture_in_china_team
Open source culture_in_china_teamLi Jiansheng
 
深入浅出云计算之IaaS
深入浅出云计算之IaaS深入浅出云计算之IaaS
深入浅出云计算之IaaSLi Jiansheng
 
Hackers and painter book reading
Hackers and painter book readingHackers and painter book reading
Hackers and painter book readingLi Jiansheng
 
社区翻译那点事
社区翻译那点事社区翻译那点事
社区翻译那点事Li Jiansheng
 
数据中心操作系统浅析
数据中心操作系统浅析数据中心操作系统浅析
数据中心操作系统浅析Li Jiansheng
 
oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度Li Jiansheng
 

Plus de Li Jiansheng (20)

The way of_open_source
The way of_open_sourceThe way of_open_source
The way of_open_source
 
Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018Community governance evolution_open_infra_china_day_2018
Community governance evolution_open_infra_china_day_2018
 
Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3Why said engineer_is_roadblock- lc3
Why said engineer_is_roadblock- lc3
 
东方文化与技术社区
东方文化与技术社区东方文化与技术社区
东方文化与技术社区
 
开发者与开源社区
开发者与开源社区开发者与开源社区
开发者与开源社区
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读
 
秘方文化与Ceph项目分析
秘方文化与Ceph项目分析秘方文化与Ceph项目分析
秘方文化与Ceph项目分析
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introduction
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
 
Why based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_lastWhy based success_opensource_project_will_fail_its_product_last
Why based success_opensource_project_will_fail_its_product_last
 
Open source culture_in_china_team
Open source culture_in_china_teamOpen source culture_in_china_team
Open source culture_in_china_team
 
深入浅出云计算之IaaS
深入浅出云计算之IaaS深入浅出云计算之IaaS
深入浅出云计算之IaaS
 
Hackers and painter book reading
Hackers and painter book readingHackers and painter book reading
Hackers and painter book reading
 
社区翻译那点事
社区翻译那点事社区翻译那点事
社区翻译那点事
 
数据中心操作系统浅析
数据中心操作系统浅析数据中心操作系统浅析
数据中心操作系统浅析
 
oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度
 
Ovirt deep dive
Ovirt deep diveOvirt deep dive
Ovirt deep dive
 
Code reading
Code readingCode reading
Code reading
 
Understand ovirt
Understand ovirtUnderstand ovirt
Understand ovirt
 
Newbie 3 things
Newbie 3 thingsNewbie 3 things
Newbie 3 things
 

Docbook intr