#java #xml #hibernate #validation #xsd
#java #xml #переход в спящий режим #проверка #xsd
Вопрос:
Я хочу проверить значения тегов xml в java.
Сценарий: Предположим, у меня есть следующие данные
ELements: element1, element2, element3, element4, element5
Values: value1, value2, value3, value4, value5, value6, value7, value8
Now following are the possible combinations which I have to validate:
1. Element1 can have value1/value2 ( element1->value1/value2 )
2. Element2 can have value3/value4 ( element2->value3/value4 )
4. Element3 can have value5 if element1 has value1 ( element3->value5 if element1->value1 )
else Element3 can have value6 if element1 has value2 ( element3->value6 if element1->value2 )
5. Element4 can have value7 if element1->value1 and element2->value4
Я могу жестко запрограммировать требование в одном файле Java, но мне нужен гибкий подход, при котором, если в будущем возникнет какое-либо новое условие, его можно будет легко добавить.
Я думал о проверке гибернации, но позже узнал, что она поддерживается для Java 6 и выше. Мое ограничение заключается в том, что я должен использовать Java 1.5
Пожалуйста, предложите подходящий подход для выполнения вышеуказанного требования. Любое предложение ссылки также будет работать.
Примечание: проверка схемы уже выполняется.
Комментарии:
1. Помимо Schematron, как предложено в одном из ответов, вы можете применять правила с использованием XPath для проверки содержимого, подобного этому, используя утверждения в XML Schema 1.1.
Ответ №1:
Изучите Schematron для применения бизнес-правил к данным XML
Сайт проекта Schematron — http://www.schematron.com
Вводный урок — http://www.dpawson.co.uk/schematron/introduction.html , см. раздел «Ограничения от элемента к элементу» в руководстве
Еще один учебник — http://www.xml.com/lpt/a/1318
Ответ №2:
Проверьте это http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/validation/package-summary.html . Я предполагаю, что у вас есть несколько основных методов проверки, предполагающих, что у вас есть схема
Комментарии:
1. Класс Validator проверяет только xml на соответствие схеме (xsd), но здесь, как я уже сказал, проверка схемы уже выполнена, и я ищу проверку значений
Ответ №3:
используйте класс DOMParser в java. Это вам очень поможет.