Ich habe eine JAXB Klasse wie folgt:Wie kann ich eine JAXB-Eigenschaft annotieren, um xsd: time anstelle von xsd: datetime zu verwenden?
public class Game {
private Date startTime;
@XmlElement
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
}
, die in einem .xsd
führt, wo Startzeit geben xsd:datetime
hat. Ich möchte, dass es xsd:time
ist. xsd:time
Karten zu XmlGregorianCalendar
, aber die umgekehrte Zuordnung Karten zu xsd:anySimpleType
, die nicht sehr hilfreich ist.
Ich habe verschiedene Argumente zu @XmlElement(type=...)
vergeblich versucht. Alle Hinweise würden sehr geschätzt werden.
Wenn es einen Unterschied macht, ist dies ein Typ, der von JAX-WS verwendet wird.
Ich bin mir nicht klar, ob Sie versuchen, Java von XSD zu erzeugen oder erzeugen XSD von Java? – skaffman
@skaffman: xsd aus java – Draemon
Wenn Sie 'startTime' als' Date' Typ behalten wollen, schauen Sie sich diesen [post] (http://stackoverflow.com/questions/2519432/jaxb-unmarshal-timestamp) an. Es definiert eine Zuordnung zwischen 'Date' und' String', die verwendet wird, um den tatsächlichen 'Date'-Typ zu serialisieren. – kon