▲ 微信搜索“大龙谈技术出版物”关注我的公众号
常有朋友问:Word文档或者PDF文档能转成XML吗?
答案是:能。
如果使用某软件的“另存为”功能,能得到一个XML文件,但是里边的内容却差强人意,离期望的质量很远。
怎样能获得高质量的结构化内容(XML)呢?今天聊聊这个话题。
– 1 –
定义文档类型
要将非结构化内容,如:MS Word、PDF,转换成XML,第一步要定义XML的文档类型(DTD或者Schema),也就是XML的文档规则。
目前,已经存在一些标准文档类型,比如:DITA、S1000D等。如果标准的文档类型能满足要求,就尽量选择标准文档类型。拿DITA来说,原因是:
-
选择多
市面上已经有很多能够编辑、管理、处理DITA的软件供选购,当然也可以自建。
-
成本相对低
如果自己定义文档类型,那么需要自建和维护一套相对应的编辑、管理、出版的软件和样式。
如果使用DITA,则已经有支持的软件和样式,就算是要客制化也是小范围的。
就内容的整个生命周期来看,两者不同做法之间的成本可以相差50倍。
一般情况,建议选择DITA作为文档类型。如果还有不能满足的要求,则在DITA基础上利用专有化来实现。
DITA的专有化机制就是为了在DITA定义的文档类型不能满足要求时,进行扩展的机制。
– 2 –
建立映射关系
有了文档类型以后,第二步是建立源文件和目标XML的映射关系。 这种映射关系用于转换程序来实现内容转换。
映射关系就像下边这样:
Heading 1 -> topicref/@navtitle
Heading 2 -> topicref/@navtitle
Heading 3 -> topic/title
para -> p
– 3 –
整理现有数据
虽然大多数公司都有写作指南/风格指南,但是使用MS Word这样的非结构化写作工具很难做到完全按照写作指南的要求来写作,尤其是在有多人写作的情况下。MS Word并没有结构化写作工具(如:Oxygen XML)那样检测并确保内容按照写作指南来写作的工具。
在使用转换程序进行内容转换之前,我们需要确保源文件符合写作指南的要求。如果不符合,则需要手工对源文件进行调整,整理成符合写作指南要求的内容。这样可以降低转换程序的复杂度,并提高转换结果的准确性。
MS Word源文件是否符合写作指南的要求决定数据整理的工作量。
– 4 –
运行程序进行内容转换
有了以上三步的准备工作,我们就可以运行转换程序进行转换了。转换过程是这样的:
– 5 –
校对和调整
在结构化编辑工具中,打开转换好的XML,对内容进行校对。主要关注这几方面:
-
XML是否符合文档类型的定义?
结构化编辑工具一般都有自动检查的功能。
-
文档的结构、标签、属性是否准确?
这需要对目标XML有清晰理解的小伙伴来执行。
如果不能满足要求,并且是普遍存在的问题,则需要回到第二步:调整映射关系,然后再执行转换程序进行转换。如果只是个别的问题,则手工调整XML内容即可。
-
检测PDF/HTML输出。
最终用户关心的是PDF/HTML等输出结果,而不是XML的内容。所以一般我们还需要将XML输出成PDF/HTML,查看输出是否能满足要求或者确认需要做的样式调整。如果发现样式不能实现输出的要求,也需要结合调整数据来完成。
– 6 –
丰富内容
MS Word源文件中,只有一般意义的内容,比如:标题1,标题2,段落、列表、表格。
实际上,内容中有些内容是有语义的,比如这个:
表格中的不是一般的文字,而是具有意义的数字,后续会被其他应用程序读取的。
再比如,下边这段XML中的level属性。Lite代表一般给用户;Professional代表给专家级用户。
<conbody>
<p>刹车片</p>
<p level="Lite">刹车片也叫刹车皮。在汽车的刹车系统中,刹车片是最关键的安全零件,刹车效果的好坏都是刹车片起决定性作用</p>
<p level="Professional"> 刹车片(brake lining)一般由钢板、粘接隔热层和摩擦块构成,钢板要经过涂装来防锈,涂装过程用SMT-4炉温跟踪仪来检测涂装过程的温度分布来保证质量。其中隔热层是由不传热的材料组成,目的是隔热。摩擦块由摩擦材料、粘合剂组成,刹车时被挤压在刹车盘或刹车鼓上产生摩擦,从而达到车辆减速刹车的目的。由于摩擦作用,摩擦块会逐渐被磨损,一般来讲成本越低的刹车片磨损得越快。</p>
</conbody>
这两例子中的数据在转换过程中难以自动转换生成。就需要在转换以后,填入这些语义信息。
我们把这个过程叫做丰富内容,英文叫Enrich。
通过丰富内容,我们就得到高质量的XML了。
– 7 –
小结
首先,所谓高质量结构化内容,是根据自己业务需求定义的。
其次,经过以下6个步骤,就可以得到高质量的结构化内容:
-
定义文档类型;
-
建立映射关系;
-
整理源内容;
-
运行程序进行数据转换
-
校对和调整
-
丰富内容
最后,源文件的质量关系到工作量的大小。根据以往经验,PDF文件因为其内容难以读取,工作量最大。Word、FrameMaker更容易转换一些。
摩拿科技:
www.manualsware.com
微信搜索“大龙谈技术出版物”关注我的公众号