Jaxb 当通过xjc生成@XmlElement时,如何更改XSD元素名称的大小写
我有一个模式,其中元素名称在PascalCase中定义,例如:Jaxb 当通过xjc生成@XmlElement时,如何更改XSD元素名称的大小写,jaxb,xjc,xjb,Jaxb,Xjc,Xjb,我有一个模式,其中元素名称在PascalCase中定义,例如: <xsd:element name="EmployeeName" minOccurs="0" maxOccurs="1"> 我知道这听起来有点奇怪,但它将允许我使用jacksonjaxb注释支持在camelCase中生成JSON 这可能吗?是的,可以通过注释指令将XML元素名称更改为(几乎)您想要的任何名称 在本例中,“价格”重命名为“项目价格”。Java不区分大小写,因此您的camel外壳将受到尊重 //Examp
<xsd:element name="EmployeeName" minOccurs="0" maxOccurs="1">
我知道这听起来有点奇怪,但它将允许我使用jacksonjaxb注释支持在camelCase中生成JSON
这可能吗?是的,可以通过注释指令将XML元素名称更改为(几乎)您想要的任何名称 在本例中,“价格”重命名为“项目价格”。Java不区分大小写,因此您的camel外壳将受到尊重
//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>
//示例:代码片段
公共级USPrice{
@xmlement(name=“itemprice”)
public java.math.BigDecimal price;
}
这个例子来自
注意,JAXB支持有几个“如何使用它”工作流、“生成支持Java类的XSD”和“生成XSD的Java类”。我喜欢后者,但你可能在用前者。如果是,则需要修改XSD,使其具有camelCase元素名称
没有“使用我的XSD生成Java类,但有一些覆盖”工作流。也许这就是困惑的根源。类似地,也没有“使用Java类注释生成XSD文档,但有一些覆盖”。您所指定的将是您所得到的,从名称上看。非常感谢Edwin,这向我证实,通过任何类型的绑定都无法轻松实现我的目标。这很好,我将按照您的建议查看其他替代方案,如更改XSD(或者我将转到JSON模式!)。
//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>