Ja, es ist möglich, den XML-Element-Namen (fast), was Sie mit Hilfe der Annotation-Richtlinien ändern mögen.
In diesem Beispiel wird "price" in "itemprice" umbenannt. Java unterscheidet nicht zwischen Groß- und Kleinschreibung, daher wird Ihr Kamelgehäuse ausgezeichnet.
//Example: Code fragment
public class USPrice {
@XmlElement(name="itemprice")
public java.math.BigDecimal price;
}
<!-- Example: Local XML Schema element -->
<xs:complexType name="USPrice"/>
<xs:sequence>
<xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
</sequence>
</xs:complexType>
Dieses Beispiel stammt aus the JAXB javadocs.
Beachten Sie, dass JAXB Unterstützung ein paar hat Workflows „wie es zu benutzen“, „XSD unterstützt Java-Klassen zu generieren“ und „Java-Klassen eine XSD zu generieren“. Ich bevorzuge das letztere, aber Sie können das erstere verwenden. Wenn dies der Fall ist, müssen Sie Ihre XSD ändern, um dort CamelCase-Elementnamen zu haben.
Es gibt keinen „verwenden, um meine XSD Java-Klassen zu generieren, aber mit einigen Überschreibungen“ Workflow. Vielleicht kommt da die Verwirrung. Ebenso gibt es keine "Java-Klassenanmerkungen für generierte XSD-Dokumente, aber mit einigen Überschreibungen". Was du spezifizierst, wird sein, was du bekommst, namenweise.
Vielen Dank Edwin, dies bestätigt mir, dass es keinen einfachen Weg gibt, das zu tun, was ich will, durch irgendeine Art von Bindung. Das ist in Ordnung, ich werde Alternativen wie XSD ändern, wie Sie vorschlagen (oder vielleicht werde ich zum JSON-Schema verschieben!). – MandyW