单一XML文档拆分示例

日期: 2010-01-12 作者:Matthias NicolaPav Kumar-Chatterjee翻译:冯昀晖 来源:TechTarget中国 英文

在你注册并启用了带有Annotations标记的XML Schema之后,你可以用“DECOMPOSE XML DOCUMENT”命令或者内建的存储过程分解XML文档。“DECOMPOSE XML DOCUMENT”命令在DB2命令行处理器(CLP)中用起来很方便,而存储过程可以在应用程序或者CLP中调用。CLP命令有两个输入参数:要分割的XML文档文件名和带Annotations标记schema的SQL识别符。请看下面的例子:   DECOMPOSE XML DOCUMENT /xml/mydocuments/cust01.xml   XMLSCHEMA db2admin.cust2xsd ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在你注册并启用了带有Annotations标记的XML Schema之后,你可以用“DECOMPOSE XML DOCUMENT”命令或者内建的存储过程分解XML文档。“DECOMPOSE XML DOCUMENT”命令在DB2命令行处理器(CLP)中用起来很方便,而存储过程可以在应用程序或者CLP中调用。CLP命令有两个输入参数:要分割的XML文档文件名和带Annotations标记schema的SQL识别符。请看下面的例子:

  DECOMPOSE XML DOCUMENT /xml/mydocuments/cust01.xml

  XMLSCHEMA db2admin.cust2xsd VALIDATE;

  关键字“VALIDATE”是可选的,它用来标识XML文档在分割过程中,是否需要被该schema验证。在分割过程中,DB2会遍历XML文档和带Annotations标记的schema文件,并检测基本的schema约束是否被违反,尽管没有指定“VALIDATE”关键字。例如,如果一个必填元素没有填写,尽管该元素不会被分割,而且“VALIDATE”关键字也没有指定,分割过程也会失败并报错。同样,无关元素或者数据类型违反也会引起分解失败。原因是分割过程会马上浏览一遍该带Annotations标记的XML Schema和示例文档,而且会“无条件”检测许多schema的非法属性,尽管XML解析器并没有执行验证。

  要从应用程序中分解XML文档,需要使用存储过程“XDBDECOPXML”。该存储过程的参数如下图11.12所示,参数详细说明在表11.6中。

  图11.12 存储过程“XDBDECOPXML”的语法和参数。

  表11.6 存储过程“XDBDECOPXML”的参数说明。

  下图11.13中展示了一段Java代码片段,其中使用了参数标记(“?”)调用了存储过程。

  图11.13 调用存储过程“XDBDECOMPXML”的Java代码段。

  如果在z/OS的DB2中,XML文档的输入参数是“CLOB AS LOCATOR”类型,在Linux,Unix和Windows版本的DB2中就是BLOB(1M)类型。如果你预计你的XML文档会大于1MB,那就使用表11.7中列出的一个存储过程。这些存储过程都是相等价的,除了他们的名称和输入的XML文档参数大小不同。在你调用存储过程的时候,DB2会根据声明的入参大小分配内存。例如,如果你的所有输入文档大小最多10MB,那存储过程“XDBDECOMPXML10MB”就是一个不错的选择,他可以最合理地利用内存。

  表11.7 不同大小的文档使用不同的存储过程(Linux,UNIX和Windows版本的DB2)。

  至于平台兼容性,z/OS的DB2支持存储过程“XDBDECOMPXML100MB”,入参与Linux,UNIX和Windows版本的DB2的相同,包括对参数的校验。

相关推荐

  • Oracle Hyperion 11.1.2.1 迁移特性与问题

    Oracle Hyperion 11.1.2.1包含可以简化移植的新工具,它们在很多情况下能够减少操作步骤。但还是有诸如Essbase Studio的一些问题必须在以后的版本中进行修复。

  • SQL Server 数据访问策略:CLR

    CLR在很大程度上解放了TSQL逻辑运算能力不足的问题,而且CLR拥有丰富的语言支持,C#,VB.NET等;在.Net Framework基础上,拥有复杂的过程逻辑和计算。

  • 在Oracle数据库中使用XML数据获取业务信息

    只需要通过从一个XML表中提取数据,我们就能发送XML格式化的采购订单给下游使用,这与需要更多转换步骤的多个关系型表才能实现形成明显对比。

  • 详解如何将关系型数据发布为XML

    抽取是通过使用XMLType视图实现的,本质上是物化为SQL执行的一个存储查询结果。XMLType视图允许文档为中心的应用程序把底层的关系结构查询为虚拟的XML文档。