Мне не удалось найти подходящие примеры ни в документации, ни в StackOverflow. На единственный вопрос, похожий на мой, ответ применим только к конфигурации Apache Commons Configuration1, и этот ответ неприменим ко мне.
Как мне загрузить и проверить файл конфигурации XML?< /p>
Изменить: кто-то проголосовал за этот вопрос, требуется дополнительная информация, поэтому вот они.
Пример проверки XSD в Документация по конфигурации Apache Commons выглядит следующим образом:
Код: Выделить всё
Parameters params = new Parameters();
FileBasedConfigurationBuilder builder =
new FileBasedConfigurationBuilder(XMLConfiguration.class)
.configure(params.xml()
.setFileName("myconfig.xml")
.setSchemaValidation(true));
// This will throw a ConfigurationException if the XML document does not
// conform to its Schema.
XMLConfiguration config = builder.getConfiguration();
Код: Выделить всё
myconfig.xmlКод: Выделить всё
File f = new File(xmlfile);
log.info("Reading {}", f.getAbsoluteFile());
URL url = getClass().getResource("/schema/configuration.xsd");
log.trace("loading XSD from {}", url);
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(url.openStream());
Schema schema = factory.newSchema(schemaFile);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setSchema(schema);
dbf.setNamespaceAware(true);
dbf.setValidating(false); // ignore XSD references within the document
DocumentBuilder db = dbf.newDocumentBuilder();
MyErrorHandler meh = new MyErrorHandler();
db.setErrorHandler(meh);
db.parse(f); //
Подробнее здесь: [url]https://stackoverflow.com/questions/78483926/apache-commons-configuration2-and-xml-schema-validation[/url]
Мобильная версия