• DB2 9 使用启示(733 检验)认证指南,第 3 部分: XML 数据把持(5)


    经过议定使用法式存储和检索 XML
    developerWorks








    XML 文档的验证

    概念

    XML 文档在机关上比关系表要灵活得多。关系表有结实的机关,SELECT 语句正是寄予于如许的结实机关。关系表有实在数量的列,每个列有特定的数据类型。而 XML 文档则的确完全反过去。它在每个细节方面都是可变的 -- 节点称号、条理深度、数据类型、属性等等。盘问编写者需求知道 XML 数据的机关。在 XML 中,为了整洁地供应数据,有一个验证(validation) 的概念,这个概念由 XML 方式 供应。

    XML 方式就像是其余 XML 文档的划定规矩书。它注重描绘 XML 文档中什么是答应的 —— 节点称号、节点次序、属性、数据类型、可选还是必需等等。DB2 关系数据库中与之对应的是 SYSCAT.COLUMNS。 XML 方式自己也是 XML 文档,其机关有专门的规矩。 顺服 XML 方式的划定规矩的 XML 文档称为可经过议定验证的(validated)合理的(valid)





    回页首



    若何验证

    在 XML 类型的一个数据库列中,每一行包括一个一切的 XML 文档(大概一个 null 值)。谁人文档要么是合理的,要么不是合理的。验证经过议定函数 XMLVALIDATE() 来施行。为了施行验证,必需起首在数据库中注册适当的 XML Schema Documents (XSD)。然后才可以运用 XMLVALIDATE() 函数。该函数接受一个 XML 文档作为输出,其余还接受适当 XML 方式的标识,然后前往一个经过议定验证的 XML 文档。

    验证 XML 列中的 XML 文档的方法(留心没有 网罗 LOAD):

    • INSERT 语句: 运用 XMLVALIDATE()
    • UPDATE 语句: 运用 XMLVALIDATE()
    • IMPORT 语句: 有用于验证的语法

    文章 "Get off to a fast start with DB2 Viper" (developerWorks,2006 年 3 月)中有一个一切的例子演示了若何注册一个 XML 方式并运用 XMLVALIDATE()





    回页首



    用于验证的测试

    可以用谓词 VALIDATED 对 XML 列中断测试,以确定它能否包括合理的 XML 文档。

    例 1: 假定列 XMLCOL 定义在表 T1 中。面前目今当今只检索能经过议定任何 XML 方式验证的 XML 值。

       SELECT xmlcol
       FROM
              t1
       WHERE
              xmlcol IS VALIDATED
      


    例 2: 假定列 XMLCOL 定义在表 T1 中。面前目今当今对其施加划定规矩,规矩只能拔出或更新已经过议定验证的值。

       ALTER TABLE t1
         ADD CONSTRAINT ck_validated
           CHECK (xmlcol IS VALIDATED)
      


    留心,该束缚用随便 XML 方式搜检 XML 列能否合理。 不能规矩用一个特定的方式中断验证。

    为了发现运用了哪个特定的 XML 方式来验证 XML 文档,可以运用 XMLXSROBJECTID() 函数。它前往 SYSCAT.XSROBJECTS 表中一行的键。




    版权声明: 原创作品,答应转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。否则将追查法律责任。

  • 相关阅读:
    爬虫案例
    伪静态
    HTTP0.9、HTTP1.0、HTTP1.1、HTTP2的区别
    正向代理和反向代理
    数据结构继承
    APP 爬虫
    算法基础
    matplotlib
    Java类加载机制及自定义加载器
    SpringBoot war包部署到Tomcat服务器
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1972860.html
Copyright © 2020-2023  润新知