Binding 为xs:element强制创建内部类或getter/setter的自定义绑定
我有一个来自第三方提供者的模式声明,如下所示Binding 为xs:element强制创建内部类或getter/setter的自定义绑定,binding,xsd,inner-classes,jaxb2,xjc,Binding,Xsd,Inner Classes,Jaxb2,Xjc,我有一个来自第三方提供者的模式声明,如下所示 <xs:complexType name="GroupParameterType"> <xs:sequence minOccurs="0" maxOccurs="4"> <xs:element name="name" type="xs:string"> <xs:annotation> <
<xs:complexType name="GroupParameterType">
<xs:sequence minOccurs="0" maxOccurs="4">
<xs:element name="name" type="xs:string">
<xs:annotation>
<xs:documentation>The name of the parameter.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="value" type="xs:string">
<xs:annotation>
<xs:documentation>The value of the parameter.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
参数的名称。
参数的值。
以上是我无法更改的模式。我正在尝试为jaxb 2.0编写一个自定义绑定,这样我就可以在java代码中将名称引用为GroupParameterType.name或GroupParameterType.Value
当前默认绑定为我生成列表,即getNameandValueList,但我需要分别为name和value使用单独的getter和setter
我试着加入如下定制绑定:
<jxb:bindings schemaLocation="GroupParameter.xsd" node="xs:element[@name='name']">
<jxb:globalBindings localScoping="toplevel" generateIsSetMethod="true"/>
</jxb:bindings>
<jxb:bindings schemaLocation="GroupParameter.xsd" node="xs:element[@name='value']">
<jxb:globalBindings localScoping="toplevel" generateIsSetMethod="true"/>
</jxb:bindings>
它没有改变默认的类生成。谁能给我一些指点,我下一步还能试什么?我希望有默认的列表生成以及名称和值的getter/setter,或者将名称和值作为内部类。如果我删除maxOccurs=4选项,我可以生成getter/setter,但是由于我不能修改模式,所以我尝试使用外部绑定文件获得该行为
谢谢
除非修改模式,否则无法获得此行为。您确实有一个映射到异构元素属性的模式模型,并且不能通过自定义来更改它 你可以试试最后的退路