Question

J'ai deux schémas XML. Tout d'abord (A.xsd) se trouve dans un fichier jar bibliothèque (mylib.jar) et le second (B.xsd) est dans mon projet.

Je veux A.xsd l'importation dans le B.xsd et validons XML entrant via Jaxb2Marshaller validateur intégré.

Cependant, je suis incapable de le faire fonctionner correctement. Il semble que validateur XML interne de Jaxb2Marshaller ne comprend pas les références aux fichiers dans un pot-fichiers (je veux juste écrire quelque chose comme <xs:import namespace="http://my/schema.xsd" schemaLocation="classpath:schema.xsd">)

Comment ça pourrait être fixé? Comment schéma bibliothèque pourrait être référencé à partir d'un schéma de projet?

Était-ce utile?

La solution

Vérifiez ma réponse à une question précédente sur la façon dont un ResourceResolver peut être utilisé pour résoudre ce problème:

Votre mise en œuvre de LSResourceResolver va gérer le chargement du schéma du classpath et la conversion au résultat approprié.

Autres conseils

Vous devez configurer votre propre serveur. Rien dans JAXB utilisera classpath:.

Il y a un échantillon de JAXB qui montre ce genre de chose.

classpath: n'est pas une URL valide pour l'emplacement du schéma. Vous devrez utiliser XML catalogues pour charger des schémas de pots.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top