如何使用外部xsd和Saxon HE java验证xml



我使用Saxon HE(11.3(使用外部xsd验证xml。但是我得到了nullpointerexception,因为schemaManager为null。

Processor processor = new Processor (false); SchemaManager manager = processor.getSchemaManager(); manager.load(new StreamSource("xsdFile));

在第三行获取NPE。我不明白为什么schemaManager总是为空?我试图设置新的处理器(true(,但没有成功。

Saxon文档解释了
  1. new Processor(false)创建一个非模式感知配置

  2. new Processor(true)启用模式处理等功能需要许可证密钥

  3. 对于非模式感知配置,processor.getSchemaManager()返回null。

可能不是API设计中最优雅的部分,但该产品正在按照文档所示进行操作。

最新更新