Ich beginne zu lernen JAXB, so kann diese Frage sehr dumm sein. Jetzt habe ich zwei Klassen, eine Basis "base.java" und eine abgeleitete Klasse "child.java". Diese Klassen wurden mit einer ".xsd" -Datei generiert. Ich habe eine andere Klasse "secondBase.java", diese Klasse wurde nicht von meinem ".xsd" generiert. Meine Frage ist: Ist es möglich, "secondBase.java" als Basis für "child.java" anstelle der von meinem Jaxb erstellten Basis zu verwenden?Ist es möglich, auf eine vorhandene Klasse als Basis in .xsd-Datei verweisen jaxb
Hier ist meine XSD-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="2.1">
<xs:complexType name="base">
<xs:sequence>
<xs:element name="id" type="xs:string" minOccurs="1"
maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:element name="chlid" />
<xs:complexType name="chlid">
<xs:complexContent>
<xs:extension base="base">
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
Mein secondBase.java:
public class secondBase {
public secondBase(){
id="0";
}
protected String id;
public String getId() {
return id;
}
public void setId(String value) {
this.id = value;
}
}
Mein base.java (erzeugt mit XSD-Datei)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "base", propOrder = {
"id"
})
@XmlSeeAlso({
Chlid.class
})
public class Base {
@XmlElement(required = true)
protected String id;
public String getId() {
return id;
}
public void setId(String value) {
this.id = value;
}
}
Mein Kind. Java (erzeugt unter Verwendung der .xsd Datei)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "chlid")
public class Chlid
extends Base
{
}
Dankten im Voraus :)
Können Sie Ihre Basis und Kind-Klasse auch teilen? –