2016-12-06 3 views
0

В приложении Java с использованием XML некоторые тесты должны быть выполнены с отключенной проверкой XML, чтобы убедиться, что части Java работают правильно, если они сталкиваются с некорректными данными. Нам также нужно это, чтобы проверить старые методы (написано более 10 лет назад).Поворот проверки для SAXParserFactory

Я пытался найти все вхождения в SAXParserFactory и использовать

setValidation(false); 

на нем, для того, чтобы отключить проверку. К сожалению, я продолжаю получать ошибки, похожие на приведенные ниже.

SAXException stacktrace

Я играл Arround с этим на некоторое время теперь, и не могу относиться к подобным делам, как это. Элементы запускающие исключение похожи на это:

Exception=org.xml.sax.SAXException, cvc-complex-type.4=Attribute 'date' must appear on element 'XXXXXXXXX' 

Любые идеи о том, как правильно правильно отключить проверку?

Спасибо за чтение.

ответ

2

Я думаю, вы имеете в виду SAXParserFactory#setValidating(boolean value). Однако этот метод определяет, проверяет ли анализатор XML-документ в соответствии с DTD или нет. В вашей трассе стека это выглядит, как схемы используются вместо этого.

Чтобы избежать проверки по схемам, вы должны искать вхождения SAXParserFactory#setSchema(...) и делать все необходимое (удалять/оставлять комментарии).

Смежные вопросы