【发布时间】:2016-02-25 11:14:37
【问题描述】:
我想在使用多种验证技术后突出显示 XML 文档的某些部分。在 XML 中定位 XSD 验证失败没有问题,可以跟踪错误行。 但是,一些验证步骤是由 Schematron 断言和报告语句完成的。当我在使用诊断元素触发断言/报告语句时发回当前 XPath 位置时,即使上下文非常特定于语句,我也只能返回根。
有什么方法可以获取行号或 XPath 字符串来定位触发 Schematron 断言语句的位置?
【问题讨论】:
-
您将 Schematron 与什么验证工具或库一起使用? Xerces 等工具将始终指向文档中断言失败的特定点。
-
实际上我使用 C# 从 xsd 文件中提取 Schematron 规则,然后使用 C# 命令验证 XSD 和 Schematron,然后我读取了两者的验证消息。我认为 Schematron 断言/报告语句中可能有一个选项,我可以使用它轻松调用 XPath 位置,但我还没有找到这样的选项。
标签: xpath location assert schematron