XML视图:一项伟大的技术

XML 视图:一项伟大的技术

作者: Klaus Aschenbrenner

我喜欢 XML 视图背后的概念。使用 XML 视图,你能以一种近似于 XML 的方式来检索任何(!)数据源。现在我们在 Whidbey 中可能使用像 XQuery 等的 XML 查询语言对 SQL Server Yukon 进行查询。看看下面的 XQuery 语句:

map:view('nwind')/Customers

这条简单的语句将从 SQL 服务器中的 "Customers" 表返回所有的顾客。 XML 视图产生出魔法般的效果。总而言之,决定一个 XML 视图,你需要 3 个映射文件。第一个映射文件(关系映射)描述了你的 SQL 服务器中的表以及他们之间的关系。你能够使用 reg.exe 工具生成这个文件。第二个文件描述了返回的 XML 数据的结构-一个简单的 XML 架构。第三个文件是最重要的一个:这个文件映射相关的世界到 XML 的世界。

有了这三步映射的概念,你的理解就不会再受限制。 Object Spaces 也是这种映射技术的使用。在 Object Spaces 中,你将一个相关数据库映射到类系统。这里你没有使用 XML 架构进行描述,而是对你的业务对象结构描述的一种映射。

XML 视图引入后,你也有能力去根据不同的数据源创造不同的视图,例如座落在整个世界的 SQL Server 数据库。这些数据库能够使用一条 XQuery 语句集成在一起,这不是一件很酷的事情吗?

但是一些开发者希望知道什么时候为 XML 视图提供一个新的数据源?我正在考虑使用文件系统提供者或叫做 WinFS 提供者 …. 看下面虚构的 XQuery 语句:

 1<installedfxversions>   
 2{   
 3for $version in map:view("HardDriveCView')/Windows/Microsoft.NET/Framework   
 4  
 5<version>{ return $version/@folderName }</version>
 6
 7The output of this XQuery statement could be: 
 8
 9<installedfxversions>
10<version>v1.0.3705</version>
11<version>v1.1.4322</version>
12<version>v  1.2.0000  </version>
13</installedfxversions></installedfxversions>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus