Il semble que le package javax.xml.validation dispose des fonctionnalités souhaitées. Si vous avez votre document chargé dans une variable nommée le document déjà, cela devrait faire l'affaire:
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(new File("mySchema.xsd"));
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an instance document
Validator validator = schema.newValidator();
// validate the DOM tree
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}
A partir de cette page:
http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/package-summary.html
Lorsque vous essayez de mettre en œuvre, mon compilateur est impossible de résoudre XMLConstants.W3C_XML_SCHEMA_NS_URI. J'utilise Java 1.6 et la documentation dit qu'il devrait être là, mais je ne le vois pas comme faisant partie de la classe javax.xml.XMLConstants. Pensées? – Casey
Tout ce que je peux penser est de s'assurer que vous importez javax.xml.XMLConstants. Il y a d'autres XMLConstants que mon EDI a suggéré, mais ils ne fonctionnent pas. –
Je l'ai fait. Il n'y a qu'une seule autre option que cela donne et ce n'est certainement pas la bonne. Je viens de remplacer la constante par l'url que la documentation donne. – Casey