Jawaban:
Perbedaan mendasar antara include
dan import
adalah bahwa Anda harus menggunakan import
untuk merujuk ke deklarasi atau definisi yang ada di ruang nama target yang berbeda dan Anda harus menggunakan include
untuk merujuk ke deklarasi atau definisi yang (atau akan) di ruang nama target yang sama .
Sumber: https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm
Gunakan xsd: termasuk untuk membawa XSD dari namespace yang sama atau tidak.
Gunakan xsd: import untuk membawa XSD dari namespace yang berbeda .
Perbedaan lain adalah yang <import>
memungkinkan mengimpor dengan merujuk ke namespace lain. <include>
hanya mengizinkan impor dengan merujuk ke URI dari skema penyertaan yang dimaksudkan. Itu jelas perbedaan lain dari pengimporan namespace antar intra.
Misalnya, validator skema xml mungkin sudah mengetahui lokasi semua skema berdasarkan namespace . Terutama mengingat bahwa merujuk ruang nama XML oleh URI mungkin bermasalah pada sistem yang berbeda di mana classpath: // tidak berarti apa-apa, atau di mana http: // tidak diizinkan, atau di mana beberapa URI tidak menunjuk ke hal yang sama seperti pada sistem lain.
Contoh kode impor yang valid dan tidak valid dan mencakup:
Sah:
<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>
<xsd:include schemaLocation="classpath://mine.xsd"/>
Tidak valid:
<xsd:include namespace="some/name/space"/>
namespace
atribut <xs:import>
) selalu OK, dan dianggap sebagai pengidentifikasi (hanya teks, tidak ditafsirkan), sedangkan schemaLocation
(URL bukan URI) biasanya harus diproses, untuk diselesaikan. Dan memang, skemaclasspath:
URL khusus Java mungkin tidak ada artinya. Tapi selain pilihan yang rapi ini, ini adalah komentar yang berharga, terima kasih.
Saya tertarik dengan ini juga. Satu-satunya penjelasan yang saya temukan adalah yang xsd:include
digunakan untuk inklusi intra-namespace, sedangkan xsd:import
untuk inklusi antar-namespace.
Kutipan langsung dari MSDN: <xsd: import> Elemen, bagian Keterangan
Perbedaan antara elemen sertakan dan elemen impor adalah bahwa elemen impor memungkinkan referensi ke komponen skema dari dokumen skema dengan ruang nama target yang berbeda dan elemen include menambahkan komponen skema dari dokumen skema lain yang memiliki namespace target yang sama (atau tidak ada namespace target yang ditentukan ) ke skema yang mengandung. Singkatnya, elemen impor memungkinkan Anda untuk menggunakan komponen skema dari skema apa pun; yang meliputi unsur memungkinkan Anda untuk menambahkan semua komponen skema dimasukkan untuk skema mengandung.
Gunakan xsd: include membawa semua deklarasi dan definisi dokumen skema eksternal ke dalam skema saat ini.
Gunakan xsd: import untuk membawa XSD dari namespace yang berbeda dan digunakan untuk membangun skema baru dengan memperluas dokumen skema yang ada ..