科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 2008中有关XML的新功能

SQL Server 2008中有关XML的新功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果。

作者: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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章