Java 定义从xsd文件生成类时要引用的类
我遇到的情况是,多个xsd文件具有相同类型的元素,例如DeviceExtension。当从xsd文件生成类时,通常每个类都会逐字包含以下代码,因为所有DeviceExtensions都是相同的Java 定义从xsd文件生成类时要引用的类,java,xml,jaxb,xsd,xjc,Java,Xml,Jaxb,Xsd,Xjc,我遇到的情况是,多个xsd文件具有相同类型的元素,例如DeviceExtension。当从xsd文件生成类时,通常每个类都会逐字包含以下代码,因为所有DeviceExtensions都是相同的 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "") public static class DeviceExtension { @XmlAttribute(name =
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public static class DeviceExtension {
@XmlAttribute(name = "Name", required = true)
protected String name;
@XmlAttribute(name = "Value", required = true)
protected String value;
@XmlAnyAttribute
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
/**
* Gets the value of the value property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getValue() {
return value;
}
@xmlacessortype(xmlacesstype.FIELD)
@XmlType(name=”“)
公共静态类设备扩展{
@XmlAttribute(name=“name”,required=true)
受保护的字符串名称;
@XmlAttribute(name=“Value”,required=true)
保护字符串值;
@XmlAnyAttribute
私有映射otherAttributes=newhashmap();
/**
*获取name属性的值。
*
*@返回
*可能的对象是
*{@link String}
*
*/
公共字符串getName(){
返回名称;
}
/**
*获取value属性的值。
*
*@返回
*可能的对象是
*{@link String}
*
*/
公共字符串getValue(){
返回值;
}
我想找到一个解决方案,在这里我可以指定某种外部绑定,在这里我可以在一个地方拥有这个DeviceExtension类,当这些类从xsd生成时,它们引用DeviceExtension的一个实现
我一直在尝试使用找到一个解决方案,但我不知道如何实现我所需要的
理想情况下,我希望有一个简单的示例,我可以根据这种情况进行修改。您可以重构模式,将常见类型的定义集中在一个XSD中,然后在需要使用这些类型的其他XSD中进行修改吗?不幸的是,我无法以任何方式编辑模式,由于它们也用于其他语言的项目,您是否使用任何外部绑定配置文件?目前还没有,我一直在阅读有关它们的内容,但似乎找不到任何详细说明我希望完成的任务的示例。因此,您没有尝试将所有模式编译到同一个包中?