Yanıtlar:
Arasındaki temel fark include
ve import
kullanmak gerektiğidir import
bir olan açıklama veya tanımları başvurmak için farklı hedef ad ve kullanmak zorundadır include
içinde açıklama veya (veya olacak) tanımları başvurmak için aynı hedef ad.
Kaynak: https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Hun/post08016.htm
Aynı veya hiç ad alanından bir XSD getirmek için xsd: include komutunu kullanın .
Farklı bir ad alanından bir XSD getirmek için xsd: import kullanın .
Başka bir fark, <import>
başka bir ad alanına başvurarak içe aktarmaya izin vermesidir. <include>
yalnızca amaçlanan şema URI'sine başvurarak içe aktarmaya izin verir. Bu kesinlikle intra-intra ad alanı ithalatından başka bir fark.
Örneğin, xml şema doğrulayıcısı, tüm şemaların konumlarını ad alanına göre zaten biliyor olabilir . Özellikle URI tarafından XML ad alanlarına atıfta bulunmanın classpath: // 'nin hiçbir şey ifade etmediği veya http: //' nin izin verilmediği veya bazı URI'ların üzerinde olduğu şeyi işaret etmediği farklı sistemlerde sorunlu olabileceği düşünüldüğünde başka bir sistem.
Geçerli ve geçersiz ithalatların kod örneğini içerir ve şunları içerir:
Geçerli:
<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>
<xsd:include schemaLocation="classpath://mine.xsd"/>
Geçersiz:
<xsd:include namespace="some/name/space"/>
namespace
oznıtelığı <xs:import>
) Tamam hep olduğunu ve bir olarak kabul tanımlayıcı ederken, (yorumlanır sadece metin) schemaLocation
(URL olmayan bir URI) tipik çözülecek, işlenmesi gerekir. Ve aslında, Java'ya özgü classpath:
URL şeması hiçbir şey ifade etmeyebilir. Ancak bu düzgün seçimin yanı sıra, bu değerli bir yorum, teşekkürler.
Ben de bununla ilgileniyorum. Bulduğum tek açıklama xsd:include
, adlar xsd:import
arası dahil etme için kullanılırken, adlar arası dahil etme için kullanılıyor.
MSDN'den doğrudan alıntı : <xsd: import> Element, Notlar bölümü
Arasındaki fark bulunmaktadır elemanı ve ithalat elemanı olmasıdır ithalat elemanı farklı hedef ad ile şema belgelerden şema bileşenleri başvurular izin verir ve alır eleman aynı hedef ad (ya da hiç belirtilen hedef ad olan diğer şema belgelerden şema bileşenleri ekler ) içeren şemaya. Kısacası, içe aktarma öğesi herhangi bir şemadaki şema bileşenlerini kullanmanızı sağlar; dahil öğesi içeren şemaya dahil bir şema tüm bileşenlerini eklemenizi sağlar.
Use xsd: include, harici bir şema belgesinin tüm bildirimlerini ve tanımlarını geçerli şemaya getirir.
Farklı bir ad alanından bir XSD getirmek için xsd: import kullanın ve mevcut şema belgelerini genişleterek yeni bir şema oluşturmak için kullanılır.