我有一个给我的模式(所以我无法对其进行更改),我正在尝试为它生成JAXB对象,并且由于具有相同的嵌套元素而导致命名冲突名称。 我创建了bindings.xml以避免命名冲突,并且当我有两级嵌套时它工作正常(例如XPath是这样的:
/A/Value/B/Value
所以这样的事情解决了这个问题:
<jaxb:bindings
node="/xsd:schema/xsd:complexType[@name='A']
/xsd:complexType/xsd:sequence/xsd:element[@name='Value']
/xsd:complexType/xsd:sequence/xsd:element[@name='B']
/xsd:complexType/xsd:sequence/xsd:element[@name='Value']">
<jaxb:class name="InnerValue" />
</jaxb:bindings>
但现在我有三级嵌套:
/A/Value/B/Value/C/Value
并且我不知道如何定义绑定(我是否需要其中两个)以避免编译错误。
任何帮助非常感谢
答案 0 :(得分:0)
我认为您必须自定义复杂类型,而不是元素。所以将绑定附加到相应的xs:complexType
。是的,您可能需要其中两个用于内部B
和C
类。我将它们命名为A_B
和A_B_C
,就像那样。