Bagikan melalui


Mengelola Namespace Layanan dalam Dokumen XML

Kumpulan nama XML mengaitkan nama elemen dan atribut dalam dokumen XML dengan URI kustom dan yang telah ditentukan sebelumnya. Untuk membuat asosiasi ini, Anda menentukan awalan untuk URI namespace layanan, dan menggunakan awalan tersebut untuk memenuhi syarat elemen dan nama atribut dalam data XML. Namespace layanan mencegah tabrakan nama elemen dan atribut, dan mengaktifkan elemen dan atribut dengan nama yang sama untuk ditangani dan divalidasi secara berbeda.

Mendeklarasikan namespace layanan

Untuk mendeklarasikan namespace layanan pada elemen, Anda menggunakan xmlns: atribut :

xmlns:<name>=<"uri">

di mana <name> adalah awalan namespace layanan dan <"uri"> merupakan URI yang mengidentifikasi namespace layanan. Setelah mendeklarasikan awalan, Anda dapat menggunakannya untuk memenuhi syarat elemen dan atribut dalam dokumen XML dan mengaitkannya dengan URI namespace layanan. Karena awalan namespace layanan digunakan di seluruh dokumen, panjangnya harus pendek.

Contoh ini mendefinisikan dua BOOK elemen. Elemen pertama memenuhi syarat oleh awalan, mybook, dan elemen kedua memenuhi syarat oleh awalan, bb. Setiap awalan dikaitkan dengan URI namespace layanan yang berbeda:

<mybook:BOOK xmlns:mybook="http://www.contoso.com/books.dtd">  
    <bb:BOOK xmlns:bb="urn:blueyonderairlines" />
</mybook:BOOK>

Untuk menandakan bahwa elemen adalah bagian dari namespace layanan tertentu, tambahkan awalan namespace layanan ke dalamnya. Misalnya, jika Author elemen milik mybook namespace layanan, elemen tersebut dinyatakan sebagai <mybook:Author>.

Cakupan deklarasi

Namespace layanan efektif dari titik deklarasinya sampai akhir elemen yang dideklarasikan. Dalam contoh ini, namespace layanan yang ditentukan dalam BOOK elemen tidak berlaku untuk elemen di luar BOOK elemen, seperti Publisher elemen :

<Author>Joe Smith</Author>  
<BOOK xmlns:book="http://www.contoso.com">  
    <title>My Wonderful Day</title>  
      <price>$3.95</price>  
</BOOK>  
<Publisher>  
    <Name>MSPress</Name>  
</Publisher>  

Namespace layanan harus dideklarasikan sebelum itu dapat digunakan, tetapi tidak harus muncul di bagian atas dokumen XML.

Saat Anda menggunakan beberapa namespace layanan dalam dokumen XML, Anda dapat menentukan satu namespace layanan sebagai namespace layanan default untuk membuat dokumen yang terlihat lebih bersih. Namespace layanan default dideklarasikan dalam elemen akar dan berlaku untuk semua elemen yang tidak memenuhi syarat dalam dokumen. Namespace layanan default hanya berlaku untuk elemen, bukan ke atribut.

Untuk menggunakan namespace layanan default, hilangkan awalan dan titik dua dari deklarasi pada elemen :

<BOOK xmlns="http://www.contoso.com/books.dtd">  
...
</BOOK>

Mengelola namespace layanan

Kelas XmlNamespaceManager menyimpan kumpulan URI namespace layanan dan awalannya, dan memungkinkan Anda mencari, menambahkan, dan menghapus namespace layanan dari koleksi ini. Dalam konteks tertentu, kelas ini diperlukan untuk performa pemrosesan XML yang lebih baik. Misalnya, XsltContext kelas menggunakan XmlNamespaceManager untuk dukungan JalurX.

Pengelola namespace layanan tidak melakukan validasi apa pun pada namespace layanan, tetapi mengasumsikan bahwa awalan dan namespace layanan telah diverifikasi dan sesuai dengan spesifikasi Namespace W3C.

Catatan

LINQ KE XML di C# dan Visual Basic tidak digunakan XmlNamespaceManager untuk mengelola namespace layanan. Lihat Bekerja dengan Kumpulan nama XML (C#) dan Bekerja dengan Kumpulan nama XML (Visual Basic) dalam dokumentasi LINQ untuk informasi tentang mengelola namespace layanan saat menggunakan LINQ ke XML.

Berikut adalah beberapa tugas manajemen dan pencarian yang dapat Anda lakukan dengan XmlNamespaceManager kelas. Untuk informasi dan contoh selengkapnya, ikuti tautan ke halaman referensi untuk setiap metode atau properti.

Untuk Menggunakan
Menambahkan namespace layanan metode AddNamespace
Menghapus namespace layanan metode RemoveNamespace
Menemukan URI untuk namespace layanan default Properti DefaultNamespace
Menemukan URI untuk awalan namespace layanan metode LookupNamespace
Menemukan awalan untuk URI namespace layanan metode LookupPrefix
Mendapatkan daftar namespace layanan di simpul saat ini metode GetNamespacesInScope
Cakupan namespace layanan Metode PushScope dan PopScope
Memeriksa apakah awalan ditentukan dalam cakupan saat ini metode HasNamespace
Mendapatkan tabel nama yang digunakan untuk mencari awalan dan URI Properti NameTable

Lihat juga