Проблема, которую я должен решить следующий:Обработка XML Validation Выход Программным в Java
Учитывая файл XML, который «почти проверяет» с помощью XSD (или в идеале NVDL) схемы, как я могу «привязать» файл программно?
(«Почти проверяет» означает, что некоторые элементы будут иметь атрибуты, которые они не могут иметь. Гарантируется, что не будет никаких других ошибок проверки. «Фиксация» просто означает удаление атрибута обижая.)
Я пробовал использовать документ для проверки подлинности Woodstox, но по какой-то причине он не признал бы мой XSD действительным (предоставленный, он довольно сложный с несколькими импортными и абстрактными типами, но он действителен).
Альтернативой является библиотека проверки XML, которая производит вывод. Затем я могу анализировать/обрабатывать и использовать для идентификации атрибутов, которые необходимо удалить.
Любой другой подход, который производит тот же конечный продукт, также приветствуется.
Проблема в том, что я не знаю заранее, что такое нежелательные attrs. Или вы имеете в виду запуск XSLT с поддержкой схемы? – biziclop
В этом случае вы можете сначала сначала прочитать XSD, собрать необходимые атрибуты для каждого элемента, а затем пройти дерево DOM, фиксирующее каждый узел, или запустить SAX-процессор и проверить каждый узел по мере его возникновения? –
XSD слишком сложный, с абстрактными типами и все такое. Но XSLT с поддержкой схемы может работать. – biziclop