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 及其用法。
前提条件
本文假设您在使用 db2 for linux®、unix® and windows® v9.5。还需要安装 ibm database add-ins for visual studio 2005 v9.5。可通过下列方式安装 add-ins 工具:
下载 db2 v9.5 client
下载 db2 for linux、unix 或 windows v9.5
要了解 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 功能是 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 模式
打开的对话框包括三个选项,如图 2 所示。选择 use document from a web service 创建新的带标注 xml 模式。
图 2. 选择 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 模式就会显示在 server explorer 的 xml schema repository 节点中。
新建的标准 xml 模式有多种选项。图 11 显示各种不同的选项:
图 11. server explorer 中的标注 xml 模式定义
如果像上图那样选择 “open definition”,将看到图 12 所示的结果。图 12 显示了所选标注模式的定义。其中包括 xml 模式文件名、xsr 名、所有者、分解和各种依赖关系。
图 12. 查看标注 xml 模式的定义
|||
xml 模式资料库比较
跟踪 xml 模式的变化或更新不但困难,而且颇费时间。为此,v9.5 增加了比较 xml schemas 的功能。用户可以选择一个 xml 模式,然后在上下文菜单中选择 compare xml schemas。该选项比较模式,并在操作过程中提示用户两者的差别。
图 13. xml schema repository 比较
要比较的模式可在 xsr object compare 对话框中选择,如图 14 所示。用户可以定义原 xsr 对象并选择其依赖关系、要比较的 xsr 及其依赖关系。选择要比较的 xsr 对象后单击 compare。
图 14. 选择要比较的 xsr 对象
如果两个 xsr 对象都包含依赖关系,则填充依赖部分。用户每次只能选择一个文档。比如,用户可以选择主文档或者某个依赖文档进行比较。xsr object compare 下拉列表包含所有注册的模式。用户可使用该下拉菜单选择需要的模式。
在 xml schema repository object compare 对话框中,diff 按钮可以让用户修改比较选项。比方说,如果用户选择 “ignore comments”,则两个 xml 模式文档的注释部分不进行比较。
图 15.xsr object compare 选项
两个模式的差别保存在一个文件中,并用不同的颜色显示。差异被标记为:增加(added)、删除(removed)、修改(changed)、移动(moved from/to)和忽略(ignored)。
图 16. 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 方法
生成的代码显示在编辑器中,如图 18 所示:
图 18. 生成的 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 功能和创建应用程序提供基本的构造块。
新闻热点
疑难解答