48.12. 模式验证
JaxbDataFormat 支持通过 marshalling 和 unmarshalling 从 / 到 XML 进行验证。您可以使用前缀 classpath:、file: 或 http: 指定应如何解析资源。您可以使用 、 字符分隔多个架构文件。
注意
如果 XSD 模式文件导入/访问其他文件,则需要启用文件协议(或其他人允许访问)。
使用 Java DSL,您可以使用以下方法进行配置:
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
jaxbDataFormat.setAccessExternalSchemaProtocols("file");
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
jaxbDataFormat.setAccessExternalSchemaProtocols("file");
您可以使用 XML DSL 执行相同的操作:
<marshal>
<jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"
accessExternalSchemaProtocols="file"/>
</marshal>
<marshal>
<jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"
accessExternalSchemaProtocols="file"/>
</marshal>