Udostępnij przez


Wprowadzenie do adnotacjami schematy XSD (SQLXML 4.0)

Widoki XML z danych relacyjnych można tworzyć przy użyciu języka definicji schematu XML (XSD).Następnie te widoki mogą być kierowane kwerendy przy użyciu kwerendy języka (XPath) XML ścieżka.Jest to podobne do tworzenia widoków za pomocą instrukcji CREATE VIEW, a następnie określając kwerend SQL dla widoku.

Schemat XML opisuje strukturę dokumentu XML i opisano różne ograniczenia danych w dokumencie.Po określeniu kwerendy XPath względem schematu strukturę dokumentu XML zwrócone zależy od schematu, od którego jest wykonywane kwerendy XPath.

W schematu XSD <xsd:schema> element otacza całego schematu; wszystkich deklaracji elementu musi być zawarty w <xsd:schema> element. Można opisać atrybuty definiujące obszar nazw, w którym znajduje się w schemacie i obszary nazw, które są używane w schemacie jako właściwości <xsd:schema> element.

Musi zawierać prawidłowy schematu XSD <xsd:schema> element zdefiniowane w następujący sposób:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<!-- additional schema definitions here -->
</xsd:schema>

The <xsd:schema> element is derived from the XML Schema namespace specification at http://www.w3.org/2001/XMLSchema.

Adnotacje do schematu XSD

Można użyć schematu XSD z adnotacjami, który opisuje mapowanie z bazą danych, w bazie danych i zwraca wyniki w postaci dokumentu XML.Adnotacje są dostarczane do mapowania schematu XSD bazy danych, tabel i kolumn.Kwerendy XPath może być określony względem Widok XML utworzony przez schematu XSD w bazie danych i uzyskania wyniki jako XML.

Uwaga

W Microsoft SQLXML w wersji 4.0 języka schematu XSD obsługuje adnotacje wprowadzone z adnotacjami zmniejszonej dane XML (XDR) schematu języka SQL Server 2000. W wersji 4.0 SQLXML została zaniechana adnotacjami XDR.

W kontekście relacyjnej bazy danych jest przydatna do mapowania dowolnego schematu XSD relacyjnej magazynu.Jednym ze sposobów osiągnięcia tego celu jest adnotacji schematu XSD.Schematu XSD z adnotacji jest określany jako mapowanie schematu, który zawiera informacje dotyczące sposób, w jaki ma być mapowany do relacyjnych magazynu danych XML.Mapowanie schematu jest w efekcie utworzony widok XML relacyjnymi bazami danych.Mapowania te można pobrać danych relacyjnych w postaci dokumentu XML.

Obszar nazw dla adnotacje

W schematu XSD adnotacje są określane za pomocą obszaru nazw URN: schemas-microsoft - com:mapping - schematu.Jak pokazano w poniższym przykładzie, najłatwiejszy sposób, aby określić obszar nazw jest określenie w <xsd:schema> tag.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
...
</xsd:schema>

Prefiks obszaru nazw, który jest używany jest dowolny.W tej dokumentacji SQL prefiks jest używany do oznaczenia nazw adnotacji i aby można było odróżnić adnotacje w tym obszarze nazw od tych, które znajdują się w innych obszarach nazw.

Przykład schematu XSD adnotacjami

W poniższym przykładzie składa się schematu XSD <Person.Contact> element. The <Employee> element has a ContactID atrybut and <FirstName> and <LastName> podrzędność elements:

<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>

Adnotacje są dodawane do tego schematu XSD mapowania jego elementy i atrybuty do bazy danych, tabel i kolumn:

<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>

W schemacie mapowania <Kontakt> element jest mapowany do tabela Person.Contact przykładowej bazy danych AdventureWorks przy użyciu sql:relation adnotacja. Atrybuty ConID FName i LName są mapowane do kolumn ContactID, imię i nazwisko w tabela Person.Contact przy użyciu sql:field adnotacje.

To adnotacjami schematu XSD udostępnia widok XML relacyjnymi bazami danych.Ten widok XML może być kierowane kwerendy, przy użyciu języka XPath.Kwerendy XPath zwraca dokumentu XML w wyniku zamiast zestawu zestaw wierszy, które są zwracane przez kwerendy SQL.

Uwaga

W schemacie mapowania przypadek-sensitivity dla określonej wartości relacyjne (takie jak nazwa tabela i nazwy kolumn) zależy, czy program SQL Server korzysta z ustawienia sortowanie uwzględnia wielkość liter.Aby uzyskać więcej informacji zobaczUsing SQL Server Collations.

Inne zasoby

Dowiedzieć się więcej na temat języka definicji schematu XML (XSD), język XML ścieżka (XPath) i Extensible Stylesheet Language Transformations (XSLT) można znaleźć w następujących witrynach sieci Web: