【发布时间】:2011-10-23 23:16:01
【问题描述】:
我有两个 xsd 文件来验证 xml。但问题是我的代码只需要一个 xsd。下面代码中如何使用其他xsd?我不知道应该在哪里放置/调用第二个 xsd 文件。
private void validate(File xmlF,File xsd1,File xsd2) {
try {
url = new URL(xsd.toURI().toString());// xsd1
} catch (MalformedURLException e) {
e.printStackTrace();
}
source = new StreamSource(xml); // xml
try {
System.out.println(url);
schema = schemaFactory.newSchema(url);
} catch (SAXException e) {
e.printStackTrace();
}
validator = schema.newValidator();
System.out.println(xml);
try {
validator.validate(source);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
您是否已经尝试过
newSchema(Source[])? -
是的。我试过这样。它不起作用,可能是因为 Source[] 用于 xml。我们无法将 xsd 类型转换为源代码。
-
与上一个有关此 XML 验证项目的问题一样,我想向您指出 SSCCE。您的代码 sn-p 远未完成,因为您在此方法之外定义变量等。注意您提出问题的方式有助于我们为您提供帮助。
标签: java xml validation