Freigeben über


Einführung in kommentierte XSD-Schemas (SQLXML 4.0)

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:

Siehe auch

Anmerkungen zur Schemasicherheit (SQLXML 4.0)
Kommentierte XDR-Schemas (veraltet in SQLXML 4.0)