BizTalk中的ISO schematron验证有哪些替代方案?

问题描述

当前,现有解决方案包含Saxon和Java依赖项,并使用xslt文档作为验证的输入。但是,ISO Schematron是包含具有业务规则的Schematron Schema的xml文件

理想情况下,我正在寻找一个库,以使用xml消息和xml schematron作为输入来执行验证,以返回验证结果(最好在xml中使用)。

没有这样的图书馆吗?使用了schematron吗?标准.net CLR是否提供某种支持

我已尝试使用https://github.com/kzu/Schematron,但在阅读了有关ISO标准Schematron xml文件后,它没有按预期工作。规则嵌入在xsd文档中,而这在BizTalk解决方案中不是我想要的,在BizTalk解决方案中,xsd模式验证是自动执行的。

解决方法

我没有找到任何库以XML和schematron作为输入来执行schematron验证。而且,在xsd模式中包含schematron实际上是不可行的,因为大多数源都分别处理xsd模式和schematron模式(应该这样做)。而且,任何手动调整架构的工作都是潜在的问题。

因此,要能够使用标准.net组件,必须首先将schematron转换为xslt。我使用xslt脚本库“ Skeleton 1.5”完成了此任务,该脚本将schematron转换为不同的xslt格式(xslt1,xslt2,iso / saxon)。在我们讲话时由撒克逊人使用。

我的schematron来源指定使用xslt2,这意味着我需要使用BizTalk 2020来实现我的目标。幸运的是,客户即将升级。