gpt4 book ai didi

java - xjc 和 XSD 的选择

转载 作者:搜寻专家 更新时间:2023-11-01 02:27:23 24 4
gpt4 key购买 nike

当我运行 xjc 生成表示此 XSD 片段的 Java 类型时:

  <xs:complexType name="fileUploadRequest">
<xs:choice>
<xs:element name="path" type="xs:string"/>
<xs:element name="file" type="xs:base64Binary"/>
</xs:choice>
</xs:complexType>

如果我指定一个带有可选元素的 sequence,我得到的类与它本来的类没有区别。

我想要一种有点智能的类型,这样我一次最多可以选择一个元素。例如,如果我调用生成的 setFile 方法,它应该使路径为空。是否有一些插件可以用于代码生成器的明显要求?

最佳答案

binding.xml

您可以使用以下外部绑定(bind)文件来生成您要查找的属性类型:

<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<globalBindings choiceContentProperty="true"/>
</bindings>

新江西来电

使用 -b 标志引用绑定(bind)文件。

xjc -b binding.xml schema.xsd

生成的属性

现在将生成以下属性:

@XmlElements({
@XmlElement(name = "path", type = String.class),
@XmlElement(name = "file", type = byte[].class)
})
protected Object pathOrFile;

了解更多信息

关于java - xjc 和 XSD 的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com