当前位置: 首页 > news >正文

什么是DITA?从百度的回答说起

▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 

什么是DITA?

把这个问题输入百度,获得以下回答:

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

DITA 是基于XML的体系结构,用于编写、制作、交付面向主题的信息类型的内容。DITA的单源内容可以通过不同的方法进行重用,生成不同的交付内容。由于DITA过去用于大型技术手册的编写、管理和交付,它能够满足所有可能呈现给读者的信息发布类型的要求。DITA可用于技术手册、交互培训,教材、标准、报告、商业文档、贸易书籍、旅游和自然指南等书籍的编写。 

它有这些特点:

  • 主题化

  • 定制化

  • 重用和过滤

  • 协作和共享

见:

https://baike.baidu.com/item/DITA/7862681

这个回答看起来并没有错,但是到底什么是DITA呢?它和其他文档方法有什么区别,有什么优势呢?

今天就在百度回答的基础上聊聊什么是DITA。 

- 1 -

概览

1. OASIS组织

OASIS是一个非盈利组织,它为包括开源项目在内的项目提供了一条标准化和法律批准的途径,供国际政策和采购参考。说白了,OASIS就是一个制定标准的组织。 

DITA 1.3是被批准的OASIS标准,来看看DITA技术委员会的成员:

简而言之,是由科技公司的技术专家和之前在科技公司工作现在是自由职业的技术专家组成。 

2. DITA用来做什么?

一句话,DITA用于编写、制作、交付内容

可用于技术手册、交互培训,教材、标准、报告、商业文档、贸易书籍、旅游和自然指南等书籍的编写。

下边就来聊聊DITA与其他写文档的方法(比如:使用MS Word)有什么不同。 

- 2 -

主题化

关于主体化,百度这样说:

DITA 定义主题DTD,它支持主题化的信息创建方法。主题是信息的组成部分,而不是完整的文档。主题根据信息类型的不同,可以分为concept(概念)、task(任务)、reference(参考),和troubleshooting(故障处理)等基本类型,这些主题通过Map文件组织起来形成文档。Map可被认为是文档目录结构,根据文档不同类型,有不同的章节划分方式。具体可以参见Darwin Information Typing Architecture (DITA) v1.3中对topic、Map、以及topic中的元素和属性的详细描述。

1. DITA总体思路

用MS Word来写文档,用户手册就是用户手册这个Word文件,白皮书是另外一个Word文件,培训教程是一个Word文件。

乐高积木的最基本的单元是砖块、板子、柱子。用这些基本单元可以组合成零件,比如:铰链、滑轨、齿轮。用若干基本单元和若干零件可以组合成汽车、机器人、房子等等。 

DITA借鉴了乐高积木的思路

DITA最基本的单元叫做Topic(主题);将若干个Topic使用Map组合起来,形成一个信息模块;将若干个Topic和若干个Map组合成一个文档(也是一个Map),如:白皮书、用户手册、新闻稿、培训教程等。

2. 信息类型

在文档中,不同的部分描述不同类型的内容,比如:定义、功能说明、操作步骤、原理、故障分析等等。

在我们的风格指南(Style Guide)中,通常说明了内容编写的规则,大家编写内容时应该遵守。

在DITA中,定义了3种类型的Topic,分别是:Concept、Task、Reference。信息类型中定义了不同类型的Topic的规则(包含的内容、顺序、哪些是必须的、哪些是可选的等),比如:

  • 必须有一个标题

  • 每个Topic必须有ID属性

  • Task类型的Topic中必须有Steps (步骤)

  • Steps必须有一个或者多个步骤

DITA将这些规则数字化到一个叫做DTD(文档类型定义)的文件中。在编辑时,软件通过DTD的定义提供指引,并且能够验证内容是否符合规则 

如果DITA中定义的默认类型不能满足要求,DITA提供了一种机制来让我们自己定义类型。比如:如果我们要写一个故障分析的文档,但DITA默认不提供这个类型,我们可以定义一个叫做故障分析类型的Topic。

