Hinweis
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.
Sie können XML-Ansichten relationaler Daten mithilfe der XML-Schemadefinitionssprache (XSD) erstellen. Diese Ansichten können dann mithilfe von XPath-Abfragen (XML Path Language) abgefragt werden. Dies ähnelt dem Erstellen von Ansichten mithilfe von CREATE VIEW-Anweisungen und dem Anschließenden Angeben von SQL-Abfragen für die Ansicht.
Ein XML-Schema beschreibt die Struktur eines XML-Dokuments und beschreibt auch die verschiedenen Einschränkungen für die Daten im Dokument. Wenn Sie XPath-Abfragen für das Schema angeben, wird die Struktur des zurückgegebenen XML-Dokuments durch das Schema bestimmt, mit dem die XPath-Abfrage ausgeführt wird.
In einem XSD-Schema schließt das <xsd:schema-Element> das gesamte Schema ein. Alle Elementdeklarationen müssen innerhalb des <xsd:schema-Elements> 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> enthalten, das< 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 verwenden, die 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 anhand der VOM XSD-Schema erstellten XML-Ansicht angegeben werden, um die Datenbank abzufragen und Ergebnisse als XML abzurufen.
Hinweis
In Microsoft SQLXML 4.0 unterstützt die XSD-Schemasprache die Anmerkungen, die in SQL Server 2000 mit kommentierter XML-Data Reduzierter Schemasprache (XDR) eingeführt wurden. Mit Anmerkungen versehene XDR ist in SQLXML 4.0 veraltet.
Im Kontext der relationalen Datenbank ist es nützlich, das beliebige XSD-Schema einem relationalen Speicher zuzuordnen. Eine Möglichkeit, dies zu erreichen, ist das Kommentieren des XSD-Schemas. Ein XSD-Schema mit den Anmerkungen wird als Zuordnungsschema bezeichnet, das Informationen zur Zuordnung von XML-Daten zum relationalen Speicher bereitstellt. Ein Zuordnungsschema ist tatsächlich eine XML-Ansicht 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>
Das verwendete Namespacepräfix ist beliebig. 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 für ein kommentiertes XSD-Schema
Im folgenden Beispiel besteht das XSD-Schema aus einem <Person.Contact-Element> . Das <Employee-Element> weist ein ContactID-Attribut und <untergeordnete Elemente "FirstName" und "LastName>>" 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>
Anmerkungen werden diesem XSD-Schema hinzugefügt, um die zugehörigen Elemente und Attribute den 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 <Contact-Element> mithilfe der sql:relation Anmerkung der Tabelle "Person.Contact" in der AdventureWorks-Beispieldatenbank 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 kommentierte XSD-Schema stellt die XML-Ansicht der relationalen Daten bereit. Diese XML-Ansicht kann mithilfe der XPath-Sprache abgefragt werden. Eine XPath-Abfrage gibt ein XML-Dokument als Ergebnis anstelle des Rowsets zurück, das von SQL-Abfragen zurückgegeben wird.
Hinweis
Im Zuordnungsschema hängt die Groß-/Kleinschreibung für die angegebenen relationalen Werte (z. B. Tabellenname und Spaltenname) davon ab, ob SQL Server Die Groß-/Kleinschreibung verwendet. Weitere Informationen finden Sie unter Collation and Unicode Support.
Weitere Ressourcen
Weitere Informationen zur XML-Schemadefinitionssprache (XSD), zur XML-Pfadsprache (XPath) und zu XSLT (Extensible Stylesheet Language Transformations) finden Sie auf den folgenden Websites:
XML-Schemateil 0: Primer, W3C-Empfehlung (http://www.w3.org/TR/xmlschema-0/)
XML-Schemateil 1: Strukturen, W3C-Empfehlung (http://www.w3.org/TR/xmlschema-1/)
XML-Schemateil 2:Datentypen, W3C-Empfehlung (http://www.w3.org/TR/xmlschema-2/)
XML-Pfadsprache (XPath) (http://www.w3.org/TR/xpath)
XSL-Transformationen (XSLT) (http://www.w3.org/TR/xslt)
Siehe auch
Anmerkungen zur Schemasicherheit (SQLXML 4.0)
Kommentierte XDR-Schemas (veraltet in SQLXML 4.0)