Est-il possible de générer un XSD à partir d'une classe annotée JAXB?
J'ai écrit un certain nombre de classes en utilisant JAXB pour la sérialisation et je me demandais s'il y avait un moyen de générer un fichier XSD pour chacun de ces objets en fonction des annotations. Est-il un outil pour cela?
Quelque Chose comme generate-xsd com/my/package/model/Unit.java
est génial. Existe-t-il quelque chose pour faire cela?
44
demandé sur
Naftuli Kay
2011-08-27 05:52:25
1 réponses
Oui, vous pouvez utiliser la méthode generateSchema
sur JAXBContext:
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
SchemaOutputResolver sor = new MySchemaOutputResolver();
jaxbContext.generateSchema(sor);
Vous utilisez une implémentation de SchemaOutputResolver
pour contrôler où va la sortie:
public class MySchemaOutputResolver extends SchemaOutputResolver {
public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
File file = new File(suggestedFileName);
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
}
69
répondu
Blaise Doughan
2011-08-27 10:53:17