我正在尝试使用在Java 7.0_80中运行的以下Java代码和在Ubuntu 16.04操作系统下运行的Tomcat 7 WebServer来针对xsd验证XML文件:
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(schemaUrl);
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new StringReader(xml)));
以下说明需要很长时间才能回复:
架构架构= factory.newSchema(schemaUrl);
经过多次尝试,Tomcat抛出了JavaOutOfSpace错误。
我一直在使用这个xsd文件很长一段时间,而且代码实际上在具有相同特性的另一台服务器上运行得很好。这曾经在这台服务器上完美运行,直到我们在2017年7月29日安装了安全更新。从那时起,我们尝试了以下方法:
xsd文件有一些位于本地的导入,它没有在服务器外部的任何导入:
我所读到的是,在加载此声明中加载的W3C的DTD时,可能会出现问题:
xmlns:xs =“http://www.w3.org/2001/XMLSchema”
我读过的解决方案是在本地加载DTD,这里的问题是:
感谢您的帮助。