扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:IT专家网 戴羽 来源:天新网 2008年3月25日
关键字: 数据库 Mssql SQL SQL Server
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中明确定义。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者