用于在Java下的Saxon中加载和验证XML文件和架构的示例代码

问题描述 投票:0回答:1

这是我们系统中的一个工具,它将验证它可以使用Saxon加载XML文件并列出所有问题。因此,我想让Saxon加载文件并在无法完全解析文件时引发异常。该测试可以选择提供一个模式文件,以便针对该模式进行验证(如果存在)。

这是我们的Java版本,因此需要使用Java API。我尝试移植C#Validate示例(没有Java验证可以找到),但是API有点不同。

并且如果可能,获取发现的已解析错误列表。

java saxon
1个回答
0
投票

在下载文件中,您应该找到使用JAXP接口的samples / java / ee / SchemaValidatorExample.java,以及使用s9api API并包括用例SchemaA和SchemaB的java / he / S9APIExamples.java。

这些可能与更新有关,它们都不利用新接口SchemaValidator.setInvalidityHandler()的优势,该接口允许您提供InvalidityReportGeneratorEE的实例,该实例可向您提供由Saxon生成的所有发现的无效报告,或者您自己的[C0 ]或InvalidityReportGenerator生成您自己的自定义报告。我建议您浏览Javadoc,以获取有关这些功能的文档。

这些非常适合于自定义报告所发现的无效性。如果文件无效,则引发异常要简单得多。

© www.soinside.com 2019 - 2024. All rights reserved.