技术信息开基础之DITA概念

发布时间 2023-09-07 15:08:24作者: 蹇爱黄

1.什么是DITA

DITA最早由IT类公司为解决技术文档的写作与管理问题而提出来的,但是DITA的应用不仅仅局限于技术文档写作,还可以扩展到主题内容的知识库建设领域。作为一种信息组织技术,其包含的面向主题的结构化组织思路对扩充现有数字资源组织的方法体系具有借鉴和促进作用。

DITA是“Darwin Information Typing Architecture”(达尔文信息类型化体系结构)的缩写,它是IBM 公司为OASIS 所支持的团体贡献的发明。OASIS 的全称为“Organization for the Advancement of Structured Information Standards”(结构信息标准化促进组织)。

DITA是一种基于XML的体系结构,用于创作,制作和交付以主题为导向的信息类型的内容,这些内容可以以各种方式重复使用。

DITA是为创建新的文档类型和基于现有类型和域描述新的信息域而设计的。创建新类型和域的过程称为专门化。专门化能够创建非常具体的、有针对性的文档类型定义,这些定义仍然可以共享为更一般类型和域开发的通用输出转换和设计规则;这类似于面向对象系统中的类如何继承父类。

2.DITA特点

模块化: DITA 定义主题DTD,它支持模块化的信息创建方法。主题是信息的组成部分,而不是完整的文档。主题覆盖某个特定兴趣区域的一个方面。(例如,某本白皮书可划分为多个主题:简介、概述、起源等。)DITA 还定义如何将主题组合到文档中的机制。此机制称为“映射”,它还允许您定义主题的层次结构。例如,一本书的映射可产生由章、节和小节组成的层次结构。

适应性强:主题DTD 可指定一组通用元素(每个元素都具有不同的格式设置,例如标题、段落和列表),它在这一点上与HTML 类似。为使主题DTD 适应您的特定需求,DITA 定义了一种称为“专门化”的机制,可允许您定义新的标记,这些标记从主题DTD 中的标记继承它们的行为和属性。专门化使得能感知DITA 的下游应用程序可以处理未知的标记,它们将此类标记视为其属性所继承自的标记。例如,您可以创 建一个继承自“有序列表”的称为“Procedure”的标记,以及一个继承自“列表项目”的称为“Step”的标记。虽然您可能想将有关Procedure 和Step 的特定处理操作添加到应用程序中,不过对这些标记一无所知但能感知DITA 的应用程序会将Procedure 和Step当作有序列表和列表项目来处理。例如,对Step 一无所知但能感知DITA 的发布应用程序会将其作为列表项目来设置格式。

重用:为了消除重复、提高准确性和减少更新信息的工作量,XML 帮助您重用信息和改变其用途,使您能够创建信息的单一来源,而且若来源中的某处信息有变化,将会自动更新含有该信息的所有文档。

共享: XML 可让您以这样一种方式构建信息:使组织内外的其他群体能够自动将您的信息合并到他们自己的过程中,从而为您创建的信息增加更多价值。

相关:您可以使用XML 帮助自己创建模块化信息,并按照每个人的需求自动组合信息,使每个人都能获得所需的所有信息,并且只获得所需的信息。

自动化:为了以经济高效的方式实现这些目标,自动化是关键所在。XML 通过允许您实施自动化过程所需的绝对一致的结构,使这一自动化成为可能。自动化所需的绝对一致的结构由“数据模型”定义,此模型是指DTD 或方案,它们规定在文档中允许使用哪些标记,以及可以如何使用这些标记。

3.DITA基本概念

DITA的基本原则是面向主题的,这里的主题(Topic)是具体的一个信息单元(Unit of Information)。所谓具体是指主题划分的粒度在于能够解决单一的实际问题或说明一个独立的主题。

DITA规范中定义了三种基本主题类型:概念(concept)、任务(task)和参考(reference)。概念主题回答“是什么”的问题,介绍产品或服务的相关背景和概览,为用户使用之前提供一些必要信息。任务主题回答“如何做”的问题,通过明确定义的结构来描述完成一个特定目标所需的方法和步骤。任务主题包括情境、前提条件、实际步骤、预期结果、举例和下一步行动等。参考主题提供对相关事实的快速访问。

