xml doğrulaması yapmaya çalışıyorum. Çalışma zamanında şemaların listesi veriliyor (muhtemelen bir kavanozda sarılıyorum). Doğrulama, SchemaFactory'ye şemaları sağladığım sıraya göre geçer veya başarısız olur. şemanın geçti kümesi şemasında ile başlamak yoksaÇalışma zamanında yükleme şemaları ile XML'yi doğrulayın, şema düzenine bağlı olarak hata oluştu
private void validateXml(String xml, List<URI> schemas){
Source[] source = new StreamSource[schemas.size()];
int i=0;
for (URI f : schemas){
source[i++] = new StreamSource(f.openStream());
}
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NA_URI);
sf.setResourceResolver(new MyClassPathResourceResolver());
Schema schema = schemaFactory.newSchema(source);
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new ByteArrayInputStream(xml.getBytes()));
daha, bu başarısız olduğu xml referrs kök öğesi: Burada
yapıyorum budur. Buna bir çözüm var mı, yoksa yanlış bir şey mi yapıyorum?
Şemaları ve XML'yi bir yere gönderir misiniz? – davidfmatheson
@davidfmatheson Maalesef bu mümkün değil, ilk şemanın gövdesinin farklı bir etiketle değiştirilmesine izin veren bir dizi şema, kök şema ve ikinci bir şema olduğunu söyleyebilirim. –