docbook_DocBook简介,一种值得学习的灵活标记语言

docbook

最初发明计算机是为了进行数学运算,并且它们确实做得很好。 但是不久之后,用户就可以将其未来派计算器重新用于精美的动态打字机中。 现在,人类可读的文本驱动了计算,因此为您编写的文本选择正确的格式非常重要。

DocBook是XML模式。 XML是一种很像HTML的可扩展标记语言。 它确实无处不在,但是您可能通过RSS或Atom,LibreOffice和Apache OpenOffice的Open Document格式,Inkscape和SVG文件格式知道它,等等。 实际上,可以肯定地说,如果您拥有计算机或移动设备,则其中包含XML。

这是原始形式的样子:



   
   
   
  < chapter >
< title > My title goes here </ title >

< para >
 Paragraph text goes here.
</ para >

< section >
  < title > A section title </ title >

< para >
 More paragraph text. Some in < emphasis > italics </ emphasis > .
</ para >
</ section >
</ chapter >

DocBook本身易于学习且易于编写,它也是可用的最灵活的格式之一。 DocBook提供了其他格式,例如Markdown和reStructured Text。 DocBook不提供的内容可以通过通用XML来实现。

但是,为什么在存在更简单的替代方法时又要花时间学习DocBook? 当您可以对原本纯文本加一些结构并最终获得高度可移植,计算机和人类可读的数据时,为什么还要打扰标记语言呢?

安顿下来。一切都会揭晓。

失败更快

使用更简单的格式与使用DocBook之间的明显区别是DocBook会在出现问题时告诉您。 许多其他格式(例如Markdown和HTML)都会静默失败。 通常感觉很好,因为结果是呈现了文档。 您按Enter键,您的文档将由转换所需的任何解析器或处理器处理,然后完成。 真是太好了。

使用更简单的格式与使用DocBook之间的明显区别是DocBook会在出现问题时告诉您。
但是,无声失败的现实是它仍然失败。 您可能已经得到输出,并且大多数看起来都很好,但是未捕获的错误呢? 也许它渲染不正确,但是如果它被埋在200页文档的第42页中,您何时会注意到? 错误可能在文档的Web版本中正确显示,但对于打印版本却错误显示。

像所有XML一样,DocBook非常严格。 例如,如果在关闭<chapter >之后放置<para> ,则文档构建将失败,并且通常会冗长地失败。 因为DocBook是XML,所以您甚至可以通过xmllint运行源代码以尽早发现错误。

经历错误绝非易事。 看着您的工作陷入大量非法标签和语法错误中,而不是构建成精美呈现的EPUB,网页或PDF,这并不是一件有趣的事情。 为了消除这种失望,大多数处理器接受了一个选项来暂时忽略错误,例如--skip-validation ,但是最终失败很重要。 故障可以识别出您来源中的缺陷,并保护您免受产品令人不愉快的意外。

比看起来容易

DocBook有时因难以学习而闻名。 我发现通常不是DocBook,而是人们围绕它构建的独特工具链,它们具有陡峭的学习曲线。

与HTML相比,DocBook的标签是自描述的。 您要写文章还是书? 分别从<article><book>标记开始。 分别使用<chapter><section>来开始一本书中的新章节或文章中的新章节。 以<para>开头一个段落,以<orderedlist>开头一个有序列表,通过<listitem>输入一个列表项,依此类推。

与Markdown和AsciiDoc相比,DocBook看起来很复杂,但是如果您考虑结构化文本中所有不直观的规则,DocBook的规则似乎并不那么糟糕。

从最初的Markdown规范中学习语法通常是一个反复试验的过程,其后是一系列拼命的互联网搜索,这意味着要仔细研究所有不同的Markdown风格和解析器,以找到正确答案的最佳适用候选者。 CommonMark是一个致力于定义更艰巨和严格规范的项目,虽然有所帮助,但用户往往会因为学习基础知识的难度而陷入错误的安全感,却发现获得高级结果会带来令人惊讶的学习曲线。

幸运的是,Markdown接受HTML作为后备标记选项,并且那里有多种工具和Markdown变体来弥补原始规范的不足。 即使这样,如果您要为多个不同的输出目标编写复杂的文档,也可能不像在所有“仅15分钟即可学习Markdown”风格的博客中那样简单。

在DocBook中学习新东西的逻辑流程往往很简单:

  1. 转到DocBook网站。
  2. 在主列表中找到合适的标签。
  3. 请参阅标签的文档,以了解如何正确使用它。

这里的所有都是它的。 它与学习HTML大致相同:在最初的几分钟内学习基础知识,并随时提供参考资料以根据需要学习更多信息。

取决于您对XML的了解程度,可能会有一些意外,但是DocBook网站清楚地为每个标签定义了有效的父子关系,并且每个标签的每个条目都提供了大量示例。

语义学

最后,DocBook很重要,因为它提供有关您的数据的数据。 DocBook标签并不是要指示内容的样式,而是要对要传达的信息进行分类。 像HTML和CSS一样,样式DocBook稍后出现,并且完全具有延展性。 DocBook标签为您的单词提供语义含义。

语义学现在对您似乎并不那么重要,但是以下是两个很好的例子,说明元数据在现实世界中变得非常重要:

  • 在没有移动电话存在之前,互联网上没有人会想到电话号码将需要<tel>标签。 如果有的话,肯定可以使用<em><strong>标记。 然后发生了移动电话,世界各地的人们都在使用用于拨打电话的同一设备上浏览互联网,这给您带来了极大的不便,那就是无法查找公司的电话号码并单击以进行拨打。电话。
  • 新西兰的一家大型电话公司多年来一直被称为电信公司。 当将其更名为Spark时,由于查找/替换错误,在整个整个在线文档中电信一词都显示为火花 。 该故障在其网站上已经存在了好几天,然后才注意到并纠正了明显的错误。 更好的正则表达式会有所帮助,但使用DocBook实体或<trademark>标签根本不会发生。

随着技术的发展,对您编写的信息进行分类现在非常重要。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值