这种机制叫做Specialization(专有化)。

3. 主题包括什么

一个主题包括两部分

  1. 内容

    文字、图形、视频等

  2. 元数据(MetaData),也就是内容的属性

比如:作者、发布时间、读者类型、所属产品系列、所属区域等等

通过提供元数据,能够促进主体的查找和使用。 

比如:可以搜索跟安全相关的主题。 这就像我们期待在手机里能找与日出相关的照片一样。 

- 3 -

定制化

关于定制化,百度这样说:

不同的主题都由DTD来定义的。只需掌握简单的DTD语法规则,就可以快速简单地定义适合本组织文档需求的主题。

DITA 规范提供了一个开源工具DITA Open Toolkit,该工具可方便地发布DITA格式内容,生成各种格式的输出。同时,可以很容易地定制该工具的发布过程,根据需要对输出样式进行定制化。

1. 什么是DTD

DTD是Document Type Definition(文档类型定义)的缩写。 如上所述,DTD定义了信息类型的规则。 即:包含的内容、顺序、哪些是必须的、哪些是可选的等。

2. 什么是定制DTD

DITA默认只提供Topic, Concept, Task和Reference四种主题类型。如果需要定义自己企业的主题类型,就要定制DTD。比如:定义一种主题类型叫做非正常程序。 

3. 什么是DITA Open Toolkit,为什么要定制输出样式?

DITA使用内容与样式分离的方法。 

内容以文字、图和视频等形式为载体;样式就是字体大小、对齐方式、颜色等格式信息。

DITA内容以XML格式进行存储,是不能直接使用的。下边是一个DITA内容的示例:

需要将内容和一个样式结合,生成我们需要的输出文件,这个过程叫做发布。 

DITA Open Toolkit就是一个将DITA内容发布成目标输出的一个工具。 

每个企业都有自己风格,比如:主体颜色、字体、图标、名称等。它具有标识性,人们看到这些会跟企业联系在一起。

比如:阿里巴巴的主体颜色是黄色:

比如:OPPO的主体颜色是绿色:

每个企业的文档样式也是自己企业品牌的一部分,具有辨识度。 这就需要定制文档的输出样式,以提供符合企业品牌的文档。 

- 4 -

重用和过滤

关于重用和过滤,百度这样说:

DITA提供了各种机制,包括conref和keyref等内容引用,对内容进行重用。同时通过DITAVAL文件,对不同的读者对象、平台、产品、版本等进行内容过滤。

1. 内容重用解决什么问题

使用Word编写文档,相同的内容散布在各个文档中。 这造成同样的内容需要修改多次,校对多次,翻译多次。如果某处的内容被遗漏了还会造成不一致。 

DITA中设计了内容重用机制来解决这个问题。

相同的内容只需要保存一份,然后各处只是引用这一份内容。 这样,只需要做一次修改、校对、翻译工作,所有引用此内容的地方都修改了。 

2. 过滤又解决什么问题

设想公司生产一个系列的两个产品。这两个产品大部分的内容一样,但是有些许的差别(外观、参数等)。 

那么我们为这两个产品提供文档有两种方法:1)分别为每个产品编写文档。2)写一个文档,用属性标识不同的内容,然后在发布的时候使用过滤功能生成分别针对两个产品的文档。 

第一种方法就是我们使用MS Word写文档的方法。它的问题是重复的内容太多,导致重复的工作。 

第二种方法MS Word不支持, DITA支持。 减少重复内容的同时, 它可根据内容属性动态过滤内容,从而生成针对A产品的文档和针对B产品的文档。

- 5 -

协作和共享

关于协作和共享,百度这样说:

将内容主题化,将格式统一到样式表,通过Map组织内容章节目录。这些方法使得文档的开发任务可以很方便地分解到各个文档编写人员手中,生成格式统一,内容规范的文档。

由于DITA文件是基于XML的文本文件,又可以很方便地进行存储和传输,实现文档的异地共享,协同作业。

1. 生成格式统一,内容规范的文档

在使用Word写文档的时候,每个人根据自己的喜好来格式化文档。

