深入OpenOffice.org之二应用XML文件格式

http://tech.ddvip.com   2007年03月12日    社区交流 收藏本文

本文详细介绍深入OpenOffice.org之二应用XML文件格式

  内容与样式

  办公软件文件格式同行业专用文件和页描述文件格式有显著的区别。

  绝大多数的行业专用文件只定义了文件中具有特定逻辑的内容,文件的显示样式在外部独立地实现,内容是它们的关注点。而页描述文件(例如Adobe PostScript、PDF和其他小样格式)通常是在特定页中定义了内容的显示方式,对于内容中的逻辑是不作规定的。

  办公软件文件的内容通常具有一定的逻辑关系,例如章节和标题层次,而且也需要确定它的显示样式,例如字体、字号和缩进等。那么就有两种实现方式:一种是将样式和内容混合起来表示,样式就嵌入在内容流里;另一种是将样式与内容分离开来表示,通过某种映射联系起来。前者的优点在于格式简单,缺点是嵌入在内容中的样式很难管理,而且由于重复样式会产生很多的冗余信息。后者正好与前者相反,格式相对复杂但层次较为清晰,样式单独保存有利于提高数据表达信息的效率,并且方便对样式和内容分别进行处理。

  OpenOffice.org的XML文件格式采用的就是后一种实现方式。

  文件打包

  采用了样式与内容分别处理的OpenOffice.org XML文件格式,需要处理的一个问题是:如何处理文件内的非文字内容(例如图像、OLE对象和打印机设置信息),如何管理这么多数据部分?

  OpenOffice.org针对多部分的文件采用了压缩打包的方式。也就是说,将样式、内容、设置信息、元数据、和图像等非文字内容等采用通用压缩算法打包,访问时针对特定的部分进行解包和再打包。

  这样做的好处是统一管理,单独处理,文件尺寸更小,而且压缩算法和打包的ZIP文件格式也是各平台上都可得的,无专利隐患,并有开源软件的支持。

  对于某些需要嵌入在文字内容流中的非文字对象,OpenOffice.org XML文件格式采用Base64的编码方式将其嵌入的。

作者:路广    责编:豆豆技术应用

正在加载评论...