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?

0 ответов

Другие вопросы по тегам