Heim > Backend-Entwicklung > XML/RSS-Tutorial > Erstellen Sie eine XML-Ansicht mithilfe eines annotierten XDR-Schemas

Erstellen Sie eine XML-Ansicht mithilfe eines annotierten XDR-Schemas

黄舟
Freigeben: 2017-03-01 16:44:33
Original
1591 Leute haben es durchsucht

XML-Ansichten relationaler Daten können mit dem XDR-Schema (XML-Data Simplified) erstellt werden. Diese Ansichten können dann mithilfe von XPath-Abfragen abgefragt werden. Dies ähnelt der Verwendung der CREATE VIEW-Anweisung zum Erstellen einer Ansicht und zum Angeben einer SQL-Abfrage für die Ansicht.
XML-Schema beschreibt die Struktur eines XML-Dokuments und die verschiedenen Einschränkungen für die Daten im Dokument. Wenn Sie eine XPath-Abfrage für dieses Schema angeben, wird die Struktur des zurückgegebenen XML-Dokuments durch das Schema bestimmt, für das die XPath-Abfrage durchgeführt wurde.
Verwenden Sie in Microsoft® SQL Server™ 2000 die vereinfachte XML-Datensprache (XDR), um Schemata zu erstellen. XDR ist eine flexible Sprache, die einige der Einschränkungen von Dokumenttypdefinitionen (DTDs) überwindet, die zur Beschreibung der Struktur von Dokumenten verwendet werden. Im Gegensatz zu DTDs beschreiben XDR-Schemas die Dokumentstruktur mit derselben Syntax wie XML-Dokumente. Darüber hinaus besteht in einer DTD der gesamte Dateninhalt aus Zeichendaten. Mit dem XDR-Sprachschema können Sie den Datentyp eines Elements oder Attributs angeben.
Im XDR-Schema enthält das -Element das gesamte Schema. Als Attribute des -Elements können Sie die Attribute beschreiben, die den Namen des Schemas und den Namespace definieren, in dem sich das Schema befindet. In der XDR-Sprache müssen alle Elementdeklarationen in einem -Element eingeschlossen sein.
Das minimale XDR-Schema lautet wie folgt:

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data"> 
   ... 
</Schema> 
<Schema> 元素是从 xml-data 命名空间 (urn:schemas-microsoft-com:xml-data) 派生出的。
Nach dem Login kopieren

Hinweis: In diesem Dokument wird davon ausgegangen, dass Sie mit der XML-Datensprache vertraut sind.
Anmerkungen für das XDR-Schema
Sie können die Datenbank mithilfe von Anmerkungen im XDR-Schema abfragen, die die Zuordnung zur Datenbank beschreiben und die Ergebnisse als XML-Dokument zurückgeben. Mit SQL Server 2000 wurden eine Reihe von Anmerkungen eingeführt, mit denen Sie XDR-Schemas Tabellen und Spalten in der Datenbank zuordnen können. Sie können XPath-Abfragen für XML-Ansichten angeben, die von einem XDR-Schema erstellt wurden, um die Datenbank abzufragen und Ergebnisse im XML-Format zu erhalten.
Dies ist eine Alternative zum komplexeren SQL-Abfrageschreibprozess, der das FOR XML EXPLICIT-Muster verwendet, um die XML-Dokumentstruktur als Teil der Abfrage zu beschreiben. Weitere Informationen zur Verwendung des FOR XML EXPLICIT-Modus in SELECT-Abfragen finden Sie unter Verwenden des EXPLICIT-Modus. Um jedoch die meisten Einschränkungen von XPath-Abfragen bei Zuordnungsschemata zu überwinden, verwenden Sie den FOR XML EXPLICIT-Modus für SQL-Abfragen, die Ergebnisse im XML-Dokumentformat zurückgeben.
Wenn Sie über ein öffentliches XDR-Schema verfügen (z. B. das Microsoft BizTalk™-Schema), können Sie Folgendes tun:
· Schreiben Sie eine Abfrage im FOR XML EXPLICIT-Modus, damit die resultierenden Daten für die Öffentlichkeit gültig sind XDR-Schema; das Schreiben von FOR XML EXPLICIT-Abfragen kann jedoch umständlich sein.
· Erstellen Sie eine private Kopie eines öffentlichen XDR-Schemas. Die Anmerkungen werden dann dem privaten Replikat hinzugefügt, wodurch ein Zuordnungsschema entsteht. Sie können eine XPath-Abfrage für das Zuordnungsschema angeben. Die Abfrage erzeugt Daten im gemeinsamen Schema-Namespace. Das Erstellen eines mit Anmerkungen versehenen Schemas und das Angeben einer XPath-Abfrage für dieses Schema ist ein viel einfacherer Prozess als das Schreiben komplexer FOR XML EXPLICIT-Abfragen. Das Bild unten veranschaulicht diesen Vorgang.

