Уровень проверки с проверками взаимозависимости - PullRequest
0 голосов
/ 29 октября 2010

Существующие бэкэнд-сервисы будут открыты для большего количества клиентов (добавление уровня веб-сервисов в клиент веб-интерфейса).
В настоящее время XML-схема используется для проверки DTO, но, поскольку внешний интерфейс находится вне нашего контроля, нам придется переместить расширенные тесты (например, тесты взаимозависимости) из уровня внешнего интерфейса на новый «уровень проверки».
Теперь наш вопрос заключается в том, существует ли общий шаблон для этого, например. чем-то похожим на использование RELAX NG или движком правил? Требуется уметь проверять типы данных (мы бы остановились здесь на XML-схеме) и взаимозависимости, но эти взаимозависимости могут быть довольно сложными, т.е. они могут включать проверку данных, которых нет во входных данных (но в какой-то внешней системе).
Таким образом, мы ищем шаблоны, а также структуру, которая облегчает реализацию шаблонов.

1 Ответ

0 голосов
/ 18 июня 2011

Schematron - это язык схемы для просмотра (вероятно, используемый как слой поверх вашего XSD).

Schematron основан на ограничениях, выраженных с помощью XPath, который в большинстве случаевдостаточно мощный, чтобы выразить, что нужно.Поскольку XPath может быть расширен с помощью пользовательских функций, существует возможность выполнить любую проверку, например, путем сравнения данных из внешних баз данных и т. Д.

(Если вы используете данные вне документа для проверкиВ этом случае хороший подход состоит в том, чтобы представить эти внешние данные в виде XML - возможно, доступного в стиле RESTy - чтобы ограничения валидации могли быть полностью выражены в терминах XML в вашей схеме Schematron.)

...