Tag: xml validation

在运行时使用加载模式validationXML,失败取决于模式顺序

我正在尝试进行xmlvalidation。 我在运行时获得了一个模式列表(可能包含在jar中)。 validation根据我向SchemaFactory提供模式的顺序传递或失败。 这是我在做的事情: private void validateXml(String xml, List schemas){ Source[] source = new StreamSource[schemas.size()]; int i=0; for (URI f : schemas){ source[i++] = new StreamSource(f.openStream()); } SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NA_URI); sf.setResourceResolver(new MyClassPathResourceResolver()); Schema schema = schemaFactory.newSchema(source); Validator validator = schema.newValidator(); validator.validate(new StreamSource(new ByteArrayInputStream(xml.getBytes())); 再次,如果传递的模式集不以xml的根元素引用的模式开始,则会失败。 有没有解决这个问题或我做错了什么?

针对XML Schema(XSD)validationJSON

是否可以在Java中validationJSON和XSD? 我有一个应用程序,我收到JSON响应,我想对现有的XSD进行validation。 我的应用程序的另一部分使用XML,这就是为什么如果它们都可以对现有的XSD进行validation最简单的原因。

在Java中针对XSDvalidationXML /获取schemaLocation

如何使用Java中的XSDvalidationXML文件? 我们事先不知道架构。 我希望能够获得schemaLocation ,下载XSD,缓存它,然后执行实际validation。 问题是,使用javax.xml.parsers.DocumentBuilder / DocumentBuilderFactory类,我似乎无法提前获得schemaLocation 。 这是什么诀窍? 我应该研究哪些课程? 也许我可以使用更合适的API? 整个问题是我们需要动态validation,而不必(必须)在本地使用XSD。 如何获得XSD文件中定义的schemaLocation的URL? 我知道你可以设置function/属性,但这是另一回事。 我需要先从XSD获取schemaLocation 。 请指教!