Я пытался повысить производительность проверки XML по сравнению с XSD-схемой, в частности в отношении уникальных ограничений XSD, и решил попробовать до Woodstox. Я в значительной степени следую this example, в той мере, в какой я меняю XMLValidationSchema.SCHEMA_ID_DTD
на XMLValidationSchema.SCHEMA_ID_W3C_SCHEMA
.Woodstox Stax2 XML W3C Проверка схемы - уникальная проблема ограничения
Проблема, которую я испытываю, заключается в том, что валидатор Woodstox находит XML действительным, даже если XML нарушает уникальное ограничение. Переключение обратно в моем java-коде на «обычный» javax.xml.validation.Schema
, javax.xml.stream.XMLStreamReader
и javax.xml.validation.Validator
нарушение нарушения уникальности обнаружено должным образом.
Кроме того, я могу подтвердить, что валидатор Woodstox что-то делает, поскольку, например, я вижу, что он говорит «Недопустимый XML», если, например, у меня есть отрицательное число, где положительный результат XSD ожидается в XML.
Возможно ли, что инструменты, которые я использовал до сих пор, хороши в отношении проверок уникальности на неквалифицированных элементах, тогда как Woodstox нет? Это единственная идея, которая приходит мне на ум ...
Кроме того, кто-нибудь может подтвердить, что Woodstox будет работать лучше, чем инструменты на основе Xerces (почти все, что существует на Java?), Проверяя уникальные ограничения?
Любая помощь очень ценится!
Теперь я квалифицировал все элементы, которые я использую, но валидатор Woodstox по-прежнему утверждает, что XML со сломанным уникальным ограничением действительно. В то же время регулярный 'javax.xml.validation.Validator' считает его недействительным, как и ожидалось. –