2

一連の Java クラスの XML スキーマを構築する必要があります。JAXB (schemagen) と JIBX (bindgen) で試してみました。私の Java クラスは、ライブラリ内のクラスから拡張され、いくつかの継承とサブクラスが含まれています。

JAXB の失敗 1 : I get the exception 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) で試しました。ただし、ここでは、出力には現在のクラスの値のみが含まれています。拡張クラスのすべての変数は作成されません。

だから多分私は非常に基本的に質問をします:

.jar から別のクラスを拡張する Java クラスのすべての属性を含む XML スキーマを作成するにはどうすればよいですか?

4

0 に答える 0