可以使用 XDR(簡化 XML-Data)架構創建關系數據的 XML 視圖。然后可以使用 XPath 查詢來查詢這些視圖。這類似于使用 CREATE VIEW 語句創建視圖并指定對視圖的 SQL 查詢。
XML 架構描述 XML 文檔的結構以及對文檔中數據的不同約束。當指定對該架構的 XPath 查詢時,返回的 XML 文檔結構由對其執行 XPath 查詢的架構確定。
在 Microsoft® SQL Server™ 2000 中,使用簡化 XML-Data (XDR) 語言創建架構。XDR 是一種靈活的語言,它克服了用來描述文檔結構的文檔類型定義 (DTD) 的一些限制。與 DTD 不同,XDR 架構使用與 XML 文檔相同的語法描述文檔結構。 此外,在 DTD 中,所有數據內容均為字符數據。XDR 語言架構使您得以指定元素或特性的數據類型。
在 XDR 架構中,<Schema> 元素包含整個架構。作為 <Schema> 元素的屬性,可以描述定義架構名稱的特性和架構駐留的命名空間。在 XDR 語言中,所有元素聲明都必須包含在 <Schema> 元素中。
最小的 XDR 架構如下:
|
<Schema> 元素是從 xml-data 命名空間 (urn:schemas-microsoft-com:xml-data) 派生出的。
說明 本文檔假設您熟悉 XML-Data 語言。
XDR 架構的批注
可以在 XDR 架構中使用對到數據庫的映射進行描述的批注來查詢該數據庫,并以 XML 文檔格式返回結果。SQL Server 2000 引入了許多批注,可以使用這些批注將 XDR 架構映射到數據庫中的表和列。可以對 XDR 架構所創建的 XML 視圖指定 XPath 查詢,以查詢數據庫并獲得 XML 格式的結果。
這是替代更復雜的 SQL 查詢編寫過程的方法,該方法使用 FOR XML EXPLICIT 模式將 XML 文檔結構作為查詢的一部分加以描述。有關在 SELECT 查詢中使用 FOR XML EXPLICIT 模式的更多信息,請參見使用 EXPLICIT 模式。然而,為克服對映射架構上的 XPath 查詢的大多數限制,請使用 FOR XML EXPLICIT 模式的 SQL 查詢返回 XML 文檔格式的結果。
如果擁有公用 XDR 架構(如 Microsoft BizTalk™ 架構),可以執行下列任一操作:
· 編寫 FOR XML EXPLICIT 模式的查詢,以便生成的數據對公用 XDR 架構有效;然而,編寫 FOR XML EXPLICIT 查詢可能比較麻煩。
· 制作公用 XDR 架構的專用復本。然后將批注添加到專用復本,從而生成映射架構。可以指定對映射架構的 XPath 查詢。該查詢所生成的是公用架構命名空間中的數據。與編寫復雜的 FOR XML EXPLICIT 查詢相比,創建帶批注的架構并指定對該架構的 XPath 查詢是一個簡單得多的過程。下圖說明了此過程。
說明 Microsoft BizTalk™ 框架旨在為常用商業對象(如合同、訂單和約會)定義標準 XML 格式。這些商業架構復本可以在 http://biztalk.org/BizTalk/default.asp 中找到。
新聞熱點
疑難解答