Beschreibung Das Microsoft BizTalk™-Framework wurde entwickelt, um ein Standard-XML-Format für gängige Geschäftsobjekte wie Verträge, Bestellungen und Termine zu definieren. Kopien dieser Geschäftsarchitekturen finden Sie unter http://biztalk.org/BizTalk/default.asp.
Schemas zuordnen
Im Kontext einer relationalen Datenbank ist es sehr nützlich, ein beliebiges XDR-Schema einem relationalen Speicher zuzuordnen. Eine Möglichkeit, dies zu erreichen, besteht darin, XDR-Schemata mit Anmerkungen zu versehen. Das mit Anmerkungen versehene XDR-Schema wird als „Zuordnungsschema“ bezeichnet und bietet Informationen darüber, wie XML-Daten einem relationalen Speicher zugeordnet werden. Ein Zuordnungsschema ist eigentlich eine XML-Ansicht relationaler Daten. Mithilfe dieser Zuordnungen können Sie relationale Daten im XML-Dokumentformat abrufen.
Microsoft SQL Server 2000 führte eine Reihe von Anmerkungen ein, die in XDR-Schemas verwendet werden können, um Elemente und Attribute Datenbanktabellen und -spalten zuzuordnen. Sie können XPath (XML-Pfad) verwenden, um Abfragen an das Zuordnungsschema (XML-Ansicht) anzugeben. Das Mapping-Schema beschreibt die resultierende Dokumentstruktur.
Namespace für Anmerkungen
In XDR-Schemas werden Anmerkungen mithilfe des folgenden Namespace angegeben: urn:schemas-microsoft-com:xml-sql.
Das folgende Beispiel zeigt, dass die einfachste Möglichkeit, einen Namespace anzugeben, darin besteht, ihn im -Tag anzugeben. urn:schemas-microsoft-com:xml-sql Namespace-Anmerkungen müssen Namespace-qualifiziert sein. Das von

<?xml version="1.0" ?> 
<Schema xmlns="urn:schemas-microsoft-com:xml-data" 
        xmlns:sql="urn:schemas-microsoft-com:xml-sql" 
               > 
    ........... 
</Schema>
Nach dem Login kopieren

verwendete Namespace-Präfix ist willkürlich. In dieser Dokumentation wird das SQL-Präfix verwendet, um einen Annotation-Namespace zu bezeichnen und Annotationen in diesem Namespace von Annotationen in anderen Namespaces zu unterscheiden.
Namespace von Datentypen
Mit dem XDR-Schema können Sie den Datentyp eines Elements oder Attributs angeben. Verwenden Sie den folgenden Namespace, um Datentypen anzugeben: urn:schemas-microsoft-com:datatypes.
Das Folgende ist das minimale XDR-Schema mit Namespace-Deklaration:

<?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>
Nach dem Login kopieren

所用的命名空间前缀是任意的。 在本文档中,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>
Nach dem Login kopieren

现在,将批注添加到此 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>
Nach dem Login kopieren

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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage