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