Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Anda dapat membuat tampilan XML data relasional dengan menggunakan bahasa Definisi Skema XML (XSD). Tampilan ini kemudian dapat dikueri dengan menggunakan kueri bahasa Jalur XML (XPath). Ini mirip dengan membuat tampilan dengan menggunakan pernyataan CREATE VIEW lalu menentukan kueri SQL terhadap tampilan.
Skema XML menjelaskan struktur dokumen XML dan juga menjelaskan berbagai batasan pada data dalam dokumen. Saat Anda menentukan kueri XPath terhadap skema, struktur dokumen XML yang dikembalikan ditentukan oleh skema tempat kueri XPath dijalankan.
Dalam skema XSD, > mencakup seluruh skema; semua deklarasi elemen harus terkandung dalam >. Anda dapat menjelaskan atribut yang menentukan namespace layanan tempat skema berada dan namespace yang digunakan dalam skema sebagai properti >.
Skema XSD yang valid harus berisi <elemen xsd:schema> yang didefinisikan sebagai berikut:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<!-- additional schema definitions here -->
</xsd:schema>
Elemen <xsd:schema> berasal dari spesifikasi namespace Skema XML di http://www.w3.org/2001/XMLSchema.
Anotasi ke Skema XSD
Anda bisa menggunakan skema XSD dengan anotasi yang menjelaskan pemetaan ke database, mengkueri database, dan mengembalikan hasil dalam bentuk dokumen XML. Anotasi disediakan untuk memetakan skema XSD ke tabel dan kolom database. Kueri XPath dapat ditentukan terhadap tampilan XML yang dibuat oleh skema XSD untuk mengkueri database dan mendapatkan hasil sebagai XML.
Catatan
Dalam Microsoft SQLXML 4.0, bahasa skema XSD mendukung anotasi yang diperkenalkan dengan bahasa skema XML-Data Reduced (XDR) yang dianotasi di SQL Server 2000 (8.x). XDR anotasi tidak digunakan lagi di SQLXML 4.0.
Dalam konteks database relasional, berguna untuk memetakan skema XSD arbitrer ke penyimpanan relasional. Salah satu cara untuk mencapainya adalah dengan membuat anotasi skema XSD. Skema XSD dengan anotasi disebut sebagai skema pemetaan, yang menyediakan informasi yang berkaitan dengan bagaimana data XML akan dipetakan ke penyimpanan relasional. Skema pemetaan berlaku tampilan XML dari data relasional. Pemetaan ini dapat digunakan untuk mengambil data relasional sebagai dokumen XML.
Namespace untuk Anotasi
Dalam skema XSD, anotasi ditentukan dengan menggunakan namespace urn:schemas-microsoft-com:mapping-schema. Seperti yang ditunjukkan dalam contoh berikut, cara term mudah untuk menentukan namespace adalah dengan menentukannya dalam >.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
...
</xsd:schema>
Awalan namespace yang digunakan sewenang-wenang. Dalam dokumentasi ini, awalan sql digunakan untuk menunjukkan namespace anotasi dan untuk membedakan anotasi di namespace layanan ini dari yang ada di namespace layanan lain.
Contoh Skema XSD Anotasi
Dalam contoh berikut, skema XSD terdiri dari >. Elemen <Karyawan> memiliki atribut ContactID dan< elemen anak FirstName> dan< LastName:>
<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>
Anotasi ditambahkan ke skema XSD ini untuk memetakan elemen dan atributnya ke tabel dan kolom database:
<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>
Dalam skema pemetaan, <elemen Kontak> dipetakan ke tabel Person.Contact dalam database sampel AdventureWorks2025 dengan menggunakan anotasi sql:relation . Atribut ConID, FName, dan LName dipetakan ke kolom ContactID, FirstName, dan LastName di tabel Person.Contact dengan menggunakan anotasi sql:field .
Skema XSD yang diannotasi ini menyediakan tampilan XML data relasional. Tampilan XML ini dapat dikueri menggunakan bahasa XPath. Kueri XPath mengembalikan dokumen XML sebagai hasilnya, alih-alih kumpulan baris yang dikembalikan oleh kueri SQL.
Catatan
Dalam skema pemetaan, sensitivitas huruf besar/kecil untuk nilai relasional yang ditentukan (seperti nama tabel dan nama kolom) bergantung pada apakah SQL Server menggunakan pengaturan kolase peka huruf besar/kecil. Untuk informasi selengkapnya, lihat Dukungan Kolate dan Unicode.
Sumber Daya Lain
Anda dapat menemukan informasi selengkapnya tentang BAHASA Definisi Skema XML (XSD), bahasa Jalur XML (XPath), dan Transformasi Bahasa Lembar Gaya yang Dapat Diperluas (XSLT) di situs Web berikut:
Skema XML Bagian 0: Primer, Rekomendasi W3C (https://www.w3.org/TR/xmlschema-0/)
Skema XML Bagian 1: Struktur, Rekomendasi W3C (https://www.w3.org/TR/xmlschema-1/)
Skema XML Bagian 2:Jenis data, Rekomendasi W3C (https://www.w3.org/TR/xmlschema-2/)
Bahasa Jalur XML (XPath) (https://www.w3.org/TR/xpath)
Transformasi XSL (XSLT) (https://www.w3.org/TR/xslt)
Lihat Juga
Pertimbangan Keamanan Skema Yang Diannotasi (SQLXML 4.0)
Skema XDR Anotasi (Tidak digunakan lagi di SQLXML 4.0)