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