Je suis en train de valider mes fichiers XML à partir du fichier XSD donné avec le code suivant,XSD Erreur de validation en JAVA
Source xmlFile = new StreamSource(fXmlFile);
SchemaFactory schemaFactory = SchemaFactory
.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(new File("presentation.xsd"));
Validator validator = schema.newValidator();
try {
validator.validate(xmlFile);
System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
System.out.println(xmlFile.getSystemId() + " is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
}
Et je téléchargé mon fichier XSD ici pour vous montrer: http://orhancanceylan.com/stack/presentation.xsd
Mais quand je cours mon code, j'obtiens cette erreur:
org.xml.sax.SAXParseException: s4s-att-not-allowed: Attribute 'maxOccurs' cannot appear in element 'element'.
Quel est le problème, comment devrais-je le résoudre?
+1 - la raison de cette restriction est parce qu'un élément global est un élément racine potentiel dans le document d'instance –