У меня есть объявление схемы от стороннего поставщика.
<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, чтобы я мог ссылаться на имя как GroupParameterType.Name или GroupParameterType.Value в коде Java.
Текущая привязка по умолчанию создает список для меня, то есть getNameandValueList, но я хочу раздельные методы получения и установки для имени и значения соответственно.
Я попытался вставить пользовательскую привязку, как показано ниже:
<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>
и ничего не изменило генерацию класса по умолчанию. Кто-нибудь может дать мне несколько советов, так что еще я могу попробовать дальше? Я ищу, чтобы генерация Списка по умолчанию ДОЛЖНА С геттерами / сеттерами для имени и значения ИЛИ имеют имя и значение как Внутренние Классы. Если я удаляю опцию maxOccurs = 4, я могу генерировать геттеры / сеттеры, но поскольку я не могу изменить схему, я пытаюсь получить такое поведение, используя внешний файл привязки.
Спасибо
Shon