我正在使用 schematron 来验证大型 xml 文件(几兆字节)。如果文件没问题(如果没有错误),验证会非常快。但是当错误计数增加时,schematron 验证时间的执行时间就会增加。
例如,当发现 200 个错误时,是否有任何方法可以停止 schematron XSLT 验证。这会有所帮助,因为如果存在包含数百次相同错误的大文件,那么只报告第一个错误并要求用户在更正这些错误后再次验证文件就足够了。
我正在使用 schematron 来验证大型 xml 文件(几兆字节)。如果文件没问题(如果没有错误),验证会非常快。但是当错误计数增加时,schematron 验证时间的执行时间就会增加。
例如,当发现 200 个错误时,是否有任何方法可以停止 schematron XSLT 验证。这会有所帮助,因为如果存在包含数百次相同错误的大文件,那么只报告第一个错误并要求用户在更正这些错误后再次验证文件就足够了。
通过将Schematron Terminator Validator与Schematron Phases 相结合,您应该能够非常接近您的要求
终止符验证器允许 schematron 验证在遇到第一个错误时失败。
阶段允许将验证分解为多个阶段并逐步执行。
这些中的一个或两个结合起来应该可以让您接近您想要的 - 也许将所有规则类放入阶段然后使用终结器运行每个阶段会产生良好的结果,允许用户一次被告知多个错误。