У меня есть старое приложение, которое использует jar с именем xerces.jar. Глядя на это, я вижу, что это то же самое, что и xercesImpl-2.9.1.jar из репозитория maven.
Когда я запускаю приложение, валидация xml ведет себя по-разному в зависимости от того, назван ли jar-файл xerces.jar или xercesImpl-2.9.1.jar.
Я подозреваю, что с порядком, найденным на пути к классам, что-то происходит, но я не до конца понимаю, что происходит.
Есть идеи о том, что происходит?
Конкретное изменение заключается в следующем:
Начальный тег выглядит так:
<Message xmlns="http://www.foo.com/messaging" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" release="006" version="010" xsi:schemaLocation="file:///C:/SOME/PATH">
Когда файл jar называется «xerces.jar», он принимается, когда приложение проверяет соответствие определенной схеме. Когда jar называется «xercesImpl-2.9.1.jar», он выдает ошибку: Атрибут «xsi: schemaLocation» не может появляться в элементе