繁体   English   中英

从多个资源文件创建 Woodstox 的 XMLValidationSchema

[英]Create Woodstox's XMLValidationSchema from multiple resource files

我有一个主文件。xsd 有一个导入,其架构位置指向 file1.xsd,如下所示:

<xs:import namespace="urn:file1" schemaLocation="file1.xsd"/>

我在 Docker 容器上运行它,它抱怨在容器主文件夹中找不到 file1.xsd:

InputStream resourceStream = this.getClass().getClassLoader()
    .getResourceAsStream("file.xsd");

XMLValidationSchemaFactory schemaFactory = XMLValidationSchemaFactory
    .newInstance(XMLValidationSchema.SCHEMA_ID_W3C_SCHEMA);

XMLValidationSchema validationSchema = schemaFactory.createSchema(resourceStream);

如何将这两个 xsd 资源链接到同一个 XMLValidationSchema 中,这是我必须获得的强制类型? (修改 docker-compose/显式复制容器中的 file1.xsd 不是一种选择,尽管它可以这样工作)

Woodstox 没有用于从文档内容中自动读取模式的解析器,因此您需要使用您拥有的方法(但以有效的方式创建InputStream )。

自动解析的唯一资源是 XML 规范指定的外部 DTD 子集。

这并不是说无法实现处理程序并将其添加到 Woodstox(我相信有些用户会发现它很有用),只是目前还没有处理程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM