Référencement d'un schéma XSD dans un fichier jar
J'ai deux fichiers de schéma est importé de l'autre. Lors de l'exécution du code dans Eclipse schémas sont trouvés, mais lors de l'exécution du code à partir de pot de schéma de fichiers ne sont pas trouvés
voici le code
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(false);
SchemaFactory schemaFactory = SchemaFactory
.newInstance("http://www.w3.org/2001/XMLSchema");
try {
factory.setSchema(schemaFactory.newSchema(new Source[] {
new StreamSource(getClass().getResource("Liso.xsd")
.getFile()),
new StreamSource(getClass().getResource("LisoXml.xsd")
.getFile()) }));
this.saxParser = factory.newSAXParser();
} catch (SAXException se) {
System.out.println("SCHEMA : " + se.getMessage()); //problem in the XSD itself
}
et voici l'erreur que je reçois
SCHEMA : schema_reference.4: Failed to read schema document 'file:/C:/Tools/lib/LisoTools.jar!/com/xerox/liso/xml/Liso.xsd', because 1) could not find the do
cument; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
Grâce
source d'informationauteur rojanu
Vous devez vous connecter pour publier un commentaire.
Si
Liso.xsd
est de l'importation deLisoXml.xsd
alors il est juste suffisante pour définirLiso.xsd
pour le schéma de l'usine comme indiqué ci-dessous. L'api est assez intelligent de la charge l'importation/schéma inclus(s).J'ai vérifié cela a fonctionné sur 1.5 et 1.6. Sur 1.6, vous pourriez frapper à ce problème ainsi si l'aide DOM.