2016-03-29 46 views
0

这里有5个带xsd模式的文件:http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/JAXB:xjc不会从特定的xsd文件创建文件

其中3个被正确解析和编译,但是我有其他2.Here一个很大的问题就是其中之一 http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/KodyUrzedowSkarbowych_v4-0E.xsd

我用的命令是这样的:

xjc -p jpk -b binding.xjb KodyUrzedowSkarbowych_v4-0E.xsd 

不幸的是XJC编译器没有按为这两个人创造任何阶级。 我也通过使用全局绑定 - binding.xjb解决了枚举类型默认限制的问题,因为有400个元素。 但是,我仍然不知道为什么我没有从这两个文件中得到任何类。

回答

0

XML Schema KodyUrzedowSkarbowych_v4-0E.xsd不会生成枚举,因为所有值都是数字,这不可能作为Java枚举成员名称。 (尝试所有的前缀值=“0202”等以“X'它编译。)

要解决,你必须在每个添加另一个定制的口头禅 <xsd:enumeration value="x0202">,像这样(!):

<xsd:annotation><xsd:appinfo> 
<jaxb:typesafeEnumMember> 
    name = "x0202" value="0202" 
</jaxb:typesafeEnumMember> 
</xsd:annotation></xsd:appinfo> 

可能会写一个XSLT你完成这项,或用sed或Perl脚本...

我没有检查其他文件,因为你没有名字。