Bonjour,
J'essaie de vérifier la validité d'un fichier XML par rapport à un schéma XSD.
Voici le code utilisé:
Ce morceau de code a l'air de marcher lorsque je l'utilise dans une fonction main. Par contre, lorsque je passe par Tomcat, j'ai l'exception suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SchemaFactory fabrique = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); GestionnaireErreurs gestErreur=new GestionnaireErreurs(); File fichierXSD=new File(nomFichierXSD); Source sourceW3C = new StreamSource(fichierXSD); Schema schemaW3C = fabrique.newSchema(sourceW3C); Validator validateur = schemaW3C.newValidator(); validateur.setErrorHandler(gestErreur); validateur.validate(new DOMSource(document));
Pourquoi? Quel est la différence entre un appel par l'intermédaire de Tomcat et un appel dans un main? Les jar utilisés sont-ils les même?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 XML-22101: (Fatal Error) DOMSource node as this type not supported. javax.xml.transform.TransformerException: XML-22101: (Fatal Error) DOMSource node as this type not supported. at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.process(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(Unknown Source) at javax.xml.validation.Validator.validate(Unknown Source) ....
Je pense que mon erreur est du à de vieilles versions de Xalan et de Xerces. En effet, en utilisant la dernière version de Xalan, je n'ai pas de problème. Cependant, je suis obligée de guarder l'ancienne version. Est-t-il possible de faire cohabité deux versions différentes? Et si oui comment?
Partager