【问题标题】:What alternatives are there for ISO schematron validation in BizTalk?BizTalk 中的 ISO schematron 验证有哪些替代方法?
【发布时间】:2020-08-28 08:56:46
【问题描述】:

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

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

没有这样的图书馆吗? schematron 用的不是很多吗?标准 .net CLR 是否以某种方式提供支持?

我曾尝试使用https://github.com/kzu/Schematron,但在阅读了有关 ISO 标准 Schematron xml 文件的信息后,它并没有像我预期的那样工作。规则嵌入在 xsd 文档中,这不是我在 BizTalk 解决方案中想要的,其中自动执行 xsd 架构验证。

【问题讨论】:

  • 寻求库的推荐被认为是 Stackoverflow 的主题。您不能在 BizTalk 地图中使用他们在解决方案中的 XSLT 吗?是的,初始验证可能针对 BizTalk 架构,但听起来它们超出了简单架构验证所能做的范围。另请参阅此博客integration.team/blog/schematron-validation-biztalk
  • 注意:通过 BizTalk 2020,您可以使用更高版本的 XSLT
  • @Dijkgraaf,谢谢。最终得到与您提供的链接相同的解决方案。 schematron 的来源指定 xslt2,然后设置使用 BizTalk 2020 的要求才能使用它。是时候让 BizTalk 从 xslt1 升级了...我的意思是,因为将 XML 作为其首选语言...

标签: .net biztalk iso schematron biztalk-2013r2


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2014-08-08
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多