您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用帶批注的XDR架構創建 XML 視圖,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
可以使用 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 架構如下:
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data"> ... </Schema> <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 中找到。
映射架構
在關系數據庫的上下文中,將任意的 XDR 架構映射到關系存儲是非常有用的。達到此目的的一個方法是對 XDR 架構進行批注。帶批注的 XDR 架構稱為"映射架構",它提供了關于如何將 XML 數據映射到關系存儲的信息。映射架構實際上是關系數據的 XML 視圖。可以使用這些映射檢索 XML 文檔格式的關系數據。
Microsoft SQL Server 2000 引入了許多批注,可以在 XDR 架構中使用這些批注,將元素和特性映射到數據庫表和列。可以使用 XPath(XML 路徑)指定對映射架構(XML 視圖)的查詢。映射架構描述了最后所得到的文檔結構。
批注的命名空間
在 XDR 架構中,使用下面的命名空間指定批注:urn:schemas-microsoft-com:xml-sql。
下例顯示指定命名空間的最簡單方法是在 <Schema> 標記中指定它。urn:schemas-microsoft-com:xml-sql 命名空間的批注必須是由命名空間限定的。
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:sql="urn:schemas-microsoft-com:xml-sql" > ........... </Schema>
所用的命名空間前綴是任意的。 在本文檔中,sql 前綴用于表示批注命名空間和使此命名空間中的批注區別于其它命名空間中的批注。
數據類型的命名空間
XDR 架構使您得以指定元素或特性的數據類型。使用下面的命名空間指定數據類型: urn:schemas-microsoft-com:datatypes。
以下是帶有命名空間聲明的最小 XDR 架構:
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:sql="urn:schemas-microsoft-com:xml-sql" xmlns:dt="urn:schemas-microsoft-com:datatypes"> ... </Schema>
所用的命名空間前綴是任意的。 在本文檔中,dt 前綴用于表示數據類型命名空間和使此命名空間中的批注區別于其它命名空間中的批注。
<Schema> 元素來源于 xml-data 命名空間:urn:schemas-microsoft-com:xml-data。
XDR 架構示例
下例顯示如何將批注添加到 XDR 架構中。XDR 架構由 <Employee> 元素和 EmpID、Fname 及 Lname 特性組成。
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="Employee" > <AttributeType name="EmpID" /> <AttributeType name="FName" /> <AttributeType name="LName" /> <attribute type="EmpID" /> <attribute type="FName" /> <attribute type="LName" /> </ElementType> </Schema>
現在,將批注添加到此 XDR 架構中,使架構的元素和特性映射到數據庫的表和列。 帶批注的 XDR 架構如下:
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="Employee" sql:relation="Employees" > <AttributeType name="EmpID" /> <AttributeType name="FName" /> <AttributeType name="LName" /> <attribute type="EmpID" sql:field="EmployeeID" /> <attribute type="FName" sql:field="FirstName" /> <attribute type="LName" sql:field="LastName" /> </ElementType> </Schema>
在此映射架構中,使用 sql:relation 批注將 <Employee> 元素映射到 Employees 表。使用 sql:field 批注將特性 EmpID、Fname 和 Lname 映射到 Employees 表中的 EmployeeID、FirstName 和 LastName 列。
此帶批注的 XDR 架構提供關系數據的 XML 視圖。使用 Xpath(XML 路徑)語言可以查詢該 XML 視圖。Xpath 查詢返回 XML 文檔形式的結果,而不是 SQL 查詢所返回的行集。
說明 在映射架構中,指定的關系值(如表名和列名)區分大小寫。
以上是“如何使用帶批注的XDR架構創建 XML 視圖”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。