此处有5个带xsd架构的文件:http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/。
其中3个被正确解析和编译但我遇到了其他问题2.这是其中之一 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 :(得分: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脚本......
我没有检查另一个文件,因为你没有给它命名。