前提條件
本文假設您在使用 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 功能是 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 所示:
打開的對話框包括三個選項,如圖 2 所示。選擇 Use document from a web service 創建新的帶標注 XML 模式。
輸入 Web 服務,單擊 Validate wsdl 按鈕驗證 Web 服務。驗證 WSDL 之後可以選擇根節點創建帶標注的 XML Schema,如圖 3 所示:
右鍵單擊對話框添加目標表。選擇 Add Target Table 打開包含一組表的對話框。
在 Mapping Editor 中選擇一個表將 Source XML Schema 中的列映射到目標表。圖 5 顯示了映射的列:
一旦完成映射,即可通過 Test 選項檢查設計,確保源模式和目標表映射正確。如圖 6 所示:
可以通過 VIEw Source 查看生成的源代碼。選擇 Text Editor 或 XML Designer 查看代碼,如下所示:
生成的代碼如圖 8 所示:
可以定義源 XML 文件,或者在 Test Form 中使用編輯器定義 XML。可定義 Web 服務檢驗創建的標注 XML 模式。
Test Form 對話框顯示測試操作的結果。如圖 9 所示:
設計檢查完成後,可在 Visual Studio 中選擇 Save 並保存到數據庫中。
單擊 Save 打開 Register annotated XML schema 對話框,在這裡可定義 XSR 名稱、所有者、說明、模式位置和分解選項。如圖 10 所示:
完成保存操作後,注冊的 XML 模式就會顯示在 Server Explorer 的 XML Schema Repository 節點中。
新建的標准 XML 模式有多種選項。圖 11 顯示各種不同的選項:
如果像上圖那樣選擇 “Open definition”,將看到圖 12 所示的結果。圖 12 顯示了所選標注模式的定義。其中包括 XML 模式文件名、XSR 名、所有者、分解和各種依賴關系。
XML 模式資料庫比較
跟蹤 XML 模式的變化或更新不但困難,而且頗費時間。為此,V9.5 增加了比較 XML Schemas 的功能。用戶可以選擇一個 XML 模式,然後在上下文菜單中選擇 Compare XML Schemas。該選項比較模式,並在操作過程中提示用戶兩者的差別。
要比較的模式可在 XSR Object Compare 對話框中選擇,如圖 14 所示。用戶可以定義原 XSR 對象並選擇其依賴關系、要比較的 XSR 及其依賴關系。選擇要比較的 XSR 對象後單擊 Compare。
如果兩個 XSR 對象都包含依賴關系,則填充依賴部分。用戶每次只能選擇一個文檔。比如,用戶可以選擇主文檔或者某個依賴文檔進行比較。XSR Object Compare 下拉列表包含所有注冊的模式。用戶可使用該下拉菜單選擇需要的模式。
在 XML Schema Repository Object Compare 對話框中,Diff 按鈕可以讓用戶修改比較選項。比方說,如果用戶選擇 “Ignore comments”,則兩個 XML 模式文檔的注釋部分不進行比較。
兩個模式的差別保存在一個文件中,並用不同的顏色顯示。差異被標記為:增加(added)、刪除(removed)、修改(changed)、移動(moved from/to)和忽略(ignored)。
如果兩個比較的 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 所示:
生成的代碼顯示在編輯器中,如圖 18 所示:
代碼生成之後,可選擇 F5(Start debustart 選項)進行測試,這樣將打開包含 Service Description 和 Shred 方法的浏覽器窗口。如圖 19 所示:
XSLT 支持的改進
Generate XML Helper Code 選項在 Solution Explorer 中創建一個包含示例代碼的項目。這個新增特性為用戶提供了示例代碼,可作為編碼的基礎。該功能可從 Server Explorer 的 XML Schema Repository 節點中調用。只要選擇 XML Schema Repository 並單擊 Generate XML Helper Code 即可,如圖 20 所示:
圖 21 顯示了調用該功能生成的示例代碼:
生成的代碼添加到新建項目 db2XmlHelperSample 中。生成的代碼文件 XMLUtil.cs 包括 XSL Transformation 和驗證代碼。用戶可以此為基礎創建自己的應用程序。執行的時候,這段代碼將顯示一個對話框,顯示 XML 轉換和驗證的例子。
單擊 Validate Sample 按鈕將打開驗證對話框和 XML 示例片斷。單擊 Transform Sample 按鈕則顯示格式化的報告。希望這個例子能夠說明在應用程序中創建和使用代碼是多麼簡單。
-
結束語
IBM Database Add-ins V9.5 對 XML 功能的新改進公開了最新的 DB2 pureXML 功能,使開發人員能夠更快更方便地創建 DB2 應用程序。這些強大的功能將改善用戶體驗,充分利用 DB2 的 XML 功能。新的面向 Web 服務的特性為利用 DB2 豐富的 XML 功能和創建應用程序提供基本的構造塊。