使用接口概念从Java类生成XSD,是否可能?

时间:2016-10-21 10:04:36

标签: java xml xsd jaxb

我目前正在开发一个项目,其中XSD文件暴露了我们的内部Java模型。我的问题是我无法让XSD反映出界面的使用...... Java模型很安静经典:

  • 此界面的一个界面和两个实现
  • 一个带有类型接口字段的对象(它是我无法在xsd文件中反映的对象)

架构如下: Class diagram

我尝试使用JAXB为整个POC项目生成XSD,但我发现以下错误:

TestItf is an interface, and JAXB can't handle interfaces.
    this problem is related to the following location:
        at TestItf(src/TestItf.java:1)
        at TestContainer.test(src/TestContainer.java:9)
        at TestContainer(src/TestContainer.java:6)
TestItf is a non-static inner class, and JAXB can't handle those.
    this problem is related to the following location:
        at TestItf(src/TestItf.java:1)
        at TestContainer.test(src/TestContainer.java:9)
        at TestContainer(src/TestContainer.java:6)
te

我的问题如下:我可以做我想做的事情吗?换句话说,是否可以通过XSD告诉我的对象TestContainer必须在TestInstance字段中包含TestImpl或TestImplBis?

PS:我知道我们可以使用xsd:choice,但它是一种破解......我宁愿指定接口,这样当一个新类实现TestItf时,不需要更新xsd:choice元素< / p>

先谢谢你们

0 个答案:

没有答案