Valider un XML avec du XMLSchema le tout dans un JAR
Bonjour,
J'ai besoin de votre aide.
J'ai un JAR contenant un ensemble de classes dont l'un des rôles est de valider un document XML à partir de XSD stockés dans mon JAR.
En gros voici la structure du JAR
/
dir1
dir2
myClass.class
resources
xsd
myxsdfile.xsd
Donc mon programme externe, importe le package, instancie ma classe dir1.dir2.myClass et appelle ma méthode Validate(String p_xmlToValidate)
Voici le code de ma fonction Validate :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.SAXException;
public void Validate(string p_xmlToValidate) throws SAXException
{
String xsdPath = this.getClass().getResource("/resources/xsd/myxsdfile.xsd").getPath();
DOMParser l_myParser = new DOMParser();
l_myParser.setFeature("http://xml.org/sax/features/validation", true);
l_myParser.setFeature("http://apache.org/xml/features/validation/schema",true);
l_myParser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", xsdPath);
// create a dom Document and initialize it
l_myParser.parse(p_xmlToValidate);
} |
Le path qui m'est renvoyé est :
"file:/C/monrepertoire/monfichierJAR.jar!/resources/xsd/myxsdfile.xsd"
Ce qui me semble correcte, mais aprés l'execution du Parse, j'obtiens une erreur de parsing : cvc-elt.1: Cannot find the declaration of element toto
Typique du fait qu'il ne m'a pas trouvé mon schema.
J'ai essayé le même code mais sans passer par un JAR et cela marche nickel;
J'ai également essayé avec un getRessourceAsStream mais j'ai une exception
Avec un getRessource seul (sans le getPath()) tout pareil....
Je ne sais plus quoi faire Au secours !!!! :cry:
Merci d'avance pour votre aide
@+