Пакет переопределения jaxb для определенного сгенерированного набора классов

У меня есть большой сторонний xsd-файл, который втягивает целую кучу других xsd-файлов посредством импорта. Все это генерирует более 1000 классов.Когда я говорю процессору xjc (jaxb) сгенерировать все в определенном пакете, я получаю всевозможные конфликты имен. Если я не укажу пакет, то процессор создаст пакеты java, используя целевые атрибуты в файлах xsd, и все это будет сгенерировано без каких-либо ошибок.

Проблема в том, что структура пакета ужасна, потому что целевые имена выбраны очень плохо. Другие разработчики это ненавидят. Им нужно всего несколько занятий.

Итак, я пытался предоставить процессору файл bindings.xml, в котором я хочу указать определенные классы, которые будут сгенерированы в заданном имени пакета. Я перебирал документацию на сайте Oracle, форумы, образцы. Я не могу процитировать каждую итерацию моего файла привязок. Мое текущее воплощение таково:

<jaxb:bindings 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1"
    schemaLocation="heavy.xsd"
    node="//xsd:element[@name='Error']"
>

    <jaxb:bindings node="//xsd:element[@name='Error']">
        <jaxb:package name="ABC"/>
    </jaxb:bindings>

    <jaxb:globalBindings
        underscoreBinding="asCharInWord"
        localScoping="toplevel"
        typesafeEnumMaxMembers="10000"
        generateElementClass="true"
    >
    </jaxb:globalBindings>


<!--
        <jaxb:package name="ABC"/>
-->

<!--
    <jaxb:schemaBindings>
        <jaxb:package name="ABC"/>
    </jaxb:schemaBindings>
-->

<!--
    <jaxb:schemaBindings>
        <jaxb:package name="ABC"/>
        <jaxb:nameXmlTransform>
            <jaxb:elementName prefix="Error"/>
        </jaxb:nameXmlTransform>
    </jaxb:schemaBindings>
-->

</jaxb:bindings>

Что бы я ни пытался, я еще не видел, чтобы он генерировал какие-либо классы в пакете ABC. В этом случае я хочу, чтобы ошибка генерировалась в ABC. Любая помощь будет принята с благодарностью.

5
задан Dimitre Novatchev 13 January 2012 в 03:24
поделиться