标签:
微软ooxml国际标准dociso国家标准uofoffice软件兼容office2007linux中国政府 |
分类: 关注标准 |
对微软标准我所坚持的观点
一、OOXML不是一个成熟的、全面开放的标准
1、OOXML文本展现形式说明该标准缺乏标准制定的严谨性
2、在许多重要环节只顾及微软产品的兼容性而拒绝采用国际标准
OOXML并不完全符合XML语言的要求。OOXML定义了新的字符串类型“Basic String”,作为“二进制基本字符串类型”。这个新的字符串类型的一个特点是允许非XML字符(控制字符)可以特别编码。然而, XML文档中的非XML字符基于XML的处理工具无法处理此XML文件。 W3C'sInternationalization Activity确认,这种控制代码的表达应当由合适的标记语言替换。由于XML提供了编码结构化数据的标准化方法,采用控制字符,而不是标记语言将丧失了采用XML语言的优势。在HTML和XHTML中采用控制代码是不合适的,因为标记语言适宜用来表达文本,而不是数据。
二、OOXML缺少可供第三方实现的实施指南
我们的格式兼容实践表明,办公软件文档格式仅能够确保文档的格式和内容被正确记载,但无法做到精确的版式兼容。如果版面算法不一致,跑版现象是难以克服的。Ecma并没有公布OOXML相应的实现指南,特别是版面算法,因此,OOXML的初衷,即通过OOXML让众多的实现人员能够忠实的再现以前的所有办公文档将成为空话。
ODF有开源的OpenOffice作为参考实现使人们得以分析其版面算法,但 Microsoft Office则不能。由于缺少真正的实施指南,微软 Office2007就成为了OOXML的唯一实施标准。微软制定了一个“开放”的标准,但所提供的实施标准就是 Office2007;由于Office2007的封闭性,反过来决定了微软是OOXML的唯一实现者。
而另一个更为严峻的问题在于,现在的OOXML按照各方的要求修改后,微软Office2007是否也能随之修改,使其能继续符合OOXML标准。由于缺少符合性测试案例,我们甚至无法确认Office2007是否符合该标准。换言之,完全可能出现的情况是:在OOXML成为国际标准后,市场上根本就不存在完全符合该标准的产品。
三、OOXML依然不能在 Linux上实现
OOXML存在明显的平台依赖性,其所定义的有些行为在Windows上可实现,但在 Mac、Linux、Unix 或其他平台上就不能实现,更何况其提供的某些加密算法还依赖于处理芯片。如:
1、剪贴板格式是私有的 Windows 格式
OOXML定义了ST_CF类型用于记录剪贴板格式,以便于存储图形对象。其类型的值如 EMF、WMF等等都是私有的 Windows格式,其他的操作系统无法使用。例如,在Linux中,经常采用开放标准格式PNG,但是如果厂商在此类型中加入“PNG”,则此文档将是非法的,文档及其应用也将不符合OOXML规范。
2、电子表格中的密码哈希算法是依赖于机器的
电子表格中的密码哈希算法定义由5页纸的C语言代码来定义,似乎是从Excel中直接提取的。然而,代码中的位控制又是依赖于机器的,根据处理器的不同会给出不同的结果。在一个机器上建立的文档可能在另一个机器上不可阅读。关于此功能,OOXML没有提供一个便捷的定义。
OOXML的平台依赖性对国产操作系统和国产芯片都将是致命的打击。在确保微软OOXML能成为与平台无关的真正开放的标准前,我们必须对此标准持反对态度。
四、微软需要承担 Doc 与 OOXML 全面转换的责任
过去国产软件被迫单项兼容微软 DOC 源于 DOC 的封闭性。微软在抛弃封闭格式,迈向开放标准的过程中,应进一步拿出诚意和实际行动,主动解决封闭格式造成的历史遗留问题,并确保真正走向开放,不再利用自身格式转换取得独家竞争优势。换言之,由于DOC和OOXML均是微软的标准,目前,世界上只有微软拥有处理自己这两种格式的互操作能力,因此微软应该确保所有用户获得处理这两个格式的能力。微软应该公开自己已完成的DOC和OOXML转换模块;而不应停留在支持第三方另起炉灶的阶段,还会有故意拖延用户和竞争对手时间之嫌。
结语: