ODFDOM 分层模型概述
ODFDOM for Java 为希望创建、访问和保存 ODF 文档的开发人员提供一个轻量的 Java API,让他们可以不必详细了解完整的 ODF 标准规范。
ODFDOM 采用层次化的多层结构,其中每个层有特定的用途。由于采用松散耦合的设 计,下面的层并不依赖于上面的层。图 1 给出 ODFDOM 分层模型的结构。
图 1. ODFDOM 分层模型
下面简要解释这些层:
定制的 ODF 文档 / 可扩展层。后面把这一层称为定制层。尽管它不是 ODFDOM 包的 组成部分,但是它设计为 ODFDOM 之上的层,用户可以在这一层覆盖或定制现有的 ODFDOM API 以满足指定的需求。
ODF 文档 / 便利功能层。后面把这一层称为便利层。这是开发人员关注的重点,因 为它基于 DOM 层,为用户提供最丰富、易用的文档操作 API。
ODF 类型的 DOM / XML 层。后面把这一层称为 DOM 层。ODFDOM 规范和文法 (RelaxNG 模式)定义了可用的所有 ODF XML 元素和属性,以及它们在标准化 ODF XML 流中的关系;也就是 ODF 包中的所有 XML 文件(例如 content.xml、styles.xml)。
DOM 层提供用来构建 Document Object Model 的 XML 元素和属性的相关信息。这一 层的所有类并不是手工编写的,而是按 ODF 规范自动生成的,因此当 ODF 规范改进或 升级时很容易更新这一层。
ODF 包 / 物理层。后面把这一层称为包层。它是 ODFDOM 层次化结构中最低的一层 ,它提供对 ODFDOM 包中的物理存储的直接访问,比如 XML 流、图像和嵌入的对象。
在本文的其余部分中,我们详细讨论每个层,了解它们的功能和关系。