ibm® database tools for microsoft® visual studio 2005 引入一組新的面向 web 服務(wù)的特性,公開(kāi)了最新的 db2® purexml™ 功能。新版本可以大大提高開(kāi)發(fā)人員的生產(chǎn)率。新的 ibm database add-ins for visual studio 2005 提供的一些新特性簡(jiǎn)化了 purexml 的使用。這些特性包括從帶標(biāo)注的 xml 模式創(chuàng)建 web 服務(wù)、xsr 比較和 xsr xslt 支持。本文介紹了 ibm xml tools for db2 version 9.5 及其用法。
前提條件
本文假設(shè)您在使用 db2 for linux®、unix® and windows® v9.5。還需要安裝 ibm database add-ins for visual studio 2005 v9.5。可通過(guò)下列方式安裝 add-ins 工具:
下載 db2 v9.5 client
下載 db2 for linux、unix 或 windows v9.5
要了解 ibm database add-ins for visual studio 的一般特性,請(qǐng)閱讀 “overview of ibm database add-ins for visual studio 2005” 和 “develop proof-of-concepts .net applications” 系列教程(請(qǐng)參閱 參考資料)。
xml 支持
db2 v9.1 增加了管理、存儲(chǔ)和查詢(xún) xml 數(shù)據(jù)的新特性。其中包括:
這些 xml 功能是 ibm database add-ins v9.5 新版本的一部分。對(duì)標(biāo)注 xml schema、xml schema repository (xsr) compare 和 xslt support 這些 web 服務(wù)的支持則屬于 v9.5。這些改進(jìn)增強(qiáng)了 xml 特性的可用性,幫助開(kāi)發(fā)人員提高生產(chǎn)率。
標(biāo)注 xml 模式創(chuàng)建 web 服務(wù)的支持
新版本增加了使用 web 服務(wù)作為 xml 模式源的功能。xml 模式可以從 web 服務(wù)的 wsdl 結(jié)果中推導(dǎo)出來(lái)。新版本增加一個(gè)選項(xiàng),定義 web 服務(wù)作為 xml 模式來(lái)源的輸入,如 圖 2 所示。上一版本中只能使用注冊(cè)的 xml 模式或者來(lái)自文件的文檔作為輸入。要使用 web 輸入作為 xml 模式源,可按如下步驟操作:
在 server explorer 中右鍵單擊 xml schema repository 并選擇 add annotated xml schema,如圖 1 所示:
圖 1. 添加帶標(biāo)注的 xml 模式
打開(kāi)的對(duì)話(huà)框包括三個(gè)選項(xiàng),如圖 2 所示。選擇 use document from a web service 創(chuàng)建新的帶標(biāo)注 xml 模式。
圖 2. 選擇 xml 模式源
輸入 web 服務(wù),單擊 validate wsdl 按鈕驗(yàn)證 web 服務(wù)。驗(yàn)證 wsdl 之后可以選擇根節(jié)點(diǎn)創(chuàng)建帶標(biāo)注的 xml schema,如圖 3 所示:
圖 3. 選擇根元素
右鍵單擊對(duì)話(huà)框添加目標(biāo)表。選擇 add target table 打開(kāi)包含一組表的對(duì)話(huà)框。
圖 4. 添加目標(biāo)表
在 mapping editor 中選擇一個(gè)表將 source xml schema 中的列映射到目標(biāo)表。圖 5 顯示了映射的列:
圖 5. 映射列
一旦完成映射,即可通過(guò) test 選項(xiàng)檢查設(shè)計(jì),確保源模式和目標(biāo)表映射正確。如圖 6 所示:
圖 6. 檢查設(shè)計(jì)
可以通過(guò) view source 查看生成的源代碼。選擇 text editor 或 xml designer 查看代碼,如下所示:
圖 7.查看源代碼
生成的代碼如圖 8 所示:
圖 8. 生成的代碼
可以定義源 xml 文件,或者在 test form 中使用編輯器定義 xml。可定義 web 服務(wù)檢驗(yàn)創(chuàng)建的標(biāo)注 xml 模式。
test form 對(duì)話(huà)框顯示測(cè)試操作的結(jié)果。如圖 9 所示:
圖 9. 測(cè)試窗口
設(shè)計(jì)檢查完成后,可在 visual studio 中選擇 save 并保存到數(shù)據(jù)庫(kù)中。
單擊 save 打開(kāi) register annotated xml schema 對(duì)話(huà)框,在這里可定義 xsr 名稱(chēng)、所有者、說(shuō)明、模式位置和分解選項(xiàng)。如圖 10 所示:
圖 10. 登記標(biāo)注 xml 模式
完成保存操作后,注冊(cè)的 xml 模式就會(huì)顯示在 server explorer 的 xml schema repository 節(jié)點(diǎn)中。
新建的標(biāo)準(zhǔn) xml 模式有多種選項(xiàng)。圖 11 顯示各種不同的選項(xiàng):
圖 11. server explorer 中的標(biāo)注 xml 模式定義
如果像上圖那樣選擇 “open definition”,將看到圖 12 所示的結(jié)果。圖 12 顯示了所選標(biāo)注模式的定義。其中包括 xml 模式文件名、xsr 名、所有者、分解和各種依賴(lài)關(guān)系。
圖 12. 查看標(biāo)注 xml 模式的定義
|||
xml 模式資料庫(kù)比較
跟蹤 xml 模式的變化或更新不但困難,而且頗費(fèi)時(shí)間。為此,v9.5 增加了比較 xml schemas 的功能。用戶(hù)可以選擇一個(gè) xml 模式,然后在上下文菜單中選擇 compare xml schemas。該選項(xiàng)比較模式,并在操作過(guò)程中提示用戶(hù)兩者的差別。
圖 13. xml schema repository 比較
要比較的模式可在 xsr object compare 對(duì)話(huà)框中選擇,如圖 14 所示。用戶(hù)可以定義原 xsr 對(duì)象并選擇其依賴(lài)關(guān)系、要比較的 xsr 及其依賴(lài)關(guān)系。選擇要比較的 xsr 對(duì)象后單擊 compare。
圖 14. 選擇要比較的 xsr 對(duì)象
如果兩個(gè) xsr 對(duì)象都包含依賴(lài)關(guān)系,則填充依賴(lài)部分。用戶(hù)每次只能選擇一個(gè)文檔。比如,用戶(hù)可以選擇主文檔或者某個(gè)依賴(lài)文檔進(jìn)行比較。xsr object compare 下拉列表包含所有注冊(cè)的模式。用戶(hù)可使用該下拉菜單選擇需要的模式。
在 xml schema repository object compare 對(duì)話(huà)框中,diff 按鈕可以讓用戶(hù)修改比較選項(xiàng)。比方說(shuō),如果用戶(hù)選擇 “ignore comments”,則兩個(gè) xml 模式文檔的注釋部分不進(jìn)行比較。
圖 15.xsr object compare 選項(xiàng)
兩個(gè)模式的差別保存在一個(gè)文件中,并用不同的顏色顯示。差異被標(biāo)記為:增加(added)、刪除(removed)、修改(changed)、移動(dòng)(moved from/to)和忽略(ignored)。
圖 16. xsr 比較結(jié)果
如果兩個(gè)比較的 xsr 完全相同,則顯示 “files identical for the given options”。
從標(biāo)注 xml 模式生成 web 服務(wù)
db2 v9.1 支持用戶(hù)根據(jù) xml 文檔片斷創(chuàng)建并注冊(cè)標(biāo)注 xml 模式,并在插入之前按照這些模式驗(yàn)證輸入文檔。這些改進(jìn)作為 ibm database add-ins for visual studio 2005 v9.5 的一部分,提供了使用簡(jiǎn)單的映射設(shè)計(jì)器創(chuàng)建和注冊(cè)標(biāo)注 xml 模式的一種簡(jiǎn)便方式。使用映射設(shè)計(jì)器還可以為標(biāo)注 xml 模式創(chuàng)建 web 服務(wù)。標(biāo)注 xml 模式在 db2 xsr 中登記以后,可用于分解和驗(yàn)證 xml 文檔。
從標(biāo)注 xml 模式生成 web 服務(wù)需要從 server explorer 選擇 generate web method。還需要打開(kāi)一個(gè) asp.net web 服務(wù)項(xiàng)目來(lái)添加代碼。生成的代碼和 xml 設(shè)計(jì)器驗(yàn)證 xml 文檔使用的代碼(ms xsd 驗(yàn)證 api)是同一類(lèi)。生成 client xml 模式驗(yàn)證代碼后,即生成一個(gè)類(lèi)用于驗(yàn)證用戶(hù)傳遞的文檔。如圖 17 所示:
圖 17. 生成 web 方法
生成的代碼顯示在編輯器中,如圖 18 所示:
圖 18. 生成的 web 方法
代碼生成之后,可選擇 f5(start debustart 選項(xiàng))進(jìn)行測(cè)試,這樣將打開(kāi)包含 service description 和 shred 方法的瀏覽器窗口。如圖 19 所示:
圖 19. 測(cè)試生成的代碼
xslt 支持的改進(jìn)
generate xml helper code 選項(xiàng)在 solution explorer 中創(chuàng)建一個(gè)包含示例代碼的項(xiàng)目。這個(gè)新增特性為用戶(hù)提供了示例代碼,可作為編碼的基礎(chǔ)。該功能可從 server explorer 的 xml schema repository 節(jié)點(diǎn)中調(diào)用。只要選擇 xml schema repository 并單擊 generate xml helper code 即可,如圖 20 所示:
圖 20. 生成示例代碼
圖 21 顯示了調(diào)用該功能生成的示例代碼:
圖 21. 生成的示例代碼
生成的代碼添加到新建項(xiàng)目 db2xmlhelpersample 中。生成的代碼文件 xmlutil.cs 包括 xsl transformation 和驗(yàn)證代碼。用戶(hù)可以此為基礎(chǔ)創(chuàng)建自己的應(yīng)用程序。執(zhí)行的時(shí)候,這段代碼將顯示一個(gè)對(duì)話(huà)框,顯示 xml 轉(zhuǎn)換和驗(yàn)證的例子。
圖 22. 生成的對(duì)話(huà)框
單擊 validate sample 按鈕將打開(kāi)驗(yàn)證對(duì)話(huà)框和 xml 示例片斷。單擊 transform sample 按鈕則顯示格式化的報(bào)告。希望這個(gè)例子能夠說(shuō)明在應(yīng)用程序中創(chuàng)建和使用代碼是多么簡(jiǎn)單。
結(jié)束語(yǔ)
ibm database add-ins v9.5 對(duì) xml 功能的新改進(jìn)公開(kāi)了最新的 db2 purexml 功能,使開(kāi)發(fā)人員能夠更快更方便地創(chuàng)建 db2 應(yīng)用程序。這些強(qiáng)大的功能將改善用戶(hù)體驗(yàn),充分利用 db2 的 xml 功能。新的面向 web 服務(wù)的特性為利用 db2 豐富的 xml 功能和創(chuàng)建應(yīng)用程序提供基本的構(gòu)造塊。
新聞熱點(diǎn)
疑難解答
圖片精選