JIBX/JAXB Создать XML-схему класса, расширяющего другие классы из.jar?
Мне нужно построить схему XML для нескольких классов Java. Я пытался с JAXB (schemagen) и с JIBX (bindgen). Мой класс Java расширяет класс froma в библиотеке и содержит несколько наследований и подклассов.
Ошибка 1 с JAXB: я получаю исключение JAXB can't handle interfaces
, В моем классе нет ни аннотаций, ни расширенного класса из файла.jar.
public class MySchemaOutputResolver extends SchemaOutputResolver {
public static void main(String[] args) throws IOException, JAXBException {
JAXBContext jaxbContext = JAXBContext.newInstance(MYCLASS.class);
jaxbContext.generateSchema(new MySchemaOutputResolver(filepath));
}
String filepath = null;
public MySchemaOutputResolver(String filepath) {
this.filepath = filepath;
}
@Override
public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
File file = new File(filepath);
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
}
Ошибка 2: Затем я попробовал с JIBX (bindgen). Но здесь вывод содержит только значения из текущего класса. Все переменные из расширенных классов не создаются.
Поэтому, возможно, я задаю вопрос очень в основном:
Как я могу создать XML-схему, содержащую все атрибуты из класса Java, расширяющего другой класс из.jar?