使用带批注的 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&trade; 架构),可以执行下列任一操作: 

&middot; 编写 FOR XML EXPLICIT 模式的查询,以便生成的数据对公用 XDR 架构有效;然而,编写 FOR XML EXPLICIT 查询可能比较麻烦。 

&middot; 制作公用 XDR 架构的专用复本。然后将批注添加到专用复本,从而生成映射架构。可以指定对映射架构的 XPath 查询。该查询所生成的是公用架构命名空间中的数据。与编写复杂的 FOR XML EXPLICIT 查询相比,创建带批注的架构并指定对该架构的 XPath 查询是一个简单得多的过程。下图说明了此过程。 
 
 
说明  Microsoft BizTalk&trade; 框架旨在为常用商业对象(如合同、订单和约会)定义标准 XML 格式。这些商业架构复本可以在 http://biztalk.org/BizTalk/default.asp 中找到。

标签:
0
投稿

猜你喜欢

  • SQL Server连接中经常出现的3个常见错误与解答

    2010-07-26 14:25:00
  • asp生成带日期的随机数

    2008-09-03 13:13:00
  • 互联网一家之言(一):叫用户为你买单

    2009-06-09 11:32:00
  • 网马解密大讲堂——网马解密中级篇(Document.write篇)

    2009-09-16 16:16:00
  • 2个asp获取安全字符串的方法

    2007-10-19 15:08:00
  • ASP 根据用户权限判断显示的列标题

    2011-03-29 11:01:00
  • ASP给长的标题加省略号...

    2008-02-22 14:39:00
  • Oracle CBO 的 _sort_elimination_cost_ratio 参数

    2008-07-22 12:24:00
  • 教你制作1px边框表格的四种方法

    2008-10-04 10:16:00
  • 什么是Semantics?

    2008-04-16 13:45:00
  • css中如何使div居中(垂直水平居中)

    2007-08-13 08:17:00
  • 用AspJpeg调整文字水印透明,生成图片水印的效果

    2008-12-29 19:43:00
  • SQL学习笔记六 union联合结果集使用

    2011-09-30 11:34:27
  • Google首页的CSS Sprite

    2007-09-29 21:36:00
  • 为SWFUpload增加ASP版本的上传处理程序

    2011-04-28 08:01:00
  • 在opera里css出现渲染问题

    2009-01-15 12:19:00
  • QQ在线客服网页代码大全

    2008-01-17 18:28:00
  • asp 实现检测字符串是否为纯字母和数字组合的函数

    2009-10-04 20:39:00
  • SQL Server数据库查询优化3种技巧

    2008-10-17 10:10:00
  • ASP MSSQL存储过程的实现小例

    2011-04-06 11:02:00
  • asp之家 网络编程 m.aspxhome.com