首页 后端开发 XML/RSS教程 使用带批注的 XDR 架构创建 XML 视图

使用带批注的 XDR 架构创建 XML 视图

Mar 01, 2017 pm 04:44 PM

可以使用 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 架构中, 元素包含整个架构。作为 元素的属性,可以描述定义架构名称的特性和架构驻留的命名空间。在 XDR 语言中,所有元素声明都必须包含在 元素中。 
最小的 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 中找到。
映射架构
在关系数据库的上下文中,将任意的 XDR 架构映射到关系存储是非常有用的。达到此目的的一个方法是对 XDR 架构进行批注。带批注的 XDR 架构称为"映射架构",它提供了关于如何将 XML 数据映射到关系存储的信息。映射架构实际上是关系数据的 XML 视图。可以使用这些映射检索 XML 文档格式的关系数据。
Microsoft SQL Server 2000 引入了许多批注,可以在 XDR 架构中使用这些批注,将元素和特性映射到数据库表和列。可以使用 XPath(XML 路径)指定对映射架构(XML 视图)的查询。映射架构描述了最后所得到的文档结构。
批注的命名空间
在 XDR 架构中,使用下面的命名空间指定批注:urn:schemas-microsoft-com:xml-sql。
下例显示指定命名空间的最简单方法是在 标记中指定它。urn:schemas-microsoft-com:xml-sql 命名空间的批注必须是由命名空间限定的。

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql" 
               > 
    ........... 
</Schema>
登录后复制

所用的命名空间前缀是任意的。 在本文档中,sql 前缀用于表示批注命名空间和使此命名空间中的批注区别于其它命名空间中的批注。
数据类型的命名空间
XDR 架构使您得以指定元素或特性的数据类型。使用下面的命名空间指定数据类型: urn:schemas-microsoft-com:datatypes。
以下是带有命名空间声明的最小 XDR 架构:

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql" 
        xmlns:dt="urn:schemas-microsoft-com:datatypes"> 
   ... 
</Schema>
登录后复制

所用的命名空间前缀是任意的。 在本文档中,dt 前缀用于表示数据类型命名空间和使此命名空间中的批注区别于其它命名空间中的批注。
元素来源于 xml-data 命名空间:urn:schemas-microsoft-com:xml-data。
XDR 架构示例
下例显示如何将批注添加到 XDR 架构中。XDR 架构由 元素和 EmpID、Fname 及 Lname 特性组成。

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:dt="urn:schemas-microsoft-com:datatypes" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Employee" > 
    <AttributeType name="EmpID" /> 
    <AttributeType name="FName" /> 
    <AttributeType name="LName" />
    <attribute type="EmpID" /> 
    <attribute type="FName" /> 
    <attribute type="LName" /> 
</ElementType> 
</Schema>
登录后复制

现在,将批注添加到此 XDR 架构中,使架构的元素和特性映射到数据库的表和列。 带批注的 XDR 架构如下:

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:dt="urn:schemas-microsoft-com:datatypes" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Employee" sql:relation="Employees" > 
    <AttributeType name="EmpID" /> 
    <AttributeType name="FName" /> 
    <AttributeType name="LName" />
    <attribute type="EmpID" sql:field="EmployeeID" /> 
    <attribute type="FName" sql:field="FirstName" /> 
    <attribute type="LName" sql:field="LastName" /> 
</ElementType> 
</Schema>
登录后复制

在此映射架构中,使用 sql:relation 批注将 元素映射到 Employees 表。使用 sql:field 批注将特性 EmpID、Fname 和 Lname 映射到 Employees 表中的 EmployeeID、FirstName 和 LastName 列。 
此带批注的 XDR 架构提供关系数据的 XML 视图。使用 Xpath(XML 路径)语言可以查询该 XML 视图。Xpath 查询返回 XML 文档形式的结果,而不是 SQL 查询所返回的行集。 
  
说明  在映射架构中,指定的关系值(如表名和列名)区分大小写。

以上就是使用带批注的 XDR 架构创建 XML 视图的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

手机XML转PDF,转换速度快吗? 手机XML转PDF,转换速度快吗? Apr 02, 2025 pm 10:09 PM

手机XML转PDF的速度取决于以下因素:XML结构的复杂性手机硬件配置转换方法(库、算法)代码质量优化手段(选择高效库、优化算法、缓存数据、利用多线程)总体而言,没有绝对的答案,需要根据具体情况进行优化。

怎么在手机上把XML文件转换为PDF? 怎么在手机上把XML文件转换为PDF? Apr 02, 2025 pm 10:12 PM

不可能直接在手机上用单一应用完成 XML 到 PDF 的转换。需要使用云端服务,通过两步走的方式实现:1. 在云端转换 XML 为 PDF,2. 在手机端访问或下载转换后的 PDF 文件。

手机上如何将XML转换成PDF? 手机上如何将XML转换成PDF? Apr 02, 2025 pm 10:18 PM

直接在手机上将XML转换为PDF并不容易,但可以借助云端服务实现。推荐使用轻量级手机App上传XML文件并接收生成的PDF,配合云端API进行转换。云端API使用无服务器计算服务,选择合适的平台至关重要。处理XML解析和PDF生成时需要考虑复杂性、错误处理、安全性和优化策略。整个过程需要前端App与后端API协同工作,需要对多种技术有所了解。

web.xml怎么打开 web.xml怎么打开 Apr 03, 2025 am 06:51 AM

要打开 web.xml 文件,可以使用以下方法:使用文本编辑器(如记事本或 TextEdit)使用集成开发环境(如 Eclipse 或 NetBeans)使用命令行编辑命令(Windows:notepad web.xml;Mac/Linux:open -a TextEdit web.xml)

xml格式化工具推荐 xml格式化工具推荐 Apr 02, 2025 pm 09:03 PM

XML格式化工具可以将代码按照规则排版,提高可读性和理解性。选择工具时,要注意自定义能力、对特殊情况的处理、性能和易用性。常用的工具类型包括在线工具、IDE插件和命令行工具。

有什么手机APP可以将XML转换成PDF? 有什么手机APP可以将XML转换成PDF? Apr 02, 2025 pm 08:54 PM

无法找到一款将 XML 直接转换为 PDF 的应用程序,因为它们是两种根本不同的格式。XML 用于存储数据,而 PDF 用于显示文档。要完成转换,可以使用编程语言和库,例如 Python 和 ReportLab,来解析 XML 数据并生成 PDF 文档。

xml格式怎么打开 xml格式怎么打开 Apr 02, 2025 pm 09:00 PM

用大多数文本编辑器即可打开XML文件;若需更直观的树状展示,可使用 XML 编辑器,如 Oxygen XML Editor 或 XMLSpy;在程序中处理 XML 数据则需使用编程语言(如 Python)与 XML 库(如 xml.etree.ElementTree)来解析。

xml在线格式化 xml在线格式化 Apr 02, 2025 pm 10:06 PM

XML 在线格式化工具可自动将混乱的 XML 代码整理成易于阅读和维护的格式。通过解析 XML 的语法树并应用格式化规则,这些工具优化了代码的结构,增强了其可维护性和团队协作效率。

See all articles