DITA和S1000D是全球最出名的两种文档规范。这两个规范用于创建、管理和发布各种类型的文档。他们将内容分解成自包含的内容块,每个内容块有自己的类型,然后通过一定的形式将这些内容块组织成文档。他们的基本原则都是内容重用和单源发布。
那他们之间有什么相同点和不同点呢?各自的应用场景如何呢?今天聊聊这个话题。
DITA和S100D都是基于W3C(万维网联盟)的XML等标准设计的规范。
DITA由OASIS DITA技术委员会定义和维护。OASIS DITA技术委员会的参与者来自这些公司和组织:
S1000D由来自民用和国防航空行业以及国防陆海工业的商业和技术专家组成的国际团体开发和维护,参与方包括客户、供应商和解决方案提供商。
S1000D理事会是根据欧洲航空航天和国防工业协会(ASD)、航空航天工业协会(AIA)、ATA电子商务计划(ATA e-Business Program)之间签署的谅解备忘录成立的。理事会的主要任务是对S1000D的开发进行全面管理。
S1000D指导委员会是一个代表对规范有共同兴趣的国家和组织的成员机构。S1000D 指导委员会通过处理变更提议表来维护S1000D规范。
两个规范都可以从各自的网站免费获取。
有别于传统将一个文档作为单元来管理的方式,DITA和S1000D将内容分解成内容块,然后通过一定方式将内容块组织起来形成文档。内容块是自包含的最小管理单元,一个内容块可以在不同的地方重用。
内容块
内容块在DITA中叫主题(Topic),S1000D中叫数据模块(Data Module – DM)。每个内容块由内容和元数据组成。
规范中都设计了内容块的类型。
内容组织机制
通过相似的机制将内容块组织起来。在DITA中使用图(Map),在S1000D中使用出版模块(Publication Module – PM)。
编写好的内容块是XML格式的,它是纯文本的文件,不包括怎样显示的信息。通过提供不同的样式,可以将相同的内容发布成的输出格式,用于不同的场景使用。
使用DITA或者S1000D编写文档,最重要的一个特性之一就是能够提供个性化内容。这是迈向智能化信息的基础,也是人们从MS Word/Markdown转向DITA/S1000D写作的重要原因之一。
所谓的个性化内容就是根据手册使用者的需要(操作的设备、读者的角色、当前所处的场景等),提供内容。这就是在正确的时间,在正确的设备上,以他们选择的语言,向正确的人,提供正确的内容。
举一个DITA的例子:
刹车片
刹车片也叫刹车皮。在汽车的刹车系统中,刹车片是最关键的安全零件,刹车效果的好坏都是刹车片起决定性作用
刹车片(brake lining)一般由钢板、粘接隔热层和摩擦块构成,钢板要经过涂装来防锈,涂装过程用SMT-4炉温跟踪仪来检测涂装过程的温度分布来保证质量。其中隔热层是由不传热的材料组成,目的是隔热。摩擦块由摩擦材料、粘合剂组成,刹车时被挤压在刹车盘或刹车鼓上产生摩擦,从而达到车辆减速刹车的目的。由于摩擦作用,摩擦块会逐渐被磨损,一般来讲成本越低的刹车片磨损得越快。
内容中第一段没有属性;第二段level的属性是Lite,表示一般简介;第三段level的属性是Profesional,是专业的内容。
在出版的时候,可以发布两个版本的文档。一个是给一般用户的简要版和一个给专业用户的专业版。简要版只包括第一和二段(简要介绍)。专业版包括 第一,二和三段(不仅包括简要介绍,还包括原理)。
DITA最初由IBM公司设计,用于编写IBM公司产品的文档。DITA是Darwin Information Typing Architecture(达尔文信息类型架构)的缩写,达尔文是英国生物学家,进化论的奠基人。DITA正是因为使用类似于达尔文的进化适应概念而得名。它不预设使用行业,而是设计用来被扩展。
正是因为DITA这种可扩展性的设计,获得了不同领域的采纳。被用于编写各行业的各种文档,如:交互式培训和教育材料、标准、报告、商业文档、商业书籍、旅游和自然指南等。
S1000D最初是由欧洲航空工业联盟开发的技术出版物规范,它主要为具有较长生命的复杂产品运行和维修而设计。这些年不断发展,已经扩展到这些行业的产品:国防系统 – 包括海、陆、空的产品,民用航空产品,基建行业产品和船舶工业产品。
因为不同的需求、不同的设计者,导致两个规范的不同。
DITA提供基础架构和通用的信息类型,规范精简。DITA自带四个主题信息类型:Topic, Concept, Task, Reference。这些信息类型都通用的,没有针对具体场景提供具有语义的规定。使用者根据自己的需求来扩展DITA实现自己的文档类型(虽然DITA的信息类型已经能够满足很多通用文档的需求)。
S1000D是根据具体的需求设计,涵盖所述行业的所有需求,并且不支持扩展。信息类型包括:说明(Description), 程序(Procedural), 维修计划(Maintenance schedules), 故障隔离(Fault Isolation)等。
从两个规范的PDF大小也能看出这种区别。DITA规范的核心内容有200页;S1000D规范的核心则有3000页。
为什么会有这种区别呢?
复杂产品一般有很长的供应链。拿波音飞机来说,它的零部件由分布在70多个国家的近 600家供应商生产。这些供应商需要交换产品的使用和维修信息。他们需要统一的语言来进行这种数据交换,这个语言就是S1000D。实施一个S1000D项目的第一项工作是制定业务规则(Business Rule)来在S1000D的基础上缩减范围、限制某些 XML 元素的使用。项目中不需要修改S1000D的Schema。供应链上下游的企业都使用统一的业务规则来进行数据生成和交换。
DITA规范不是设计用来进行数据交换的。一般是将发布以后的结果交给内部或者外部的读者使用,不交换XML数据。实施一个DITA项目,通常第一件事是根据企业的需求,通过专有化机制来设计信息类型,这会增加新的XML元素。
DITA规范是一个数据规范。
S1000D规范不仅是数据规范,它覆盖技术出版物的整个过程。它不仅包括用于实际内容创作的XML Schema,而且涵盖了更多内容,如数据交换、质量保证、版本控制、基于页面和电子格式的展现等。
S1000D中,每个数据模块有唯一编号,编号中使用标准编号系统(SNS)和信息代码,编号中的数字有具体的意义。SNS描述数据模块涉及的是产品的哪个组件,而信息代码会描述数据模块包含的关于该组件的哪些信息。
例如,SNS 32-00-00表示“起落架”,信息代码040表示“说明”,则会得到标题为“起落架-说明”的数据模块“DMC-PLANE-32-00-00-00A-040A-D”。
DITA被设计用来根据具体需求扩展,它的机制就是专有化(Speciailization)。DITA的专门化特性允许创建新的元素类型和属性,这些类型和属性是从现有类型派生的。
它跟面向对象编程的思路相似,主题 (Topic)相当基类,我们可以继承主题,来定义不同的子类。
从这个角度能看出DITA是计算机专家设计出来的。
通过以上分析,我们可以看出S1000D适合用于具有较长生命的复杂产品的手册和数据交换。目前包含:
相较而言,DITA更加灵活,轻量,并不限应用的行业。它适合用于不需要在企业之间进行数据交换的情形。
更多S1000D和DITA的内容,请见:www.manualsware.com