怎样将Word转成高质量的DITA
大龙老师,我们公司有很多文档是Word格式的,能否跟我说说怎样将Word格式的文档转换成DITA格式的文档吗?
好的,大家都说数据像黄金一样宝贵,可问题是,现在好多宝贵的数据都被写在Word文档里了。
大家知道Word文件的内容可以被人读取,但很难被计算机读取和利用,相当于信息被锁进了黑盒。要是能把这些数据转成有语义的、可以被计算机读取的结构化数据,那它们就能活起来,被真正循环利用。
今天我们就来聊聊怎样将Word格式的文档转换成高质量的结构化数据。
很多人期望使用某个软件的“另存为”这一功能就可以将Word转换成XML格式文件。这确实能转换成XML,不过出来的XML和期望的相差很远。根据我们的实践经验,要得到质量满意的结构化数据,需要经过以下6个步骤。
第一步:定义文档类型
要将Word转换成XML,第一步要定义文档类型。目前,业界已经存在一些标准文档类型,比如:DITA、S1000D等。
如果标准的文档类型能满足要求,就尽量选择标准文档类型。因为工具选择多,市面上已经有很多能够编辑、管理、处理DITA的软件供选购,并且成本相对低。
也可以自己定义文档类型,不过这要自建和维护一套相对应的编辑、管理、出版的软件和样式,成本很高。
一般情况,建议选择DITA作为文档类型。如果还有不能满足的要求,则在DITA基础上利用专有化机制来实现。DITA的专有化机制就是为了在DITA定义的文档类型不能满足要求时,进行扩展的机制。
第二步:建立映射关系
有了文档类型以后,第二步是建立源文件和目标文件的映射关系。这种映射关系用于转换程序来实现内容转换。
比如:将Heading1转换成topic的title元素,将<w:p>转换成p元素等等。
同时,我们要调整转换程序,使用这些映射关系来进行转换。
第三步:整理现有数据
虽然大多数公司都有风格指南和模板,但是使用Word写文档,很难做到每个人完全按照风格指南来写。
这就需要我们检查和整理要转换的Word文件,把他们整理成风格一致的文档,这样可以提高转换结果的准确性。
也就是确保文字使用正确的Word样式,这一步俗称刷格式。
第四步:运行程序进行内容转换
有了以上三步的准备工作,我们就可以运行转换程序进行转换了。
在转换程序中已经配置好了转换规则,把整理好的word丢进去,出来的就是DITA数据了。
第五步:调整和校对
在Oxygen编辑器这样的工具中,打开转换好的XML,对内容进行校对和调整。主要关注这几方面:
1. 检查XML是否符合文档类型的定义。结构化编辑工具一般都有自动检查的功能,使用这个功能,编辑器就能报出文档中的错误。
2. 检查文档的结构、标签、属性是否准确。这需要对目标XML有清晰理解的小伙伴来执行。如果不能满足要求,并且是普遍存在的问题,则需要回到第二步:调整映射关系,然后再执行转换程序进行转换。如果只是个别的问题,则手工调整XML内容就可以了。
3. 检查PDF/HTML输出。最终用户关心的是PDF的输出,而不是XML的内容。所以一般我们还需要将DITA输出成PDF,查看输出是否能满足要求。如果发现样式不能实现输出的要求,也需要结合调整数据来完成。
第六步:丰富内容
MS Word源文件中,只有一般意义的内容,比如:标题1,标题2,段落、列表、表格等。
实际上,内容中有些内容是有语义的,比如这个。表格中的不是一般的文字,而是具有意义的数字,后续会被其他程序读取的。
再比如,下边这段XML中的level属性。Lite代表一般给用户;Professional代表给专家级用户。
这两例子中的数据在转换过程中难以自动转换生成。就需要在转换以后,填入这些语义信息。我们把这个过程叫做丰富内容,英文叫Enrich。
通过丰富内容,我们就得到高质量的XML了。
总结一下
我们可以通过这6个步骤,将Word文档转换成高质量的DITA数据:
定义文档类型;
建立映射关系;
整理源内容;
运行程序进行数据转换
调整和校对
丰富内容