XML-схема имеет два типа элементов с одинаковыми именами в двух разных случаях

1

Одно из устаревших приложений. Определение схемы XML имеет два типа, определенные с одинаковым именем в разных случаях.

<xsd:complexType name="effectType">
<xsd:complexType name="EFFECTType">

Валидация схемы работает нормально. Но когда я использую JAXB для генерации объектов Java, он жалуется, что два класса не могут быть сгенерированы одинаковыми.

Поскольку эта схема используется существующими клиентами, я не могу ее изменить. Есть ли какое-нибудь обходное решение для этого, чтобы он позволял мне генерировать объекты Java для схемы с помощью JAXB?

  • 0
    Вы решили эту проблему? Если вы решили это, как вы это сделали?
Теги:
jaxb
xsd

1 ответ

2
Лучший ответ

Вы можете использовать ниже привязки для изменения имени сгенерированного класса.

<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:annox="http://annox.dev.java.net"
    xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
    <bindings schemaLocation="../path of your xsd/schema.xsd">

        <bindings node="//xsd:schema//xsd:complexType[@name='EFFECTType']">
            <class name="EffectTypeTwo" />
        </bindings>

    </bindings>
</bindings>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню