Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Sie können mit der XML-Schemadefinitionssprache (XSD) XML-Sichten von relationalen Daten erstellen. Diese Sichten können dann mit XPath (XML Path)-Abfragen abgefragt werden. Dieser Vorgang gleicht prinzipiell dem Erstellen von Sichten mit CREATE VIEW-Anweisungen und dem Definieren von SQL-Abfragen für diese Sichten.
Ein XML-Schema beschreibt die Struktur eines XML-Dokuments und beschreibt auch die verschiedenen Einschränkungen für die Daten im Dokument. Wenn XQuery-Abfragen mit dem XSD-Schema angegeben werden, wird die Struktur des resultierenden XML-Dokuments durch das Schema bestimmt, mit dem die Abfrage ausgeführt wird.
In einem XSD-Schema schließt das < das gesamte Schema ein. Alle Elementdeklarationen müssen innerhalb des> enthalten sein.< Sie können Attribute beschreiben, die den Namespace definieren, in dem sich das Schema befindet, und die Namespaces, die im Schema als Eigenschaften des <xsd:schema-Elements> verwendet werden.
Ein gültiges XSD-Schema muss das xsd:schema-Element<>wie folgt definiert ist:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<!-- additional schema definitions here -->
</xsd:schema>
Das <xsd:schema-Element> wird von der XML-Schemanamespacespezifikation unter http://www.w3.org/2001/XMLSchema.
Anmerkungen zum XSD-Schema
Sie können ein XSD-Schema mit Anmerkungen angeben, welche die Zuordnung zu einer Datenbank beschreiben, die Datenbank abfragen und die Ergebnisse in Form eines XML-Dokuments zurückgeben. Anmerkungen werden bereitgestellt, um ein XSD-Schema Datenbanktabellen und -spalten zuzuordnen. XPath-Abfragen können für die XML-Sicht, die durch das XSD-Schema erstellt wird, angegeben werden, um die Datenbank abzufragen und die Ergebnisse als XML-Dokument zu erhalten.
Hinweis
In Microsoft SQLXML 4.0 unterstützt die XSD-Schemasprache die Anmerkungen, die in sql Server 2000 (8.x) mit kommentierter XML-Data Reduced -Schemasprache (XDR) eingeführt wurden. XDR-Anmerkungen sind in SQLXML 4.0 veraltet.
Im Kontext relationaler Datenbanken ist es nützlich, das beliebige XSD-Schema einem relationalen Datenspeicher zuzuordnen. Dies lässt sich beispielsweise erreichen, indem das XSD-Schema mit Anmerkungen versehen wird. Ein XSD-Schema mit den Anmerkungen wird als Zuordnungsschema bezeichnet, das Informationen zur Zuordnung von XML-Daten zum relationalen Speicher bereitstellt. Ein Zuordnungsschema ist im Grunde eine XML-Sicht der relationalen Daten. Diese Zuordnungen können verwendet werden, um relationale Daten als XML-Dokument abzurufen.
Namespace für Anmerkungen
In einem XSD-Schema werden Anmerkungen mithilfe des Namespace urn:schemas-microsoft-com:mapping-schema angegeben. Wie im folgenden Beispiel gezeigt, besteht die einfachste Möglichkeit zum Angeben des Namespace darin, ihn im <xsd:schema-Tag> anzugeben.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
...
</xsd:schema>
Es kann ein beliebiges Namespacepräfix verwendet werden. In dieser Dokumentation wird das SQL-Präfix verwendet, um den Anmerkungsnamespace zu kennzeichnen und Anmerkungen in diesem Namespace von denen in anderen Namespaces zu unterscheiden.
Beispiel eines XSD-Schemas mit Anmerkungen
Im folgenden Beispiel besteht das XSD-Schema aus einem <.> Das < weist ein > und " auf:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Contact" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FName"
type="xsd:string" />
<xsd:element name="LName"
type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="ConID" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Diesem XSD-Schema werden Anmerkungen hinzugefügt, um die darin enthaltenen Elemente und Attribute den entsprechenden Datenbanktabellen und –spalten zuzuordnen.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Contact" sql:relation="Person.Contact" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FName"
sql:field="FirstName"
type="xsd:string" />
<xsd:element name="LName"
sql:field="LastName"
type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="ConID"
sql:field="ContactID"
type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Im Zuordnungsschema wird das <> der Tabelle "Person.Contact" in der Beispieldatenbank mithilfe der AdventureWorks2025 zugeordnet. Die Attribute ConID, FName und LName werden den Spalten "ContactID", "FirstName" und "LastName" in der Tabelle "Person.Contact" mithilfe der sql:field-Anmerkungen zugeordnet.
Dieses XSD-Schema mit Anmerkungen stellt die XML-Sicht der relationalen Daten bereit. Diese XML-Sicht kann mit der XPath-Sprache abgefragt werden. Xpath-Abfragen geben als Ergebnis ein XML-Dokument zurück statt eines Rowsets, das von SQL-Abfragen zurückgegeben wird.
Hinweis
Ob im Zuordnungsschema bei relationalen Werten, z. B. Tabellenname und Spaltenname, zwischen Groß-und Kleinschreibung unterschieden wird, hängt davon ab, ob in den Sortiereinstellungen auf dem SQL Server die Groß-/Kleinschreibung beachtet wird. Weitere Informationen finden Sie unter Sortierungs- und Unicode-Support.
Weitere Ressourcen
Weitere Informationen zu XSD (XML Schema Definition Language), XPath (XML Path Language) und XSLT (Extensible Stylesheet Language Transformations) finden Sie auf den folgenden Websites:
XML-Schemateil 0: Primer, W3C-Empfehlung (https://www.w3.org/TR/xmlschema-0/)
XML-Schemateil 1: Strukturen, W3C-Empfehlung (https://www.w3.org/TR/xmlschema-1/)
XML-Schemateil 2:Datentypen, W3C-Empfehlung (https://www.w3.org/TR/xmlschema-2/)
XML-Pfadsprache (XPath) (https://www.w3.org/TR/xpath)
XSL-Transformationen (XSLT) (https://www.w3.org/TR/xslt)
Weitere Informationen
Überlegungen zur Sicherheit von Schemas mit Anmerkungen (SQLXML 4.0)
XDR-Schemas mit Anmerkungen (in SQLXML 4.0 veraltet)