Проверка XML с помощью Schematron/XSD в С#

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

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

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

Ответ 1

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

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

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

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

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