对于技术信息而言,参考主题常用于编程语言的命令提示。主题结构方面,任何类型的主题都包含四个基本元素、< description>、< prolog>和< body>。DITA中的每个信息单元作为独立的可重用的主题,脱离上下文环境而存储在主题仓库中。</p> <p>DITA的设计初衷是构建一种基于主题的技术文档创作模式,并以主题为基础来创作、组织和链接信息内容。所谓主题,在技术信息中有时称为一个条目 (article),它具有标题和内容。主题是独立的信息单元,一个高质量的主题仅包括一个讨论对象。每个主题既要足够长以保证有其独立存在的价值,又要保持精简(“简约”理念)以确保仅集中于讨论一个对象,而不延伸到别的问题。在多数与产品、服务或技术一起提供的技术文档中,主题应该从属于一组经过有序组织的主题集。这一主题集能够以HTML网页、在线帮助或者PDF手册等多种形式打包输出。</p> <p>DITA的价值不仅体现在可以让读者更好地阅读技术文档,还体现在它也能为技术文档的编辑创作者提供极大的便利。对于信息的使用者来说,精心创作的基<br> 于主题的内容能够大大提升文档的可检索性、可导航性及可用性。而对于编创团队来说,基于主题的创作方式还能支持信息的重用与快速重组,以及便捷的文件管理与更灵活的链接”。</p> <p>我的理解:把文档内容按模块来分,每个小模块只专注一件事情,然后模块和子主题包含在一个大的主题中,一份文档包含几个主题,这样能保证文档内容来源单一,可能这些小模块还能被别的文档重用,这也很好控制一致性,同时XML与CSS和DTD结合,就可以很容易的打包成其他格式的文档了。</p> <h1 id="4-dita出版流程">4. DITA出版流程</h1> <p>传统出版流程中,由于版式与内容未能有效分离,在处理不同出版物中的多元内容重用以及出版内容分模块灵活重组等方面有很大局限。</p> <p>在DITA定义的出版流程中,内容组织的最细粒度单元是以XML格式描述的结构化内容模块。这种内容模块在DITA标准中被称作主题(Topic)。主题是能够自我描述且按照单一逻辑范畴组织的内容信息。根据出版物的结构组织要求,描述相同对象的主题通过对象映射(Mapping)机制进行逻辑顺序组织,形成内容完整的统一体。组织完成的出版内容经样式渲染(Rendering),形成交付终端展示的 数字出版物。如PDF、RTF或HTML等,由展示终端提供给用户阅读。</p> <h1 id="5dita架构分析">5.DITA架构分析</h1> <h2 id="1dita主题">(1)DITA主题</h2> <p>DITA主题(topic)是组织交付出版物的最细粒度单元,是进行一切后续工作的基础要素。DITA主题是组织交付出版物的最细粒度单元,是进行一切后续工作的基础要素。在DITA主题粒度划分上,要根据内容编辑的需求遵循一定准则实施划分。综上,主题的粒度划分既要大到能自我容纳,又要小到能满足上下文灵活有效地重组重用。DITA主题块在内部组成上具备相似的结构体,如标题内容主体、引用等。面向特定领域专门化的主题还包含任务、子任务等根据具体出版内容定制的可拓展主题模块。</p> <p>在DITA主题的基础结构中,内部各要素之间按照一定逻辑关系进行组合。标题、摘要、内容主体、任务、引用等主题,对应描述不同结构的内容模块,并经映射文件重组后形成交付出版物的各个章节部件。</p> <h2 id="2dita映射">(2)DITA映射</h2> <p>DITA映射用于组织出版物的逻辑顺序和层次结构,搭建交付出版物的结构框架。映射中包含指向DITA主题的链接,这些链接按顺序或层级结构将分散的主题黏合起来成为集合,并按一定的逻辑结构组织成为具备有机结构的交付出版物。</p> <p>在形式上,DITA映射文件同样以XML为载体,DITA通过映射来连接上下文内容。映射文件在内部使用<topicref>,示签组织一个或多个DITA主题,并赋予主题上下文的顺序和层级关系。<topicref>标签引用主题的组装顺序表示内容上下文的先后关系标签的主题嵌套层级表示内容上下文的包含关系。映射文件以.ditamap为后缀,在编译处理时DITA通过映射这样的单一逻辑结构,来管理主题组装后的导航顺序,并且适用于各种类型交付出版物的聚合生成。如PDF文档的导航目录,即可通过DITA映射创建的目录(TableofContents:TOC)生成。DITA映射也可有多个映射文件级联,形成复杂的混合层级映射结构。</p> <p><strong>例子:DITA 映射能够将一个主题集合组织成为不同类型的出版物。如一本百科全书的主题集合对应各个词条的内容释义。如果将所有具备人名标签的词条抽取出来,可以借助 DITA 映射重组为一本人名志;而将所有具备地名标签的词条抽取出来,则又可映射重组为一本地名志。依此类推可以借助 DITA 映射重组为其他同类属性主题集合的出版物,即一个主题经由多种映射关系组织成不同出版物,不同映射也能够将相同的主题集合组织成不同类别的出版物。DITA 映射为内容的重组和重用提供了途径。一方面,松散的内容模块由 DITA 映射文件赋予逻辑关联关系,使其重组成为有机的整体。另一方面,以主题为单元的模块化内容可以在DITA映射的组织下实现灵活重用。对于不同出版物中重复出现的相同主题模块,可以借助 DITA 映射直接将指定主题引入到出版物中,而无需对相同的内容重复地排版编辑,这在一定程度上减少了内容管理上的冗余。</strong></p> <h2 id="3dita-领域专门化">(3)DITA 领域专门化</h2> <p>除 DITA 主题专门化之外,DITA 还支持映射文件专门化。DITA 映射可以面向映射领域实现专门化,通常是将引用主题的<topicref>标签专门化为映射领域,并可以在多种不同映射类型中实现设计模式重用。专门化的<topicref>标签限定了对特定类型主题的引用,如<conceptref>标签引用概念主题,<stepref>标签引用描述操作步骤主题,<summaryref>标签标识提供集合总结的主题。专门化的映射类型保证主题集合符合目标出版物的组织结构,在帮助出版物减少信息预处理、明确信息类型、通过专门化引用保持信息相容性、设计和处理流程的重用等方面具有很高的实用价值。</p> <h2 id="6-dita应用分析目前">6. DITA应用分析目前</h2> <p>DITA在国内外IT技术类企业中应用较为广泛,具体应用领域包括技术文档编写、数字出版,企业信息化(知识管理、内容管理、文档管理)等。国际上已经存在一些成熟的应用和相应的解决方案,如PTC公司的Arbortext[6]、Adobe公司的FrameMaker[7]、JustSystems公司的XMetal[8]等。</p> <h2 id="7dita与docbook对比">7.DITA与DOCBOOK对比</h2> <p>DITA和DocBook是数字出版领域的两种标准,通过定义规范化的文档描述规则,来解决文档交付过程中遇到的问题。面向不同类型的交付出版物,DITA和DocBook各有见长,但在实际应用中也有自身的限制因素。结合近期我参与的项目实践,对两个标准的对比分析总结如下。</p> <p>DITA解决了出版物的结构化描述和内容重组问题,且支持多语言版本制作,适用于对格式有严格限定的技术手册类出版物。但DITA不能实现很完美的样式渲染,且对于内容与格式一体化的复杂出版物,DITA很难进行主题和界定与划分。所以使用DITA进行书籍出版的成本和难度较高。</p> <p>相比较来说,DocBook适用于通用出版物,文档易于组织和排版。但DocBook内容以Section段落组织,不具备DITA的内容映射机制,无法做到类似Topic这样粒度的内容划分与重组。且对于内容需要频繁修改的文档排版,Docbook略显力不从心。 DITA和DocBook专注于交付技术信息,但DITA侧重于交付主题,而DocBook侧重于交付书籍。DITA提供基于主题级粒度的信息分类,允许作者组织并描述特定信息领域。在生成多种文档格式的信息重用过程中,能够保持内容的高度一致性。在最终交付物的输出格式方面,DITA能够生成 PDF、CHM、HTML等大部分的出版交付类型。DocBook常用的交付格式为PDF和HTML,其他输出格式需要借助相关的功能插件。</p> <p>本文内容出自:<a href="https://techcomm-book.readthedocs.io/zh_CN/latest/5-info-develop/dita.html" target="_blank">https://techcomm-book.readthedocs.io/zh_CN/latest/5-info-develop/dita.html</a></p>