Namespace XML: xmlns dan xsi:schemaLocation
Tanggal publikasi:
Diperbarui:
Artikel teknis > Namespace XML: xmlns dan xsi:schemaLocation
Konteks 2026 dan penggunaan yang aman
Kesimpulan: xmlns mengikat sebuah awalan atau ruang-nama baku ke URI sehingga nama elemen tetap tidak ambigu. xsi:schemaLocation hanya sebuah petunjuk bahwa pasangan URI namespace dengan lokasi skema; perilaku validasi masih tergantung pada prosesor XML.
Yang akan Anda pelajari
- Bagaimana namespace baku dan prefixed mengubah nama elemen yang diperluas.
- Mengapa URI namespace adalah sebuah identifier dan tidak perlu kembali ke halaman web.
- Bagaimana
xsi:schemaLocationberbeda darixsi:noNamespaceSchemaLocation.
Untuk siapa ini: Pengembang membaca Maven, Spring, SOAP, atau berkas konfigurasi XML lainnya.
Konteks 2026: Aturan Namespace W3C dan Skema XML tetap otoritas. Perlakukan lokasi skema jarak jauh sebagai masukan yang tidak dipercaya dan hindari tergantung pada pengambilan jaringan selama parsing produksi.
Catatan keamanan: Contoh perintah dan konfigurasi dalam artikel asli belum dijalankan ulang dalam lingkungan produksi saat ini. Verifikasi versi yang didukung, cadangan, kendali akses, dan langkah rollback dalam lingkungan tes yang terpisah sebelum menerapkannya.
Sumber resmi utama
Ikhtisar
Anda akan melihat 'xmlns', 'xsi:schemaLocation', dll. dalam file XML, dan saya ingin menjelaskan apa artinya.
Daftar isi
1. Apa itu file XML?
XML adalah singkatan dari Extensible Markup Language dan ditentukan oleh World Wide Web Consortium (W3C). Untuk spesifikasi yang lebih rinci selain "xmlns" dan "xsi:schemaLocation", silakan merujuk ke situs-situs berikut ini.
1-1. Apakah "xmlns" dan "xsi:schemaLocation"?
Contoh berikut adalah contoh deskripsi pertama dalam file XML ketika menggunakan kerangka kerja Spring untuk pengembangan aplikasi Java.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
Kesimpulannya, 'xmlns' dan 'xsi:schemaLocation' adalah pengaturan untuk definisi tentang bagaimana XML ditulis. Dalam pengembangan aplikasi Java, kerangka kerja Spring melakukan pemrosesan berdasarkan data yang terkandung dalam file XML ini. Jika tidak ada definisi tentang bagaimana menulis XML, sulit untuk mengetahui bagaimana menulisnya. Jadi, misalnya, mereka mendefinisikan bahwa "Anda dapat mendefinisikan atribut id dalam tag bean" dan "Anda dapat mendefinisikan tag konstruktor-arg dalam tag bagian dalam tag bean".
1-2. Apa itu xmlns?
xmlns mengacu pada 'namespace XML'. Secara singkat, namespace adalah ID, yaitu nilai pengidentifikasian yang unik.
Mengambil contoh sebelumnya dari "xmlns="http://www.springframework.org/schema/beans"" sebagai contoh, "http://www.springframework.org/schema/beans" adalah namespace, yaitu nilai yang secara unik mengidentifikasi Nilainya adalah.
Ini adalah URL, tetapi ketika program memprosesnya, ini tidak diproses sebagai URL, tetapi sebagai ID. Oleh karena itu, proses dilakukan dengan menemukan file XSD (file definisi XML) di mana "http://www.springframework.org/schema/beans" didefinisikan sebagai ID dan memeriksa apakah itu dijelaskan seperti yang didefinisikan dalam file XSD. Proses ini dilakukan dengan mencari file XSD (file definisi XML) dengan "" yang didefinisikan sebagai ID dan memeriksa apakah itu dideskripsikan seperti yang didefinisikan dalam file XSD. Dalam kasus Spring, file XSD juga disimpan sebagai satu set dalam file JAR.
1-3. Apa yang dimaksud dengan "xmlns:xsi"?
'xmlns', 'xmlns:xsi', dll. untuk menghindari definisi duplikat. Misalnya, jika tag sampel yang sama didefinisikan dalam "xmlns" dan "xmlns:xsi", tidak mungkin untuk menentukan definisi mana yang dijelaskan. Oleh karena itu, dimungkinkan untuk membedakan antara definisi "xmlns" dan "xmlns:xsi" untuk "sample" dan "xsi:sample" untuk "xmlns:xsi". Dengan kata lain, mereka yang memiliki "xmlns="~"" adalah nilai default, sementara mereka yang memiliki "xmlns:xxxx="~"" harus didefinisikan sebagai "xxxx:nama tag".
2. ringkasan
'xmlns' dan 'xsi:schemaLocation' adalah pengaturan file definisi untuk menulis file XML dengan benar.
Semoga penjelasan ini membantu.
Artikel teknis
Profil
Kontak