问题标签 [schematron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
209 浏览

string - Schematron:混合类型元素中的元素仅具有其他内容

我的 XML 数据应如下所示:

我想确保使用 Schematron 是,如果“element_in_question”之外有一些文本,“element_in_question”可能只会出现在“mixed_type_parent”中。这意味着

是不允许的,应该会导致错误。

我试图立即在“mixed_type_parent”中获取所有文本的字符串长度

但是,XPath 中还有一个最烦人的错误:“不允许将多个项目的序列作为 replace() 的第一个参数”

在 XSLT 中,我通过你能想到的最简单的函数解决了这个问题:

(在 XPath 中似乎没有这样的内置函数真的很遗憾。)

但是如何在 Schematron 中使用这个功能呢?我没有找到解决方案。

除此之外:除了“mixed_type_parent”之外,如何从“mixed_type_parent”的所有其他孩子中获取所有文本?

0 投票
1 回答
506 浏览

xml - 使用多个 schematron 文件验证 XML 文件

我有一个要使用 Schematron 验证的 XML 文件。该文件是一个长文件。所以为了使工作更容易,我制作了单独的 Schematron 规则文件。每个 Schematron 文件验证 XML 文件的不同部分。如果 XML 文件通过所有 Schematron 文件成功验证,则 XML 文件有效。否则,它不是有效的 XML 文件。

有没有办法制作一个可以调用所有其他 Schematron 文件的 Schematron 文件?ONE 类似于将使用其他 Schematron 文件来验证 XML 文件的根或主。

0 投票
1 回答
329 浏览

c# - Schematron 断言规则在设置上下文时失败

我正在尝试使用 NMatrix 的 Schematron 来验证 C# 中的 XML。如果我将“f”命名空间留在命名空间管理器 (nsManager) 之外,则会出现异常:未声明的命名空间前缀 - f执行此代码时。

对于 Schematron 线:

添加“f”命名空间后,“规则”行完成,但 执行相同代码时出现异常:无法识别的扩展函数命名空间:前缀='',命名空间URI='' 。

对于下一个 Schematron 行:

经过一些实验,我发现这是可行的:

但这失败了:

起初我以为我遇到了某种命名空间问题,但现在我开始怀疑这种语法对 XPathExpression 是否有效

0 投票
1 回答
886 浏览

c# - 如何创建 XSLT 样式表

我可以访问 Schematron xsl 文件和 Schematron sch 文件。如何使用 C# 将其转换为 XSLT 样式表?

xsl + sch --> [???XSLT 处理器 ??? ] --> xslt 样式表

0 投票
2 回答
4174 浏览

c# - 将 SAXON 9.5 (nuget) 与 Schematron 一起使用

我正在运行此代码:

在检查 xsltSchematronStylesheet 时,我得到了一个 XSLT 文件。然而,st2 末尾的流的长度为 0。此外, MyMessageListener.Message 没有收到任何呼叫(我使用了断点)。

我不确定我是否有错误的代码、错误的示例文件等。我相信我的示例文件是正确的,但也许我有错误的文件或遗漏了一些。

有谁知道为什么没有数据返回到流 st2。如果不能,你能指导我找到一个包含所有文件和作品的简单示例吗?

0 投票
1 回答
123 浏览

validation - 使用输入参数进行跨平台 xml 验证

我正在尝试为针对 SAML 规范的 SAML 断言编写一个跨平台验证器。我需要一个多平台 XML 验证器,它可以接受用于与 XML 中的属性进行比较的参数。例如发送 senderID 以验证发件人 id 是“identProvider”

有谁知道可以做到这一点的 XML 验证框架?

0 投票
1 回答
5728 浏览

java - 在 build.xml 中设置 ANT CLASSPATH

这个特殊的问题已经被问了好几次了,但不是很让我满意。我对提出的解决方法并不真正感兴趣,而是对如何做我真正想做的事情感兴趣。

想要一个令人满意的解释,说明为什么如果不是这样是不可能的,并且由于我建议自己为此提交一个修复程序,我想了解为什么没有尝试过看起来如此简单的事情。

目前,为了确保一组 jar 可供 ant 使用,必须采用以下方法之一:

  • 添加到CLASSPATH环境变量 - 文档中的“不推荐”
  • 添加到$ANT_HOME/lib~/.ant/lib- 需要在构建环境中进行配置
  • 调用时设置-lib参数ant

最后一个选项是我确定的首选选项,但它仍然需要调用构建的人的一些干预(我已ant在我的开发存储库中的包装脚本中捕获)。

特别是我正在尝试调用Schematron Ant任务,该任务应根据以下文档进行设置:

但是,这对 saxon 有传递依赖,因此如果没有saxon.jaravailable on CLASSPATH,则构建失败:

ant 文档本身继续建议它应该是 taskdef 本身接受这些额外的条目CLASSPATH,但我已经尝试使用 schematron ant-task 进行此操作,但无济于事。

关键问题是是否应该由 schematron ant 任务来支持这一点,或者 ant build.xml 是否可以在其内部配置其全局类路径?

似乎这是人们经常想要做的事情,而且由于 ant 文档本身建议不要自己使用 CLASSPATH,我很惊讶 build.xml 本身没有替代方案!

0 投票
1 回答
165 浏览

schematron - 如何将 phloc schematron-pure 与 Document -schema-definition 一起使用

这个问题涉及phloc-schematron,一个用于 ISO Schematron 验证的库。

我正在动态创建 schematron 文件,因此我将它们作为文档(当然也可以作为字符串)提供

我找不到将字符串或文档作为参数的 SchematronResourcePure 构造函数,也找不到从中创建 IReadableResource 的方法。

有人可以建议如何做到这一点吗?

0 投票
1 回答
581 浏览

validation - 支持带有嵌入式iso Schematron的relax ng Schemas的命令行验证器

是否有任何命令行验证器可以处理带有嵌入式 iso schematron 的松弛 ng-Schemas?

我有几个带有嵌入式 iso-schematron 规则的放松 ng-schemas,我必须能够在命令行上进行验证。看起来,我们常用的验证器 jing 只适用于 schematron 1.5。在网上冲浪时,我找不到任何支持嵌入式 iso schematron 的验证器,但我使用 oXygen 作为 xml 编辑器,我可以从那里很好地验证。

0 投票
0 回答
874 浏览

c# - 如何对不同的 xml 文件属性进行 Schematron 验证

我有一个 source1.xml 文件

另一个source2.xml

我需要验证两个 xml 文件的“id”属性是否具有相同的值。我可以使用这个链接(http://zvon.org/xxl/SchematronTutorial/Examples/Example17/example.html)中显示的schematron

所以我在 xsd 文件 (source2.xsd) 上创建了我的 schematron,如下所示

我的 C# 验证代码如下所示

如果我们观察到两个 xml 文件,那么在使用 schematron 进行验证时,它应该在前两个 id 值处给我错误。但是我没有收到任何错误..任何人都可以在这里帮助我....