У нас есть два файла схемы (XSD), и один файл включает другой. Когда мы загружаем файл схемы для проверки файлов XML, он неправильно загружается в веб-приложение. Он выдает ошибку для включенных элементов файла схемы.
Source[] sources = new StreamSource[2];
Source schemaFile = new StreamSource(Test.class.getClassLoader().getResourceAsStream(“a.xsd”));
sources[0] = schemaFile;
Source schemaFile1 = new StreamSource(Test.class.getClassLoader().getResourceAsStream(“b.xsd”));
sources[1] = schemaFile1;
Schema schema = factory.newSchema(sources);
b.xsd включает файл a.xsd. Но тот же код работает нормально, когда мы запускаем его в основном методе.
Может ли кто-нибудь дать предложение по устранению этой проблемы?
Мы можем сделать это с помощью LSResourceResolver в пакете org.w3c.dom.ls. Проблема проверки XML-файла с использованием Java с XSD, имеющим включение
Есть ли способ сделать это с помощью javax в базовом веб-приложении?
Ошибка:
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ns:Request'.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.beginNode(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown Source)
at javax.xml.validation.Validator.validate(Unknown Source)