被采访人:邹宇峰

采访日期:2009-07-17

采访人:孙健

 

 

Sun:     我是代表我的同事从www.openxmldeveloper.org来做一个简单的采访,问几个很简单的问题。最终我的同事会把这段录音和我们采访内容的文稿放到网站上去。能简单介绍一下你自己吗?

Xiaoyu: 我姓邹,我住在成都,叫我小宇就可以了。

 

Sun:       小宇,你觉得最酷的Open XML的应用上的实施有那一些?

Xiaoyu: 这个问题有点宽泛我觉得是文档格式的开放吧。打开zip就可以直接去分析它和了解它的细节,我觉得这个是比较酷的事情。因为以前word的格式就比较复杂,包括以前开放的文件格式RTF也是比较复杂的。要做一般小的应用的话,就需要了解很多的东西。现在的OOXML就简化了这个过程,我可以只去了解我需要的部分。就象去了解HTML一样,我不需要把所有的东西都parse出来,只需要提取我需要的部分,我觉得这个是比较酷的。

 

Sun:       那你觉得有哪些产品做OpenXML做的比较好的?

Xiaoyu: 产品我了解的比较少,现在就只有Office 2007。其它的产品几乎没听到。Openxmldeveloper论坛上也很少有人提到它的应用和产品,我们这边也没有什么相关的信息。

 

Sun:       你知道OpenOffice支持OOXML吗?

Xiaoyu: 最新版本我不知道,据我所知目前只支持ODF吧。国产的一些Office产品是支持国家的标准UOA。没有听说他们支持OOXML

 

Sun:       我们不是有一个WPS吗?

Xiaoyu: WPS不是和 Google在合作吗,WPSGoogle上是免费下载。我想他们还不会用到OOXML。这个可能需要去求证一下。

 

Sun:       你做OOXML 开发的时候,除了OpenXMLDeveloper.org 之外,你还去其他地方去求帮助吗?

Xiaoyu: 肯定主要是MSDN上面,它的SDK reference是很重要的。

 

Sun:       还有其它的吗?

Xiaoyu: 其它的从搜所的情况上来看不是太好。有些网站比较小,没有什么权威的意义。上面的信息也不是官方的,也不敢去采用。有的就是有些人试验的结果的一些article, 也没有去多关注。OpenXMLDeveloper上面的资源还是比较官方一点些,我会常去问一些问题,也会看到一些专业人士。

 

Sun:       2007版之前的Office你做过开发吗?

Xiaoyu: 之前的没有。因为它的格式是封闭的,然后会涉及版权和License的费用。不管是作为公司还是个人自由软件开发都不太可能去接触。这次OOXML就感觉有点希望了,因为它Open嘛。

 

Sun:       除了开发软件之外你还参与什么业余活动?

Xiaoyu: 这个太多了。

 

Sun:       随便举几个例子就可以了。

Xiaoyu: 象你看我博客的话你就会知道我喜欢种植物拉,音乐方面的,美术方面的。

 

Sun:       你是自己爱好开发软件还是给公司做事开发软件?

Xiaoyu: 是自己爱好,学习和研究这个东西。以这个过程来做一个Project.

 

Sun:       你做的开源的project 是于什么有关系的?

Xiaoyu: 现在还没有开源,可能只是一个Freeware

 

Sun:       能简单介绍一下你做的这个基于OOXMLProject吗?

Xiaoyu: 它是计算机辅助翻译软件,英文是CAT, Computer Assisted Translation. 是跟文档的格式打交道,然后分析文档,最终把翻译之后的结果生成各种格式的文档。所以OOXML 在这里的角色就很清楚了。

 

Sun:       那它是从哪种语言翻译成哪种语言啊?

Xiaoyu: 任何你需要的语言。他并不是机器翻译,他是辅助人来做翻译。比如说你是专业译员,不管你是做那种语言的翻译的,利用这个软件来简化你的翻译过程,让你翻译的效率更高。

 

Sun:       那具体怎么简化呢?

Xiaoyu: 他主要通过一个Translation Memory的这样一个技术还有一些其它的辅助技术,比如说:格式。很多译员在做翻译的时候要一直去调格式,这样会非常的累。通过一些辅助技术他可以不必去管一些格式以及最后生成的格式,翻译的质量和效率都会提高很多。另外通过 Translation Memory,在翻译过程中有相同、类似或相关性的语言的翻译的时候,就不许要再去typing了。它会从Memory里面选取或直接翻译过去了。这样就简化了这个翻译过程。

 

Sun:       明白了,就是说提供了一些选择,让专业翻译来选。

Xiaoyu: 对,Translation Memory 会记下你前面翻译句子的结构或完全相同的句子,翻译句子的格式比较接近的,通过一种智能方式进行拼接。这样的话,翻译量就很少了,只需要翻译不同的部分,相同的部分软件已经帮助完成了。就这样子的。

 

Sun:       蛮有意思的,那你用那一个版本的Open XML Format SDK

Xiaoyu: 2.0

 

Sun:       那你对Open XML Format SDK 2.0 版的编程体验如何?

Xiaoyu: 我没有用1.0,直接上的2.0。我觉得它把所有OOXML的元素全部封装好了,这样就让程序员就不要再去管验证会出问题的东西。只要在SDK 2.0 下工作就觉得很放心。就不需要担心有不规范的地方出现。假如说我自己用XML DOM来做分析的话,可能会出很多问题。用SDK可以解决这些问题,我会很放心,然后一些属性和存取包括和LINQ的联系比较紧密,通过IEnumerable接口的一些成员来读取OOXML元素,用起来非常方便。


不方便的地方是,它拆的比较散,每个OOXML元素都是一个Class。我不知道这样设计上的思路是什么。但是太散了,记忆量有点大,显得有点繁复,但是用起来还是挺好用的。还有一些小的地方文档不是很完善,查阅起来比较难。然后,SDK 还是对XML结构的一个抽象,不是一个完完整整的对于对象的一个操作,还不是非常的对象化。可能是为了兼容LINQ的一些查询的功能,它要求程序员以XML的视角去做开发,所以从概念上没有设计成一个非常对象化的Class。在编程的时候还要从XML结构关系的思路去编程,而不是以抽象的对象的方式来对待它。