WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 1 部分: 理解 XML 数据模型 阅读

DB2 XML 编程,第 1 部分: 理解 XML 数据模型

 2010-10-01 16:25:02 来源:WEB开发网   
核心提示: 业务逻辑代码容易理解,因为 XPath 描述了数据的性质以及数据与业务结构的关系,DB2 XML 编程,第 1 部分: 理解 XML 数据模型(9),采用 XML 模型时所涉及的问题和解决方案如果关系数据没有存储为 XML 格式,就必须把它们映射到 XML,如果包装在对象层次结构中的数据结构可以

业务逻辑代码容易理解,因为 XPath 描述了数据的性质以及数据与业务结构的关系。

采用 XML 模型时所涉及的问题和解决方案

如果关系数据没有存储为 XML 格式,就必须把它们映射到 XML。尽管大多数关系数据库厂商都提供了相关工具,但是映射过程非常繁琐。但是,由于 DB2 和 Microsoft® SQL Server 等数据库服务器引入了纯 XML 功能,将 XML 数据分解并映射到关系表不再是必需的。通过使用 XQuery 和 XML 索引,现在可以在应用程序中按原样搜索和获取存储的 XML 数据,采用的方式与从数据库获取大字符对象相同。

对于在数据库中存储为纯 XML 的数据,需要了解如何用 SQL/XML 函数和 XQuery 执行查询。应该先学习简单的 XPath 搜索,然后使用复杂的 XQuery,这样比较容易掌握 XML 查询。

了解并精通 DOM API 及其实现,以及掌握如何使用 XPath 导航和搜索 XML 层次结构,可能有点儿难度。可以使用 本文附带的 helper 类 减少对 DOM API 的直接调用。这个 helper 类封装了 DOM API 并公开更自然的 API,可以从应用程序代码调用这些 API。它提供了实例化和序列化 XML 模型以及在 XML 实例中搜索和修改数据或元数据所需的所有功能。包装器类还在必要时处理 XSL 转换、名称空间和模式检验。

在应用程序的业务逻辑中直接嵌入 DOM API 是一种低效率的做法,因为对 XML 模式的任何修改都要求对应用程序代码做大量修改。使用许多 API 调用在层次结构中导航;这会降低代码的可读性。导航或修改的数据对象不如使用用户定义的对象包装器时那么明显。包装器类避免了在业务逻辑中嵌入 DOM API 调用。因为这个包装器类使用 XPath 导航 DOM,所以如果对模式的任何修改影响到应用程序代码,那么只需修改应用程序中受影响的包装器 API 调用中的 XPath 字符串。另外,因为 XPath 指出了要操作的 XML 节点在层次结构中的位置,所以应用程序代码的可读性非常高。

结束语

业务应用程序主要关注创建、操作、存储和表示业务数据。为业务数据建立数据对象包装器是为了让业务逻辑更容易处理业务数据。但是,创建和维护这些数据对象包装器的成本很高,会使开发人员过分关注数据处理逻辑,而分散了对业务逻辑的注意力。

通过使用 XML 数据模型,就可以取消整个数据对象包装器层次结构,让开发人员将注意力集中在业务逻辑上,而不会为业务数据管理分心。通过使用 DOM 包装器类,应用程序代码可以与 DOM API 隔离开。使用 XPath 进行导航可以明确指出操作的业务数据中的关系,使应用程序代码更容易理解。

在理想情况下,数据应该在数据库中存储为纯 XML;但是即使数据存储在关系表中,仍然可以在应用程序中先将数据转换为 XML,然后再处理数据,这种做法在许多情况下是有意义的。

如果包装在对象层次结构中的数据结构可以用 XML 进行格式化,而且对象层次结构的主要用途是操作这些数据结构并向业务逻辑公开它们,那么可以考虑用 DOM 替代包装器对象层次结构。

上一页  4 5 6 7 8 9 

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接