什么是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. 主题包括什么
一个主题包括两部分:
-
内容
文字、图形、视频等
-
元数据(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 中,碰到了在容器中 DNS 解析的一些问题。故花些时间弄清了原理,写此文章分享。 1. docker run 命令启动的容器 以启动一个 busybox 容器为例: 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 刷新页面,就可以看到登陆…...

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

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

『精』Vue 组件如何模块化抽离Props
『精』Vue 组件如何模块化抽离Props 文章目录 『精』Vue 组件如何模块化抽离Props一、为什么要抽离Props二、选项式API方式抽离三、组合式API方式抽离3.1 TypeScript类型方式3.2 文件分离方式3.3 对文件分离方式优化 参考资料💘推荐博文🍗 一、为什么要抽…...
JavaScript字符串字面量详细解析与代码实例
JavaScript字符串字面量是一种表示字符串值的语法结构,通常用双引号或单引号括起来。 var str1 "Hello World!"; var str2 Hello World!;另外,如果需要在字符串中包含双引号或单引号,可以使用转义字符\来实现。 var str3 &quo…...

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

CTF工具PDF隐写神器wbStego4open安装和详细使用方法
wbStego4open安装和详细使用方法 1.wbStego4open介绍:2.wbStego4open下载:3.wbStego4open原理图:4.wbStego4open使用教程:第一步:第二步:第三步:第四步:第五步: 5.wbSteg…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...