使用DITA编写内容后:

1)大家遵循统一的规则,并且由计算机来校验和保证。 

2)大家不再需要调整格式,在发布文档的时候套用样式表,不同人写出来的内容出来的风格是统一的。 

- 6 -

还有什么百度没说?

百度的总结不错,不过不能覆盖细节。 

如果你想了解DITA的细节,以及你们公司可以怎样使用DITA来优化文档,来参加摩拿科技提供的DITA培训吧。

通过GongZongHao搜索“大龙谈智能内容”联系我们。 

相关文章:

什么是DITA?从百度的回答说起

▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 什么是DITA? 把这个问题输入百度,获得以下回答: DITA 是“Darwin Information Typing Architecture”(达尔文信息类型化体系结构)的缩写,它是IBM 公司为OASIS 所支持…...

线扫相机DALSA软件开发套件有哪些

Win10和Win7系统完整SDK目录截图: Sapera Configuration 缓存与内存管理,以及通信端口配置工具,部分功能等效于Detection(查找相机)内的Settings。 Sapera Log Viewer 打开Log Viewer后会显示之前发生过的所有与Sapera LT软件有关的运行信息…...

Scala集合操作

1 集合简介 Scala 中拥有多种集合类型,主要分为可变的和不可变的集合两大类: 可变集合: 可以被修改。即可以更改,添加,删除集合中的元素; 不可变集合类:不能被修改。对集合执行更改,…...

SQL备忘--特殊状态“未知“以及“空值NULL“的判断

一、新逻辑状态:未知 对于大多数其他语言的逻辑判断,一般只有两种结果:真(TURE)或假(FALSE)但在SQL中,还会有第三种判断结果:未知(UNKNOWN),表示无法判断出真或者假。 未知状态会影响传统逻辑运算&#x…...

《Pytorch新手入门》第一节-认识Tensor

《Pytorch新手入门》第一节-认识Tensor 一、认识Tensor1.1 Tensor定义1.2 Tensor运算操作1.3 Tensor与numpy转换 参考《深度学习框架PyTorch:入门与实践_陈云(著)》 一、认识Tensor 1.1 Tensor定义 Tensor 是 PyTorch 中重要的数据结构,可认为是一个高…...

【JAVA学习笔记】55 - 集合-Map接口、HashMap类、HashTable类、Properties类、TreeMap类(难点)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/map_ Map接口 一、Map接口的特点(难点) 难点在于对Node和Entry和EntrySet的关系 注意:这里讲的是JDK8的Map接口特点 Map java 1) Map与Collect…...

Pytorch图像模型转ONNX后出现色偏问题

本篇记录一次从Pytorch图像处理模型转换成ONNX模型之后,在推理过程中出现了明显色偏问题的解决过程。 问题描述:原始pytorch模型推理正常,通过torch.onnx.export()函数转换成onnx之后,推理时出现了比较明显的颜色偏差。 原始模型…...

插值表达式 {{}}

前言 持续学习总结输出中,今天分享的是插值表达式 {{}} Vue插值表达式是一种Vue的模板语法,我们可以在模板中动态地用插值表达式渲染出Vue提供的数据绑定到视图中。插值表达式使用双大括号{{ }}将表达式包裹起来。 1.作用: 利用表达式进行…...

白雪公主

前言 #define 皇后 王后 在很久很久以前,有一个国王,由于王后难产致死,导致生下的孩子没母,由于缺爱,变的非常的刻薄 由于公主过于刻薄,以至于见到她的人都面色煞白感到空中飘雪 37C 的嘴怎能说出如此刻薄的话语。为了…...

宏观角度认识递归之合并两个有序链表

21. 合并两个有序链表 - 力扣(LeetCode) 依旧是利用宏观角度来看待问题,其中最主要的就是要找到重复的子问题; 题目中要求把两个有序链表进行合并,同时不能够创建新的节点,并返回链表的起始点:因…...

Leetcode-509 斐波那契数列

