DB2 9.5 提供给 .NET 开发的 XML 工具概述

利用 IBM Database tools for Microsoft Visual Studio 2005 在 XML 功能方面的改进

IBM® Database tools for Microsoft® Visual Studio 2005 引入一组新的面向 Web 服务的特性,公开了最新的 DB2® pureXML™ 功能。新版本可以大大提高开发人员的生产率。新的 IBM Database Add-ins for Visual Studio 2005 提供的一些新特性简化了 pureXML 的使用。这些特性包括从带标注的 XML 模式创建 Web 服务、XSR 比较和 XSR XSLT 支持。本文介绍了 IBM XML tools for DB2 Version 9.5 及其用法。

Ajay Aggrwal, 顾问软件工程师, IBM

Ajay Aggrwal 是 IBM Database Add-ins for Visual Studio 2005 团队的顾问软件工程师。



2007 年 12 月 24 日

前提条件

本文假设您在使用 DB2 for Linux®、UNIX® and Windows® V9.5。还需要安装 IBM Database Add-Ins for Visual Studio 2005 V9.5。可通过下列方式安装 Add-Ins 工具:

要了解 IBM Database Add-ins for Visual Studio 的一般特性,请阅读 “Overview of IBM Database Add-ins for Visual Studio 2005” 和 “Develop proof-of-concepts .NET applications” 系列教程(请参阅 参考资料)。

XML 支持

DB2 V9.1 增加了管理、存储和查询 XML 数据的新特性。其中包括:

  • XML 数据类型,从而使 DB2 能够以原生的层次格式存储 XML 文档
  • 支持工业标准的 XML 查询语言,包括新的 SQL XML 扩展(也称为 SQL/XML)
  • 根据用户提供的模式验证 XML 数据,从而使应用程序开发人员和数据库管理员保证 DB2 存储 XML 数据的数据完整性约束

这些 XML 功能是 IBM Database Add-ins V9.5 新版本的一部分。对标注 XML Schema、XML Schema Repository (XSR) Compare 和 XSLT Support 这些 Web 服务的支持则属于 V9.5。这些改进增强了 XML 特性的可用性,帮助开发人员提高生产率。

标注 XML 模式创建 Web 服务的支持

新版本增加了使用 Web 服务作为 XML 模式源的功能。XML 模式可以从 Web 服务的 WSDL 结果中推导出来。新版本增加一个选项,定义 Web 服务作为 XML 模式来源的输入,如 图 2 所示。上一版本中只能使用注册的 XML 模式或者来自文件的文档作为输入。要使用 Web 输入作为 XML 模式源,可按如下步骤操作:

在 Server Explorer 中右键单击 XML Schema Repository 并选择 Add Annotated XML Schema,如图 1 所示:

图 1. 添加带标注的 XML 模式
添加带标注的 XML 模式

打开的对话框包括三个选项,如图 2 所示。选择 Use document from a web service 创建新的带标注 XML 模式。

图 2. 选择 XML 模式源
选择 XML 模式源

输入 Web 服务,单击 Validate wsdl 按钮验证 Web 服务。验证 WSDL 之后可以选择根节点创建带标注的 XML Schema,如图 3 所示:

图 3. 选择根元素
选择根元素

右键单击对话框添加目标表。选择 Add Target Table 打开包含一组表的对话框。

图 4. 添加目标表
添加目标表

在 Mapping Editor 中选择一个表将 Source XML Schema 中的列映射到目标表。图 5 显示了映射的列:

图 5. 映射列
映射列

一旦完成映射,即可通过 Test 选项检查设计,确保源模式和目标表映射正确。如图 6 所示:

图 6. 检查设计
检查设计

可以通过 View Source 查看生成的源代码。选择 Text Editor 或 XML Designer 查看代码,如下所示:

图 7.查看源代码
查看源代码

生成的代码如图 8 所示:

图 8. 生成的代码
生成的代码

可以定义源 XML 文件,或者在 Test Form 中使用编辑器定义 XML。可定义 Web 服务检验创建的标注 XML 模式。

Test Form 对话框显示测试操作的结果。如图 9 所示:

图 9. 测试窗口
测试窗口

设计检查完成后,可在 Visual Studio 中选择 Save 并保存到数据库中。

单击 Save 打开 Register annotated XML schema 对话框,在这里可定义 XSR 名称、所有者、说明、模式位置和分解选项。如图 10 所示:

图 10. 登记标注 XML 模式
登记标注 XML 模式

完成保存操作后,注册的 XML 模式就会显示在 Server Explorer 的 XML Schema Repository 节点中。

新建的标准 XML 模式有多种选项。图 11 显示各种不同的选项:

图 11. Server Explorer 中的标注 XML 模式定义
Server Explorer 中的标注 XML 模式定义

如果像上图那样选择 “Open definition”,将看到图 12 所示的结果。图 12 显示了所选标注模式的定义。其中包括 XML 模式文件名、XSR 名、所有者、分解和各种依赖关系。

