当前位置: 首页 > 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…...

docker镜像使用

一、查看docker版本 docker version docker默认安装目录 /var/lib/docker 目录文件如下&#xff1a; 二、查看下载的镜像 docker images 三、下载镜像 docker pull [OPTIONS] NAME[:TAG|DIGEST] option作用-a, --all-tags拉取所有 tagged 镜像–disable-content-trust…...

【Git】git的下载安装与使用

目录 目录 一.下载安装 官方下载 淘宝镜像下载 安装 二.创建本地仓库 三.git的基本操作命令 git status git add . git commit -m " " 四.gitee(码云&#xff09;的使用 配置ssh公钥 ​编辑 查看公钥 gitee创建仓库 将本地仓库的文件上传到远程仓库…...

R语言中的函数27:polynom::polynomial(), deriv(),integral(),solve()多式处理函数

文章目录 介绍polynomial()用法参数实例多项式的加减乘除等运算实例 deriv()和integral()用法参数实例solve()参数实例 介绍 R语言中的polynom包可以实现对多项式的操作&#xff0c;例如&#xff1a;加、减、乘、除、微分、积分。使用的时候先用polynomial()函数定义一个多项式…...

基于STM32CubeMX和keil采用USART/UART实现非中断以及中断方式数据回环测试借助CH340以及XCOM

文章目录 前言1. 接口概述1.1 USART/UART接口1.2 串口通信参数1.3 波特率计算 2. 传输函数3. 回环测试3.1 上位机环境配置3.2 阻塞模式3.3 中断模式 4. STM32CubeMX配置4.1 时钟配置4.2 调试配置4.3 串口引脚配置4.4 工程配置 5. 测试效果6. 不借助上位机回环测试总结 前言 这…...

Spring cloud负载均衡 @LoadBalanced注解原理

接上一篇文章&#xff0c;案例代码也在上一篇文章的基础上。 在上一篇文章的案例中&#xff0c;我们创建了作为Eureka server的Eureka注册中心服务、作为Eureka client的userservice、orderservice。 orderservice引入RestTemplate&#xff0c;加入了LoadBalanced注解&#x…...

C#when关键字

在C#中&#xff0c;when关键字用于在模式匹配表达式中添加条件。它允许您在模式匹配的过程中指定额外的条件&#xff0c;以进一步过滤匹配的模式。当模式匹配和附加条件都为真时&#xff0c;相关的代码块将被执行。 以下是when关键字的详细解释以及示例说明&#xff1a; 语法…...

华为政企无线局域网产品集

产品类型产品型号产品说明 室内接入点AirEngine 5760-51AirEngine 5760-51是华为发布的支持Wi-Fi 6&#xff08;802.11ax&#xff09;标准的新一代室内AP&#xff0c;适合部署在企业办公、零售、制造等场景。 通过软件定义射频&#xff0c;能够在双频、三频模式灵活切换&a…...

解释 RESTful API

RESTful API是一种基于HTTP协议的API设计风格&#xff0c;它的核心思想是将每个资源&#xff08;如用户、订单等&#xff09;抽象成一个URI&#xff08;统一资源标识符&#xff09;&#xff0c;通过HTTP协议定义的方法&#xff08;如GET、POST、PUT、DELETE等&#xff09;对资源…...

青翼科技-国产化ARM系列TES720D-KIT

板卡概述 TES720D-KIT是专门针对我司TES720D&#xff08;基于复旦微FMQL20S400的全国产化ARM核心板&#xff09;的一套开发套件&#xff0c;它包含1个TES720D核心板&#xff0c;加上一个TES720D-EXT扩展底板。 FMQL20S400是复旦微电子研制的全可编程融合芯片&#xff0c;在单…...

Tomcat为什么支持线程池?

Tomcat作为一个Java Servlet容器&#xff0c;支持线程池是因为它能够处理多个并发请求。这些请求可以是对Web应用程序的HTTP请求、Servlet的请求&#xff0c;或其他支持的协议。 支持线程池的主要原因包括&#xff1a; 并发处理能力&#xff1a; 提高性能&#xff1a; 使用线程…...