信息化 频道

ODF与UOF的比较

    4、名字空间

    ODF的名字空间是以功能模块为基础进行划分,而UOF的名字空间的模块划分则更多是以文档类型和结构为基础。因此,UOF的schema中有许多在不同的名字空间里重复定义的元素,而这些元素一般只被限制在某种类型的文档里使用。

    在ODF和UOF的比对中,一些ODF中的名字空间在UOF中没有对应,比如dr3d,form,manifest,smil等。相应的这些名字空间中所定义的元素和属性也就没有定义。这样会造成在转换过程中,尤其是从ODF到UOF转换的时候,存在着一些信息缺失的情况。比如,dr3d定义了一些关于3d图形的元素,而在UOF中没有显示3d图形的功能,再例如form,form定义的是与表单的定义,显示与动作的一些元素,而UOF中同样不支持表单。这些都可能会造成两个标准之间的互操作障碍。

 
    5、对应模式

    在元素和属性的层次上,ODF和UOF两种规范的差别表现的更明显。在两种标准的比对中,有不同的对应模式,大致上有以下几种类型:ODF中的属性对应到UOF中的元素;
 
    ODF文档中某个元素同时对应到UOF 中的一个元素及之外的一个元素;ODF中某些元素在它的某个属性取值不同的情况下,需要对应到UOF中的不同元素等等。对应模式的不同使得标准之间的转换出现多种情况,表现出复杂性。
 
    6、扩展性
 
    在整个模式文档的描述上,ODF采用属性定义较多, 而UOF更多采用元素定义。多用元素而少用属性虽然增加了模式文档的大小,但是却增加了模式应用的灵活性和扩展性。
 
    7、用户逻辑数据的支持
 
    UOF采用用户定义实例树与格式树分别存储,基于引用的方法支持用户自定义模式,实现逻辑格式与物理格式的分离。而目前ODF主要通过表单FORM方式实现,存在很大差别。采用用户定义实例树与格式树分离的方式保证了显示与逻辑格式之间没有关联,增强了应用的灵活性。
 
    8、 逻辑结构
 
    UOF格式中主体部分描述文档的主体内容,如段落、表格等,主体中出现的超级链接、书签等信息则采用统一管理的方式,提取该功能的信息作为文档的一部分独立于主体之外描述,通过标识符引用与主体出现的位置建立关联。这种结构方式既描述了主体以及其必要的附属信息,又有效地将附属超级链接等信息分离出来,既便于修改附属信息内容,又可以做到统一管理。相对于ODF,UOF的这种组织形式更具有科学性和可管理性。
 
    9、存储结构的合理性
 
    UOF格式的文档采用单一XML文件形式,文件内部按不同模块压缩存储,效率较高。ODF格式基于部件为基础的压缩ZIP文件格式规范。ZIP文件被看作一个容器,每个容器由多个部件组成,每个部件描述了文档的不同部分,除了少数代表图形的二进制文件或内嵌OLE对象,大多数部件采用XML文件形式。这种结构虽在设计上是可行的,也做到了文档主体与附属信息的分离,一个文档的附属信息修改时不需要将整个容器读入内存,节省了内存资源;同样也带来了多文档的弊病,当文档需要频繁调用其它部件中的信息时,需要多次进行读写操作多个文件,这种频繁I/O读写降低了软件的读写效率。而对于采用单位XML文件形式的UOF则不存在这个问题。
    另外,目前ODF还没有数字签名功能,这些还需要在新的版本中加以丰富;ODF采用完全免费的知识产权授权原则,而UOF采用了RAND授权原则,也可能导致两者在发展方向上存在差异。
 
    总之,由于UOF和ODF都是采用XML作为标准描述语言,支持三种应用文档基本格式,在包括式样、主体和属性等方面都有类似的定义,因此实现两个标准的兼容和融合是完全可能的。
0
相关文章