UOF的总体结构独立、完整、开放和可扩展。“标文通”采用W3C的XML Schema为元语言描述文档格式结构,采用了以元素为主体的描述体系,使结构层次更加清晰,增强了schema的灵活性和可扩展性。
UOF的数据以文件形式存储,采用了特殊的文件结构。采用这种设计有两个出发点:一是便于信息检索,而是节省存储空间。然而,很多情况下,这两者之间是有矛盾的。例如,因为XML数据是纯文本的树形结构,十分便于检索,人们希望”标文通”的文件存储格式就是一个标准的XML文件。然而,有些办公文档含有大量的图片等多媒体数据,采用纯文本形式描述文件体积会很庞大,因此希望尽可能有效地加以压缩。”标文通”文件存储格式的设计兼顾了这两种需求。 UOF2.0及将来的格式将会在这方面有很大的优势。
OOXML:
OOXML十分通用,支持丰富的编辑语义,并在减少加载时间和提高分析性能上作了努力,尽管目前的OOXML文档比起二进制的DOC来还是慢了许多。为了提高速度,OOXML使用了很短的元素名,并将电子表格的日期换算成相对于1899或1904年的索引。为了提高系统性和通用性,OOXML对于数据和数据的说明采用了不同的子元素表示,例如“p”代表段落,而“pPr”代表段落属性(Properties),而不使用多重属性(Attributes),这样可使属性表示高度结构化。OOXML也不使用混合内容,使得描述结构简洁而紧凑。在OOXML中,微软没有采用国际上一些现有成熟的描述语言,比如 SVG和MathML,而是使用自己定义的私有协议。为了兼容以前的软件,OOXML还保留了一部分较旧的描述方法,比如VML就是典型。
OOXML采用打包的文件格式。物理数据通过Zip算法,映射到Zip包中的Item,然后通过一定的规则再映射到Parts上。在Zip Item映射到Parts时,按照命名规则来进行判断。为了使得数据访问变得快捷,可以将一个文件拆为多个部分,按照一定的命名规则进行打包。此外,在打包过程中还提供了一种机制,为一些Parts预留了空间,用于将来可能出现的追加数据。这种多层封装的结构使得物理数据的组织、封装的算法、Parts的识别都可以在将来的版本中被替换。
ODF:
ODF的XML文件格式采用样式与内容分离的实现方式。办公软件文件格式同行业专用文件和页描述文件格式有显著的区别。绝大多数的行业专用文件只定义文件中具有特定逻辑的内容,文件的显示样式在外部独立地实现,内容是它们的关注点。而页面描述文件(例如Adobe PostScript、PDF和其他小样格式)通常是在特定页中定义了内容的显示方式,对于内容中的逻辑是不作规定的。办公软件文件的内容通常具有一定的逻辑关系,例如章节和标题层次,而且也需要确定它的显示样式,例如字体字号和缩进等。那么就有两种实现方式:一种是将样式和内容混合起来表示,样式就嵌入在内容流里;另一种是将样式与内容分离开来表示,通过某种映射联系起来。前者的优点在于格式简单,缺点是嵌入在内容中的样式很难管理,而且由于重复样式会产生很多的冗余信息。后者正好与前者相反,格式相对复杂但层次较为清晰,样式单独保存有利于提高数据表达信息的效率,并且方便对样式和内容分别进行处理。
为了能够更好地同其他信息格式交互,ODF充分利用了现有的行业标准,在这些标准的基础上形成自己的办公软件文件格式。比如它直接采用了MathML、 XLink、Dublin Core和XForms,复用了XHTML、SVG、XSL-FO和SMIL中的内容。