Jaxb Удаление суффикса Type при генерации классов из XSD

Мы только что обновились до приведенной ниже версии Jaxb и начали замечать, что он удаляет суффикс «Тип» при создании классов. Это вызывает проблемы, так как схема, которую мы получили от третьей стороны, теперь имеет два класса с одинаковыми именами. Может ли кто-нибудь сказать нам, как обойти это и сохранить суффикс «Тип» как есть?

  jaxbVersion = '2.2.11'
  jaxwsVersion = '2.2.10'
  jaxwsrsVersion = '2.0.1'

Спасибо


person user3799186    schedule 21.10.2015    source источник
comment
Похоже, что некоторых суффиксов типа можно избежать, используя <xjc:simple/>. См. stackoverflow.com/a/4818344/603516.   -  person Vadzim    schedule 11.03.2016


Ответы (1)


Используйте следующее объявление привязки схемы:

<schemaBindings>
  <nameXmlTransform>
    <typeName suffix="Type"/>
  </nameXmlTransform>
</schemaBindings>

Видеть:

person lexicore    schedule 23.10.2015
comment
Спасибо за ваш комментарий, но это внешняя схема, и мы не хотим ее изменять. Есть ли что-то, что я могу передать с помощью XJC, что не удалит расширение Type ? - person user3799186; 27.10.2015
comment
@user3799186 user3799186 Пожалуйста, действительно прочитайте ссылку, которую я разместил. Вы должны предоставить дополнительные файлы привязки, вам не нужно изменять схему. - person lexicore; 27.10.2015
comment
К сожалению, это решение добавляет суффикс к сгенерированным именам классов, а не удаляет его, как задает вопрос. Я ищу способ удалить суффикс типа, жестко запрограммированный в XSD, без перечисления всех типов по одному в привязках. - person Vadzim; 11.03.2016
comment
@Vadzim В вопросе предлагается сохранить суффикс Type. Хорошо, он также говорит как есть, поэтому здесь не идеальное совпадение, но в любом случае этот вопрос не касается удаления суффикса, как предполагает ваш комментарий. Задайте еще вопрос об удалении суффикса. - person lexicore; 13.03.2016