使用循环 class Solution {public int fib(int n) {if(n 0){return 0;}if(n 1){return 1;}int res 0;int pre1 1;int pre2 0;for(int i 2; i < n; i){res pre1 pre2;pre2 pre1;pre1 res;}return res;} }使用HashMap class Solution {private Map<Integer,Int…...

解密 docker 容器内 DNS 解析原理

背景 这几天在使用 docker 中&#xff0c;碰到了在容器中 DNS 解析的一些问题。故花些时间弄清了原理&#xff0c;写此文章分享。 1. docker run 命令启动的容器 以启动一个 busybox 容器为例&#xff1a; rootubuntu20:~# docker run -itd --name u1 busybox 63b59ca8aeac…...

故障诊断模型 | Maltab实现SVM支持向量机的故障诊断

效果一览 文章概述 故障诊断模型 | Maltab实现SVM支持向量机的故障诊断 模型描述 Chinese: Options:可用的选项即表示的涵义如下   -s svm类型:SVM设置类型(默认0)   0 – C-SVC   1 --v-SVC   2 – 一类SVM   3 – e -SVR   4 – v-SVR   -t 核函数类型:核函…...

开源的网站数据分析统计平台——Matomo

Matomo 文章目录 Matomo前言一、环境准备1. 整体安装流程2.安装PHP 7.3.303.nginx配置4.安装matomo4.1 访问安装页面 http://192.168.10.45:8088/index.php4.2 连接数据库4.3 设置管理员账号4.4 生成js跟踪代码4.5 安装完成4.6 警告修改4.7 刷新页面&#xff0c;就可以看到登陆…...

linux入门到地狱

linux—001入门 IT圈必备(前端工作者用的比较少) 老旧电脑跑linux不容易卡 我代码没保存windows闪退&#xff0c;僵停(vs2019卡掉线)&#xff0c;重启更新,占用cpu内存服务报错pip各种bug 出来生态环境友好其他的全是bug(bug时间成本超过了windows快捷友好生态) 那就说明wind…...

架构”4+1“视图

1995年Kruchten提出了著名的“41”视图&#xff0c;用来描述软件系统的架构。在“41”视图中&#xff0c;&#xff08;物理视图 &#xff09;用来描述系统软硬件之间的映射关系&#xff0c;这个视图往往&#xff08;系统工程人员&#xff09;最为关注&#xff1b;&#xff08;逻…...

『精』Vue 组件如何模块化抽离Props

『精』Vue 组件如何模块化抽离Props 文章目录 『精』Vue 组件如何模块化抽离Props一、为什么要抽离Props二、选项式API方式抽离三、组合式API方式抽离3.1 TypeScript类型方式3.2 文件分离方式3.3 对文件分离方式优化 参考资料&#x1f498;推荐博文&#x1f357; 一、为什么要抽…...

JavaScript字符串字面量详细解析与代码实例

JavaScript字符串字面量是一种表示字符串值的语法结构&#xff0c;通常用双引号或单引号括起来。 var str1 "Hello World!"; var str2 Hello World!;另外&#xff0c;如果需要在字符串中包含双引号或单引号&#xff0c;可以使用转义字符\来实现。 var str3 &quo…...

Android java Handler sendMessage使用Parcelable传递实例化对象,我这里传递Bitmap 图片数据

一、Bundle给我们提供了一个putParcelable(key,value)的方法。专门用于传递实例化对象。 二、我这里传递Bitmap 图片数据&#xff0c;实际使用可以成功传统图像数据。 发送&#xff1a;Bundle bundle new Bundle();bundle.putParcelable("bitmap",bitmap);msg.setD…...

CTF工具PDF隐写神器wbStego4open安装和详细使用方法

wbStego4open安装和详细使用方法 1.wbStego4open介绍&#xff1a;2.wbStego4open下载&#xff1a;3.wbStego4open原理图&#xff1a;4.wbStego4open使用教程&#xff1a;第一步&#xff1a;第二步&#xff1a;第三步&#xff1a;第四步&#xff1a;第五步&#xff1a; 5.wbSteg…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...