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
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) 派生出的。
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
<?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:sql="urn:schemas-microsoft-com:xml-sql" > ........... </Schema>
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>
所用的命名空间前缀是任意的。 在本文档中,dt 前缀用于表示数据类型命名空间和使此命名空间中的批注区别于其它命名空间中的批注。
XDR 架构示例
下例显示如何将批注添加到 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" > <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 批注将
此带批注的 XDR 架构提供关系数据的 XML 视图。使用 Xpath(XML 路径)语言可以查询该 XML 视图。Xpath 查询返回 XML 文档形式的结果,而不是 SQL 查询所返回的行集。
说明 在映射架构中,指定的关系值(如表名和列名)区分大小写。
以上就是使用带批注的 XDR 架构创建 XML 视图的内容,更多相关内容请关注PHP中文网(www.php.cn)!