Einführung in XSD-Schemas mit Anmerkungen (SQLXML 4.0)

Gilt für:SQL ServerAzure 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 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 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 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>  

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 <Contact-Element> der Tabelle "Person.Contact" in der Beispieldatenbank AdventureWorks2022 mithilfe der sql:relation-Anmerkung 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:

Weitere Informationen

Überlegungen zur Sicherheit von Schemas mit Anmerkungen (SQLXML 4.0)
XDR-Schemas mit Anmerkungen (in SQLXML 4.0 veraltet)