Bagikan melalui


DENGAN XMLNAMESPACES

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mendeklarasikan satu atau beberapa namespace XML.

Konvensi sintaks transact-SQL

Sintaksis

  
WITH XMLNAMESPACES ( <XML namespace declaration item>  
[ { , <XML namespace declaration item> }...] )   
  
<XML namespace declaration item> ::=  
<xml_namespace_uri> AS <xml_namespace_prefix>  
| <XML default namespace declaration item>  
<xml_namespace_uri> ::= <character string literal>  
  
<xml_namespace_prefix> ::= <identifier>  
  
<XML default namespace declaration item> ::=  
DEFAULT <xml_namespace_uri>  
  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

xml_namespace_uri
Pengidentifikasi Sumber Daya Seragam (URI) yang mengidentifikasi namespace XML yang sedang dideklarasikan. xml_namespace_uri adalah string SQL.

xml_namespace_prefix
Menentukan awalan yang akan dipetakan dan dikaitkan dengan nilai URI namespace yang ditentukan dalam xml_namespace_uri. xml_namespace_prefix harus berupa pengidentifikasi SQL Server.

Keterangan

Saat Anda menggunakan klausa WITH XMLNAMESPACES dalam pernyataan yang juga menyertakan ekspresi tabel umum, klausa WITH XMLNAMESPACES harus mendahului ekspresi tabel umum dalam pernyataan.

Berikut ini adalah aturan sintaks umum yang berlaku saat Anda menggunakan klausa WITH XMLNAMESPACES:

  • Setiap deklarasi namespace XML harus berisi setidaknya satu item deklarasi namespace default XML.

  • Setiap awalan namespace XML yang digunakan harus berupa nama yang tidak dikolonisasi (NCName) di mana karakter titik dua (:) bukan bagian dari nama.

  • Anda tidak dapat menentukan awalan namespace dua kali.

  • Awalan namespace XML dan URI peka huruf besar/kecil.

  • Awalan xmlns namespace XML tidak dapat dideklarasikan.

  • Awalan xml namespace XML tidak dapat diganti dengan namespace, selain namespace URI 'http://www.w3.org/XML/1998/namespace', dan URI ini yang tidak dapat diberi awalan yang berbeda.

  • Awalan xsi namespace XML tidak dapat direklarasikan ulang ketika direktif ELEMENTS XSINIL sedang digunakan pada kueri.

  • Tidak perlu mendeklarasikan 'http://www.w3.org/2001/XMLSchema-instance' untuk menggunakan namespace standar xsi. Ini secara implisit ditambahkan oleh prosesor XML/XPATH jika tidak ditentukan dan ekspresi xpath dapat menggunakan awalan xsi selama skema 'http://www.w3.org/2001/XMLSchema-instance' dideklarasikan dengan benar dalam dokumen xml.

  • Nilai string URI dikodekan sesuai dengan halaman kode kolase database saat ini dan diterjemahkan secara internal ke Unicode.

  • URI namespace XML akan diciutkan spasi kosong setelah aturan ciutkan spasi putih XSD yang digunakan untuk xs:anyURI. Selain itu, perhatikan bahwa tidak ada pemberian izin atau deentitasi yang dilakukan pada nilai URI namespace XML.

  • URI namespace XML akan diperiksa untuk karakter XML 1.0 yang tidak valid, dan kesalahan akan muncul jika ditemukan (seperti, U+0007).

  • URI namespace XML (setelah semua spasi kosong diciutkan) tidak boleh berupa string panjang nol atau kesalahan "URI namespace kosong tidak valid" terjadi.

  • Kata kunci XMLNAMESPACES dicadangkan dalam konteks klausa WITH.

Contoh

Misalnya, lihat Menambahkan Namespace ke Kueri dengan DENGAN XMLNAMESPACES.

Lihat Juga

Referensi Bahasa XQuery (SQL Server)