Maison > développement back-end > Tutoriel XML/RSS > Créer une vue XML à l'aide d'un schéma XDR annoté

Créer une vue XML à l'aide d'un schéma XDR annoté

黄舟
Libérer: 2017-03-01 16:44:33
original
1591 Les gens l'ont consulté

Des vues XML de données relationnelles peuvent être créées à l'aide du schéma XDR (xml-Data simplifié). Ces vues peuvent ensuite être interrogées à l'aide de requêtes XPath. Cela revient à utiliser l'instruction CREATE VIEW pour créer une vue et spécifier une requête SQL sur la vue.
XML Schema décrit la structure d'un document XML et les différentes contraintes sur les données du document. Lorsque vous spécifiez une requête XPath sur ce schéma, la structure du document XML renvoyé est déterminée par le schéma sur lequel la requête XPath a été exécutée.
Dans Microsoft® SQL Server™ 2000, utilisez le langage XML-Data (XDR) simplifié pour créer des schémas. XDR est un langage flexible qui surmonte certaines des limitations des définitions de types de documents (DTD) utilisées pour décrire la structure des documents. Contrairement aux DTD, les schémas XDR décrivent la structure du document en utilisant la même syntaxe que les documents XML. De plus, dans une DTD, tout le contenu des données est constitué de données de caractères. Le schéma du langage XDR vous permet de spécifier le type de données d'un élément ou d'un attribut.
Dans XDR Schema, l'élément En tant qu'attributs de l'élément , vous pouvez décrire les attributs qui définissent le nom du schéma et l'espace de noms dans lequel réside le schéma. Dans le langage XDR, toutes les déclarations d'éléments doivent être entourées d'un élément
Le schéma XDR minimal est le suivant :

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data"> 
   ... 
</Schema> 
<Schema> 元素是从 xml-data 命名空间 (urn:schemas-microsoft-com:xml-data) 派生出的。
Copier après la connexion

Remarque : Ce document suppose que vous êtes familier avec le langage XML-Data.
Annotations pour le schéma XDR
Vous pouvez interroger la base de données à l'aide d'annotations dans le schéma XDR qui décrivent le mappage avec la base de données et renvoyer les résultats sous forme de document XML. SQL Server 2000 a introduit un certain nombre d'annotations pouvant être utilisées pour mapper des schémas XDR aux tables et colonnes de la base de données. Vous pouvez spécifier des requêtes XPath sur des vues XML créées par un schéma XDR pour interroger la base de données et obtenir des résultats au format XML.
Il s'agit d'une alternative au processus d'écriture de requête SQL plus complexe, qui utilise le modèle FOR XML EXPLICIT pour décrire la structure du document XML dans le cadre de la requête. Pour plus d’informations sur l’utilisation du mode FOR XML EXPLICIT dans les requêtes SELECT, consultez Utilisation du mode EXPLICIT. Toutefois, pour surmonter la plupart des limitations des requêtes XPath sur les schémas de mappage, utilisez le mode FOR XML EXPLICIT pour les requêtes SQL qui renvoient des résultats au format de document XML.
Si vous disposez d'un schéma XDR public (tel que le schéma Microsoft BizTalk™), vous pouvez effectuer l'une des opérations suivantes :
· Écrivez une requête en mode FOR XML EXPLICIT afin que les données générées soient valides pour le public Schéma XDR ; cependant, l’écriture de requêtes FOR XML EXPLICIT peut être fastidieuse.
· Faites une copie privée d'un schéma XDR public. Les annotations sont ensuite ajoutées à la réplique privée, ce qui donne lieu à un schéma de mappage. Vous pouvez spécifier une requête XPath pour le schéma de mappage. La requête produit des données dans l'espace de noms de schéma commun. Créer un schéma annoté et spécifier une requête XPath sur ce schéma est un processus beaucoup plus simple que d'écrire des requêtes FOR XML EXPLICIT complexes. L'image ci-dessous illustre ce processus.

Description Le framework Microsoft BizTalk™ est conçu pour définir un format XML standard pour les objets métier courants tels que les contrats, les commandes et les rendez-vous. Des copies de ces architectures métier sont disponibles sur http://biztalk.org/BizTalk/default.asp.
Mapping Schemas
Dans le contexte d'une base de données relationnelle, il est très utile de mapper un schéma XDR arbitraire à un magasin relationnel. Une façon d’y parvenir consiste à annoter les schémas XDR. Le schéma XDR annoté est appelé « schéma de mappage » et fournit des informations sur la façon dont les données XML sont mappées à un magasin relationnel. Un schéma de mappage est en réalité une vue XML de données relationnelles. Vous pouvez utiliser ces mappages pour récupérer des données relationnelles au format de document XML.
Microsoft SQL Server 2000 a introduit un certain nombre d'annotations qui peuvent être utilisées dans les schémas XDR pour mapper des éléments et des attributs aux tables et colonnes de base de données. Vous pouvez utiliser XPath (chemin XML) pour spécifier des requêtes sur le schéma de mappage (vue XML). Le schéma de mappage décrit la structure du document résultant.
Espace de noms pour les annotations
Dans les schémas XDR, les annotations sont spécifiées à l'aide de l'espace de noms suivant : urn:schemas-microsoft-com:xml-sql.
L'exemple suivant montre que le moyen le plus simple de spécifier un espace de noms est de le spécifier dans la balise . urn:schemas-microsoft-com:xml-sql Les annotations d’espace de noms doivent être qualifiées d’espace de noms. Le préfixe d'espace de noms utilisé par

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql" 
               > 
    ........... 
</Schema>
Copier après la connexion

est arbitraire. Dans cette documentation, le préfixe sql est utilisé pour désigner un espace de noms d'annotation et pour distinguer les annotations de cet espace de noms des annotations d'autres espaces de noms.
Espace de noms des types de données
Le schéma XDR vous permet de spécifier le type de données d'un élément ou d'un attribut. Utilisez l'espace de noms suivant pour spécifier les types de données : urn:schemas-microsoft-com:datatypes.
Ce qui suit est un schéma XDR minimal avec déclaration d'espace de noms :

<?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>
Copier après la connexion

所用的命名空间前缀是任意的。 在本文档中,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>
Copier après la connexion

现在,将批注添加到此 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>
Copier après la connexion

在此映射架构中,使用 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)!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal