首页 > 解决方案 > 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 解决方案中想要的,其中自动执行 xsd 架构验证。

标签: .netbiztalkisoschematronbiztalk-2013r2

解决方案


我没有找到任何库来使用 xml 和 schematron 作为输入来执行 schematron 验证。而且,在 xsd 模式中使用 schematron 实际上并不可靠,因为大多数来源分别处理 xsd 和 schematron 模式(他们应该这样做!)。而且,任何调整模式的手动工作都是一个潜在的问题。

因此,为了能够使用标准的 .net 组件,schematron 必须首先转换为 xslt。我使用“Skeleton 1.5”来做到这一点,这是一个 xslt 脚本库,用于将 schematron 转换为不同的 xslt 格式(xslt1、xslt2、iso/saxon)。我们说话时被撒克逊人使用。

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


推荐阅读