Проверка XML с помощью Schematron / XSD в C # - PullRequest
11 голосов
/ 25 апреля 2009

Я искал способ сделать более продвинутую проверку бизнес-правил XML-документов. Пока что Schematron, кажется, может делать то, что мне нужно.

Я осматривался, и несколько найденных библиотек были очень старыми и, похоже, больше не поддерживали. Был ли Schematron «горячим» только в 2002 году? Существуют ли библиотеки, которые могут выполнять проверку в C # - или как мне это сделать?

Или есть другие, которые могут выполнять расширенную проверку и имеют библиотеки C # и стандартизированы?

1 Ответ

13 голосов
/ 25 апреля 2009

Для чего это стоит, это был мой опыт ...

У меня были моменты, когда мне хотелось бы, чтобы схемы могли делать больше по принципу проверки бизнес-правил. Однако, по моему опыту, существует схема для определения контракта данных (формат, типы и т. Д.) ... НЕ для обеспечения соблюдения бизнес-правил. Попытка сделать что-то большее, чем это, наталкивается на всевозможные проблемы, и, возможно, именно поэтому Schematron, похоже, утратил свою популярность (возможно, ошибочное предположение, что я не могу сделать резервную копию).

Чтобы обойти это, обычно можно сделать два прохода:

  • Проверка структуры / типов данных xml и т. Д. С использованием проверки схемы.
  • Применение проверки бизнес-правил к xml (в обычном коде c #).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...