Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jaxb 当通过xjc生成@XmlElement时,如何更改XSD元素名称的大小写_Jaxb_Xjc_Xjb - Fatal编程技术网

Jaxb 当通过xjc生成@XmlElement时,如何更改XSD元素名称的大小写

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

我有一个模式,其中元素名称在PascalCase中定义,例如:

<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>