图 12. 查看标注 XML 模式的定义
查看标注 XML 模式的定义

XML 模式资料库比较

跟踪 XML 模式的变化或更新不但困难,而且颇费时间。为此,V9.5 增加了比较 XML Schemas 的功能。用户可以选择一个 XML 模式,然后在上下文菜单中选择 Compare XML Schemas。该选项比较模式,并在操作过程中提示用户两者的差别。

图 13. XML Schema Repository 比较
XML Schema Repository 比较

要比较的模式可在 XSR Object Compare 对话框中选择,如图 14 所示。用户可以定义原 XSR 对象并选择其依赖关系、要比较的 XSR 及其依赖关系。选择要比较的 XSR 对象后单击 Compare

图 14. 选择要比较的 XSR 对象
选择要比较的 XSR 对象

如果两个 XSR 对象都包含依赖关系,则填充依赖部分。用户每次只能选择一个文档。比如,用户可以选择主文档或者某个依赖文档进行比较。XSR Object Compare 下拉列表包含所有注册的模式。用户可使用该下拉菜单选择需要的模式。

在 XML Schema Repository Object Compare 对话框中,Diff 按钮可以让用户修改比较选项。比方说,如果用户选择 “Ignore comments”,则两个 XML 模式文档的注释部分不进行比较。

图 15.XSR Object Compare 选项
XSR Object Compare 选项

两个模式的差别保存在一个文件中,并用不同的颜色显示。差异被标记为:增加(added)、删除(removed)、修改(changed)、移动(moved from/to)和忽略(ignored)。

图 16. XSR 比较结果
XSR 比较结果

如果两个比较的 XSR 完全相同,则显示 “Files identical for the given options”。

从标注 XML 模式生成 Web 服务

DB2 V9.1 支持用户根据 XML 文档片断创建并注册标注 XML 模式,并在插入之前按照这些模式验证输入文档。这些改进作为 IBM Database Add-ins for Visual Studio 2005 V9.5 的一部分,提供了使用简单的映射设计器创建和注册标注 XML 模式的一种简便方式。使用映射设计器还可以为标注 XML 模式创建 Web 服务。标注 XML 模式在 DB2 XSR 中登记以后,可用于分解和验证 XML 文档。

从标注 XML 模式生成 Web 服务需要从 Server Explorer 选择 Generate Web Method。还需要打开一个 ASP.Net Web 服务项目来添加代码。生成的代码和 XML 设计器验证 XML 文档使用的代码(MS XSD 验证 API)是同一类。生成 Client XML 模式验证代码后,即生成一个类用于验证用户传递的文档。如图 17 所示:

图 17. 生成 Web 方法
生成 Web 方法

生成的代码显示在编辑器中,如图 18 所示:

图 18. 生成的 Web 方法
生成的 Web 方法

代码生成之后,可选择 F5(Start debustart 选项)进行测试,这样将打开包含 Service Description 和 Shred 方法的浏览器窗口。如图 19 所示:

图 19. 测试生成的代码
测试生成的代码

XSLT 支持的改进

Generate XML Helper Code 选项在 Solution Explorer 中创建一个包含示例代码的项目。这个新增特性为用户提供了示例代码,可作为编码的基础。该功能可从 Server Explorer 的 XML Schema Repository 节点中调用。只要选择 XML Schema Repository 并单击 Generate XML Helper Code 即可,如图 20 所示:

图 20. 生成示例代码
生成示例代码

图 21 显示了调用该功能生成的示例代码:

图 21. 生成的示例代码
生成的示例代码

生成的代码添加到新建项目 db2XmlHelperSample 中。生成的代码文件 XMLUtil.cs 包括 XSL Transformation 和验证代码。用户可以此为基础创建自己的应用程序。执行的时候,这段代码将显示一个对话框,显示 XML 转换和验证的例子。

图 22. 生成的对话框
生成的对话框

单击 Validate Sample 按钮将打开验证对话框和 XML 示例片断。单击 Transform Sample 按钮则显示格式化的报告。希望这个例子能够说明在应用程序中创建和使用代码是多么简单。

-

结束语

IBM Database Add-ins V9.5 对 XML 功能的新改进公开了最新的 DB2 pureXML 功能,使开发人员能够更快更方便地创建 DB2 应用程序。这些强大的功能将改善用户体验,充分利用 DB2 的 XML 功能。新的面向 Web 服务的特性为利用 DB2 丰富的 XML 功能和创建应用程序提供基本的构造块。

参考资料

学习

获得产品和技术

  • 下载 IBM 产品试用版 ,尝试 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 提供的应用程序开发工具和中间件产品。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, SOA and web services, XML
ArticleID=278978
ArticleTitle=DB2 9.5 提供给 .NET 开发的 XML 工具概述
publish-date=12242007