Как экспортировать класс Java JAXB Schema в файл xsd? - PullRequest
2 голосов
/ 16 января 2012

У меня проблема с проверкой XML, и я пытаюсь отладить свою проблему.Я генерирую свои XSD на лету с помощью JAXBContext.generateSchema (), а затем создаю унифицированную схему с помощью SchemaFactory.newSchema (схемы).Тем не менее, моя проверка не проходит.Я хотел бы посмотреть, соответствует ли созданная newSchema унифицированная схема тому, что я ожидал, однако я не могу найти способ экспортировать полученный класс Schema в строку или текстовый файл.

Есть ли какая-либоспособ экспортировать класс javax.xml.validation.Schema в читаемый файл String и / или XSD?Я просмотрел API и, похоже, ничего не нашел.

Спасибо,

Эрик

1 Ответ

0 голосов
/ 29 марта 2012

Вместо объединения ваших схем после создания их из JAXBContext.generateSchema (), почему бы просто не сгенерировать их все сразу из вашего JAXBContext.

JAXBContext jc = JAXBContext.newInstance( new Class[] { Class1.class,
                                                        Class2.class,
                                                        Class3.class
                                                      }
                                        );
jc.generateSchema(new SchemaOutputResolver() {
    @Override
    public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
      File file = new File(suggestedFileName);
      return new StreamResult(file);
    }
});
...