XDR

XDR是SunSoft的開放網路計算環境的一種功能。XDR提供了一種與體系結構無關的表示數據,解決了數據位元組排序的差異、數據位元組大小、數據表示和數據對準的方式。使用XDR的應用程式,可以在異構硬體系統上交換數據。從SunSoft使得可以免費獲得RPC/XDR規範和原始碼

基本介紹

  • 中文名:XDR
  • 外文名:XDR
  • 類型:網際網路
  • 屬於:分散式程式設計
外部數據,技術,數據,年份,模型,類型,分類,映射架構,使用,批註,命名,空間,數據,示例,說明,

外部數據

External Data Representation(XDR)
外部數據表示法(XDR) 是在OSI模型表示層presentation layer中實現。XDR允許把數據包裝在獨立於介質的結構中使得數據可以在異構的計算機系統中傳輸。從局部表示轉換到XDR稱為編碼,從XDR轉換到局部表示稱為解碼。XDR使用軟體來完成變換,所以在不同的作業系統中可以靈活的運用。另外,XDR還是獨立於傳輸層的transport layer。Sun的遠端程式呼叫RPC就是使用XDR。

技術

進行RPC編程的基礎。

數據

年份

外部數據表示法(External Data Representation,縮寫為XDR) 是一個在1995年制定的IETF標準協定。

模型

OSI模型表示層presentation layer中實現。XDR允許把數據包裝在獨立於介質的結構中使得數據可以在異構的計算機系統中傳輸。從局部表示轉換到XDR稱為編碼,從XDR轉換到局部表示稱為解碼。XDR使用軟體來完成變換,所以在不同的作業系統中可以靈活的運用。另外,XDR還是獨立於傳輸層的transport layer。Sun的遠端程式呼叫RPC就是使用XDR

類型

布爾
字元
短整型
整型
長整型
浮點
雙精度浮點
枚舉
結構
字元串
固定長度數組
可變長度數組
聯合
opaque data
2.XML Data Reduced(XDR):XML數據簡化
XDR是XML模式(XML Schema)的簡化版本。IE5.0+瀏覽器支持XDR。

分類

網際網路標準 | 網際協定 | 數據序列化格式

映射架構

在關係資料庫的上下文中,將任意的 XDR 架構映射到關係存儲是非常有用的。達到此目的的一個方法是對 XDR 架構進行批註。帶批註的 XDR 架構稱為"映射架構",它提供了關於如何將 XML 數據映射到關係存儲的信息。映射架構實際上是關係數據的 XML 視圖。可以使用這些映射檢索 XML 文檔格式的關係數據。
Microsoft SQL Server 2000 引入了許多批註,可以在 XDR 架構中使用這些批註,將元素和特性映射到資料庫表和列。可以使用 XPath(XML 路徑)指定對映射架構(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 架構中, 元素包含整個架構。作為 元素的屬性,可以描述定義架構名稱的特性和架構駐留的命名空間。在 XDR 語言中,所有元素聲明都必須包含在 元素中。
最小的 XDR 架構如下:
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data">
...
</Schema>
<Schema> 元素是從 xml-data 命名空間 (urn:schemas-microsoft-com:xml-data) 派生出的。

批註

可以在 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 格式。這些商業架構複本可以在微軟biztalk官網中找到。

命名

空間

在 XDR 架構中,使用下面的命名空間指定批註:urn:schemas-microsoft-com:xml-sql。
下例顯示指定命名空間的最簡單方法是在 標記中指定它。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 前綴用於表示數據類型命名空間和使此命名空間中的批註區別於其它命名空間中的批註。
元素來源於 xml-data 命名空間:urn:schemas-microsoft-com:xml-data。

示例

下例顯示如何將批註添加到 XDR 架構中。XDR 架構由 元素和 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 批註將 元素映射到 Employees 表。使用 sql:field 批註將特性 EmpID、Fname 和 Lname 映射到 Employees 表中的 EmployeeID、FirstName 和 LastName 列。
此帶批註的 XDR 架構提供關係數據的 XML 視圖。使用 Xpath(XML 路徑)語言可以查詢該 XML 視圖。Xpath 查詢返回 XML 文檔形式的結果,而不是 SQL 查詢所返回的行集。

說明

在映射架構中,指定的關係值(如表名和列名)區分大小寫。

相關詞條

熱門詞條

聯絡我們