Şemaları bulmak için spesifikasyona göre
ad alanı adı aracılığıyla geri alınabilen bir şema olabilir veya olmayabilir ... Kullanıcı topluluğu ve / veya tüketici / sağlayıcı anlaşmaları, [ad alanı url'sinden bir xsd almaya çalışmak] mantıklı bir varsayılan strateji olduğu durumlar oluşturabilir
(açık olduğunuz için teşekkürler, spec!)
ve
bir belge yazarının (insan veya değil) belirli bir şemaya sahip bir belge oluşturması ve belgenin bir kısmının veya tamamının bu şemaya uygun olduğunu garanti etmesi durumunda, schemaLocation ve noNamespaceSchemaLocation [öznitelikler] sağlanır.
Dolayısıyla, temelde yalnızca bir ad alanı belirterek, XML'niz schemaLocation
"topluluğunuza" bağlı olarak o konumdaki bir xsd'ye karşı doğrulanmaya çalışılabilir (bir özniteliği olmasa bile ). Spesifik bir belirtirseniz schemaLocation
, temel olarak xml belgesinin adı geçen xsd'ye "uygun" olması gerektiği anlamına gelir, bu nedenle "lütfen doğrulayın" (okurken). Tahminim, bir schemaLocation
veya noNamespaceSchemaLocation
özniteliği yapmazsanız , çoğu zaman sadece "doğrulanmaz" (diğer yanıtlara göre, java bunu bu şekilde yapıyor gibi görünüyor).
Buradaki başka bir kırışıklık, tipik olarak, java kitaplıklarında [ör: spring config xml dosyalarında] xsd doğrulamasında, XML dosyalarınız schemaLocation
bir XML dosyasında belirli bir xsd url'sini xsi:schemaLocation="http://somewhere http://somewhere/something.xsd"
belirtiyorsa , tıpkı bağımlılık kavanozlarınızdan birinde olduğu gibi , bir kopyasını içerecektir . bu xsd dosyası, kaynaklar bölümünde ve spring, xsd dosyasını url ile eşleşiyormuş gibi ele almayı söyleyen bir "eşleme" özelliğine sahiptir http://somewhere/something.xsd
(böylece hiçbir zaman web'e gidip dosyayı indiremezsiniz, sadece yerel olarak mevcuttur). Biraz daha fazla bilgi için ayrıca https://stackoverflow.com/a/41225329/32453 sayfasına bakın .