记一次为用户查找DITA手册发布失败原因的过程

1 -

碰到的问题

有用户在将DITA手册发布成MS Word过程中,出现发布失败的情况。Oxygen提示错误信息,如下:

双击错误后,打开的文件定位不到具体的错误,并且不能明显地看出是什么问题。

用户等着将生成的Word文件给客户,相当着急。

赶紧联系摩拿,请求协助分析失败原因并解决发布失败的问题。

2 -

分析和解决过程

摩拿科技紧急组织小分队对问题进行分析。

1) 数据完整性校验

Oxygen中提供数据完整性校验的功能,能检查出大部分数据问题,比如:

  • 断链

  • 内容重用的源不存在

  • 数据违反文档类型定义

通过点击“验证和检查完整性”图标来对手册数据进行检查:

如果提醒错误,请对数据进行修正。不过用户的数据并未报任何异常

在将DITA发布成MS Word或者PDF会经过20-30个步骤,其中任何一步都有可能报错。 双击错误信息,有时打开的是某一个XSLT文件或者发布的脚本文件,并不能直接看出是什么问题。

2)查看发布日志

在发布过程中,Oxygen会在底部出现“正在发布”的信息,并且点击按钮可以弹出日志视图,如下图:

我们看看日志视图中提示什么有用的信息没有:

从日志里看到是将空字符串转换成数据时出错了。根据经验判断,这个问题可能跟图片或者表格尺寸设置有关。

接下来,是定位出错的数据的具体位置。

3)在ditamap中去掉一半的数据

4)尝试发布看问题是否还存在

发布如果还有问题,说明问题在剩下的一半数据中。然后再去掉一半,再次发布。 重复这个操作,直至没有错误,能成功发布。

发布如果没有问题,说明问题在去掉的那一半数据中。还原删除,然后在刚才去掉的一半数据中删除它的一半(一半的一半),再次发布,看是否能成功发布。

打开具体的topic查看内容, 特别关注表格和图的高度/宽度属性的值是否有异常 。

重复执行步骤3和4,直到找到问题。 可以尝试修改数据,重复发布,查看日志变化来看猜想是否正确。

5)发现问题

经过分析,发现是出错原因是数据的表格中有一列的宽度缺少符号造成,如下图:

表格中其他列的宽度设置中有个星号(*),代表相对值。但是第二列宽度中没有星号,导致数据转换失败。

通过将绝对值161修改成相对值1*,就能顺利发布了。

 摩拿科技是专业的结构化文档工具和服务提供商,我们在标准软件(如:Oxygen XML Editor, MxDoc)的基础上提供专业服务,协助企业文档结构化转型落地,欢迎访问官网了解更多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值