XSD 的 XJC 错误,其中 2 个元素名称相同但大小写不同

XJC error for XSD with 2 elements with same name but different case

我有 xsd,其中包含 2 个元素:"state" 和 "State"。当我使用 maven-jaxb2-plugin 执行 XJC 时,出现以下错误:

<xsd:element name="state" type="xsd:string" minOccurs="0" maxOccurs="1" />
.
.
.
<xsd:element name="State" type="xsd:string" minOccurs="0" maxOccurs="1" />

SAXParseException2: Two declarations cause a collision in the ObjectFactory class

这是预期的,因为它试图在内部将带有“State”的元素转换为“state”,这会导致与已经存在的 "state" 冲突。我的问题是,有没有办法保持大小写?

注意:我知道首先使用相同的元素名称并不理想,但不幸的是,我无法控制更改 XSD.

为什么不使用 jaxb:classjaxb:factoryMethod 自定义来避免命名冲突?

类似于:

<jaxb:bindings node="xs:element[@name='state']">
    <jaxb:factoryMethod name="LowerState"/>
</jaxb:bindings>