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

http://www.itjxue.com  2015-07-17 09:25  来源:未知  点击次数: 

  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 声明:

  

 

  这个schema 声明定义了一个叫做Order 的XML元素,它必须包含叫做CustomerName和OrderTotal的子元素。此外,这个元素可以包含Order类型所属的命名空间之外的其它命名空间的无限制数目的其它元素。下面的XML显示了一个包含由这个schema 声明所定义的Order 元素的一个实例的XML文档。注意这个order 还包含了一个shp:Delivery 元素,它没有在schema中明确定义。

(责任编辑:IT教学网)

更多

推荐SQL Server文章