程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008 中有關XML的新功能(4)

SQL Server 2008 中有關XML的新功能(4)

編輯:關於SqlServer


  2.3 SQL Server 2008中的XML功能

  XML功能是在SQL Server 2000和SQL Server 2005中推出的,在SQL Server 2008中得到了增強。在SQL Server 2008中主要的與XML相關的改進包括:

  · 改進了schema 驗證能力

  · 增強了對XQuery 的支持

  · 增強了XML數據操縱語言(DML)的插入功能

  本篇白皮書的其余部分描述了這些增強之處,並介紹了你怎樣在SQL Server 2008中使用它們來實現更好的XML解決方案。

  3 增強了XML Schema驗證功能

  你可以使用一個或多個XSD schema執行遵從性檢查,以此來驗證XML數據。一個schema為某個特定的XML數據結構定義被允許的XML元素和屬性,並通常用於確保XML文檔按正確的結構包含進了所要求的所有數據元素。

  SQL Server 2005推出了通過使用XML schema 集合來進行XML數據驗證。一般的方法是使用CREATE XML SCHEMA COLLECTION語句創建包含了針對你的XML數據的schema 規則的schema集合,然後當你要定義一個必須符合這個schema 集合中的schema 規則的XML字段或變量時參照這個schema集合名稱。然後SQL Server會按照這個schema集合中的schema規則來驗證插入或更新進這個字段或變量的所有數據。

  在SQL Server 2005中的XML Schema支持實現了一個廣泛的純XML Schema規格的子集,並涵蓋了最常見的XML驗證場景。SQL Server 2008擴展了這個支持,使得它包含下面新增加的由客戶確定的schema 驗證要求:

  · 對lax 驗證的支持

  · 對dateTime、time和date 驗證的完全支持,包括時區信息的保存。

  · 改進了對union和list類型的支持

  3.1 支持Lax驗證

  XML Schema通過使用any、anyAttribute和anyType聲明來支持XML文檔中的通配符。例如,看看下面的XML schema 聲明:

<xs:complexType name="Order" mixed="true">
  <xs:sequence>
    <xs:element name="CustomerName"/>
    <xs:element name="OrderTotal"/>
    <xs:any namespace="##other" processContents="skip"
minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>
  

 

  這個schema 聲明定義了一個叫做Order 的XML元素,它必須包含叫做CustomerName和OrderTotal的子元素。此外,這個元素可以包含Order類型所屬的命名空間之外的其它命名空間的無限制數目的其它元素。下面的XML顯示了一個包含由這個schema 聲明所定義的Order 元素的一個實例的XML文檔。注意這個order 還包含了一個shp:Delivery 元素,它沒有在schema中明確定義。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved