1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| final Document document;
final DocumentBuilderFactory usineXml = DocumentBuilderFactory.newInstance();
final DocumentBuilder constructeur;
// Initialisation du parser XML
try {
constructeur = usineXml.newDocumentBuilder();
} catch (final ParserConfigurationException e) {
throw new FatalException("Problème de configuration du parser XML : " + e.getMessage());
}
// Ouverture du fichier des rôles
try {
document = constructeur.parse(new File(Constantes.FICHIER_ROLES));
} catch (final IOException e) {
throw new FatalException("Problème à la lecture du fichier XML des rôles : " + e.getMessage());
} catch (final SAXException e) {
throw new FatalException("Problème à l'analyse du fichier XML des rôles : " + e.getMessage());
}
// Initialisation du validateur
final SchemaFactory usineSchema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
final Source schemaFile = new StreamSource(new File(Constantes.SCHEMA_ROLES));
Schema schema;
// Ouverture du schéma
try {
schema = usineSchema.newSchema(schemaFile);
} catch (final SAXException e) {
throw new FatalException("Problème à l'analyse du schéma XSD des rôles : " + e.getMessage());
}
// Validation du fichier
Validator validateur = schema.newValidator();
try {
validateur.validate(new DOMSource(document));
} catch (IOException e) {
throw new FatalException("Problème à la lecture du schéma XSD des rôles : " + e.getMessage());
} catch (SAXException e) {
throw new FatalException("Problème à la validation du fichier XML des rôles : " + e.getMessage());
} |
Partager