使用带批注的 XDR 架构创建 XML 视图
来源:互联网 发布时间:2008-09-04 14:24:00
可以使用 XDR(简化 XML-Data)架构创建关系数据的 XML 视图。然后可以使用 XPath 查询来查询这些视图。这类似于使用 CREATE VIEW 语句创建视图并指定对视图的 SQL 查询。
XML 架构描述 XML 文档的结构以及对文档中数据的不同约束。当指定对该架构的 XPath 查询时,返回的 XML 文档结构由对其执行 XPath 查询的架构确定。
在 Microsoft® SQL Server™ 2000 中,使用简化 XML-Data (XDR) 语言创建架构。XDR 是一种灵活的语言,它克服了用来描述文档结构的文档类型定义 (DTD) 的一些限制。与 DTD 不同,XDR 架构使用与 XML 文档相同的语法描述文档结构。 此外,在 DTD 中,所有数据内容均为字符数据。XDR 语言架构使您得以指定元素或特性的数据类型。
在 XDR 架构中,<Schema> 元素包含整个架构。作为 <Schema> 元素的属性,可以描述定义架构名称的特性和架构驻留的命名空间。在 XDR 语言中,所有元素声明都必须包含在 <Schema> 元素中。
最小的 XDR 架构如下:
<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data">
...
</Schema>
<Schema> 元素是从 xml-data 命名空间 (urn:schemas-microsoft-com:xml-data) 派生出的。
说明 本文档假设您熟悉 XML-Data 语言。
XDR 架构的批注
可以在 XDR 架构中使用对到数据库的映射进行描述的批注来查询该数据库,并以 XML 文档格式返回结果。SQL Server 2000 引入了许多批注,可以使用这些批注将 XDR 架构映射到数据库中的表和列。可以对 XDR 架构所创建的 XML 视图指定 XPath 查询,以查询数据库并获得 XML 格式的结果。
这是替代更复杂的 SQL 查询编写过程的方法,该方法使用 FOR XML EXPLICIT 模式将 XML 文档结构作为查询的一部分加以描述。有关在 SELECT 查询中使用 FOR XML EXPLICIT 模式的更多信息,请参见使用 EXPLICIT 模式。然而,为克服对映射架构上的 XPath 查询的大多数限制,请使用 FOR XML EXPLICIT 模式的 SQL 查询返回 XML 文档格式的结果。
如果拥有公用 XDR 架构(如 Microsoft BizTalk™ 架构),可以执行下列任一操作:
· 编写 FOR XML EXPLICIT 模式的查询,以便生成的数据对公用 XDR 架构有效;然而,编写 FOR XML EXPLICIT 查询可能比较麻烦。
· 制作公用 XDR 架构的专用复本。然后将批注添加到专用复本,从而生成映射架构。可以指定对映射架构的 XPath 查询。该查询所生成的是公用架构命名空间中的数据。与编写复杂的 FOR XML EXPLICIT 查询相比,创建带批注的架构并指定对该架构的 XPath 查询是一个简单得多的过程。下图说明了此过程。
说明 Microsoft BizTalk™ 框架旨在为常用商业对象(如合同、订单和约会)定义标准 XML 格式。这些商业架构复本可以在 http://biztalk.org/BizTalk/default.asp 中找到。
猜你喜欢
- 1、Select元素2、定位select方法一:二次定位先定位 select 框,再定位 select 里的选项但有时候选项是无法定位的,所
- 由于在模型训练的过程中存在大量的随机操作,使得对于同一份代码,重复运行后得到的结果不一致。因此,为了得到可重复的实验结果,我们需要对随机数生
- 本文实例为大家分享了python学生管理系统开发的具体代码,供大家参考,具体内容如下学生管理系统(基础版)#定义一个函数,显示可以使用的功能
- OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的
- python time模块计算时间之间的差距练习题1. 当前月1号对应的0点的时间戳# 定义一个当前月分的一号0点字符串格式的时间 now_
- 背景我们通常会遇到想简易搬迁一台设备的python开发环境到另外一台设备的情况,但可能我们另一台设备本身的python环境包括系统环境是不可
- 目录实际项目中遇到的需求有一些不好的实现方式个人感觉比较好的实现方式功能已实现,但我又开始了新的思考最终方案——高阶组件实际项目中遇到的需求
- 引言照例,我们先来一个场景~面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity
- 本文介绍了浅谈vue-lazyload实现的详细过程,分享给大家,也给自己留个笔记首先 ,在命令行输入npm install vue-laz
- python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指
- 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们
- 找到工具》选项》Designers》表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了
- 简介到目前为止,我们查阅anaconda的官网可发现,由于目前Anaconda没有支持arm架构的版本,在M1芯片Mac上安装的Anacon
- 此系列意在记录于一些有趣的程序及对其的总结。问题来源:https://github.com/Yixiaohan/show-me-the-co
- 如何修改被表单引用的ASP页面?formhandler.asp<HTML><BODY BGCOLOR="
- 在html里的每一个标签都有其自身的意义,而H标签作为标题标签,它的意义更是至关重要。对于H标签的用法特别是h1的用法一直是个争议的问题,也
- 简单低级的爬虫速度快,伪装度低,如果没有反爬机制,它们可以很快的抓取大量数据,甚至因为请求过多,造成服务器不能正常工作。而伪装度高的爬虫爬取
- 1 概要deque 是一个双端队列, 如果要经常从两端append 的数据, 选择这个数据结构就比较好了, 如果要实现随机访问,不建议用这个
- PHP作为开源语言,发展至今已有很多成熟的国内外开源系统,足以满足个人和企业用户自己建立WEB站点,下面则主要介绍PHP建站的流程和步骤。不
- php代码很简单:$server="127.0.0.1";println("Begin");$lin