Bonjour à tous...

J'ai un soucis lors de la création d'un schéma pour de la validation.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaA = new StreamSource(File.class.getResourceAsStream("/xsd/a.xsd"));
Source schemaB = new StreamSource(File.class.getResourceAsStream("/xsd/b.xsd"));
 
Schema schema = factory.newSchema(new Source[] {schemaA, schemaB});
Mon problème, c'est que le schéma A fait référence à un élément du schéma B, et vice versa. Donc, à la création du schema il y a une exception du type :

org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'b:bElement' to a(n) 'type definition' component.
Ce qui est normal, puisque quand il charge A, B n'est pas encore chargé.

Vu que je n'ai pas le droit de toucher aux XSD, savez vous comment je peux m'en sortir ? Avoir des références croisées comme ça est-il une aberration, ou alors je n'ai pas bien saisi le problème ?

Si quelqu'un pouvait m'éclairer

Merci !