Проверка XML с помощью Schematron/XSD на C#
-
16-09-2019 - |
Вопрос
Я искал способ сделать более сложную проверку бизнес-правил XML-документов.Пока что Schematron, кажется, может делать то, что мне нужно.
Я осмотрелся и обнаружил, что те немногие библиотеки, которые я нашел, были очень старыми и, похоже, больше не поддерживаются.Был ли Schematron «горячим» только в 2002 году?Существуют ли какие-либо библиотеки, которые могут выполнять проверку на С#, или как это сделать?
Или есть другие, которые могут выполнять расширенную проверку, имеют библиотеки C# и стандартизированы?
Решение
Чего бы это ни стоило, это мой опыт...
У меня были моменты, когда мне хотелось, чтобы схемы могли делать больше в плане проверки бизнес-правил.Однако, по моему опыту, существует схема для определения контракта данных (формат, типы и т. д.)... НЕТ для обеспечения соблюдения бизнес-правил.Попытка сделать что-то большее наталкивается на всевозможные проблемы, и, возможно, именно поэтому популярность Schematron, похоже, утихла (возможно, это плохое предположение, что я не могу сделать резервную копию).
Чтобы обойти это, обычно можно использовать двухпроходной подход:
- Проверьте структуру/типы данных xml и т. д. с помощью проверки схемы.
- Примените проверку бизнес-правил по XML (в обычном коде С#).
Я понимаю, что вы хотите использовать комплексный подход к проверке, но попытка использовать для этого схему вызывает больше головной боли в долгосрочной перспективе.В конечном итоге вы получите более точный контроль над проверкой бизнес-правил за счет изоляции от кода.