XML - проверка инфы

nekaya

Имеется некий формат небольшого XML-файла (около 400 атрибутов). Содержащуюся там информацию необходимо проверять на соответствие определенному набору условий (около 100 - 200 ограничений в т.ч. проверки с использованием внешних справочников.
Так же есть некоторая интерфейсная софтина, хреново и криво выполняющая эти проверки при ручном вводе данных оператором.
Нужна автоматическая поточная загрузка и проверка таких документов (к сожалению вся необходимая логика была сделана уродами-разработчиками в клиентской софтине, а не на серверной стороне). Причем одним из главных требований является "прозрачность" кода и простота поддержки.
Пока есть несколько вариантов "куда копать":
1) написать это на T-SQL, тем более что инфа все равно должна разбираться в базу (mssql2005). только вот сдается мне, что ни о какой прозрачности и легкости тут и речи быть не может, да еще и со скоростью помучаться придется.
2) написать приблуду на XSLT (не особо разбираюсь которая получала бы на вход эти документы + слитые в xml справочники, выполняла бы все необходимые проверки и выдавала бы некий xml с перечнем "ошибок".
3) не страдать фигней, не зная xslt, и набросать тоже самое на BizTalk'е, благо закуплено и мощный сервак под него простаивает, к тому же это есть его прямое назначение и вроде бы имеется "интерфейс для блондинок", заодно бы немного освоили продукт.
Вопросы:
- есть ли еще какие средства решения задачи?
- что из этого удобнее писать/поддерживать?
- какие плюсы/минусы?

kruzer25

Содержащуюся там информацию необходимо проверять на соответствие определенному набору условий (около 100 - 200 ограничений)
xsd?

nekaya

В файлах есть избыточная информация, например "категория" и "подкатегория", последней в принципе достаточно, но надо сверить с внешними справочниками, что нет косяков. Пример естественно сильно упрощенный.
XSD позволяет ограничивать значения одних атрибутов/элементов в зависимости от значений других? А потом еще и ругательства о нарушении схемы на понятный неспециалисту русский язык переводить замучаюсь, отдельная задача получится.

Dasar

linq можно попробовать

nekaya

интересная штука, хотя в данном случае каких-либо преимуществ над решением с T-SQL вроде не видно.

Dasar

удобнее тем, что можно использовать сложные типы, объекты, коллекции
Оставить комментарий
Имя или ник:
Комментарий: