Hallo Experten,
ich arbeite mit JAXB 2.0 und habe im Schema ein Element, das mindestens 1x, aber höchstens 3x vorhanden sein soll:
"GeschmackType" ist eine Enum.
In der generierten Klasse sieht das dann so aus:
In der "isSetGeschmack()"-Methode erkennt man die Umsetzung von "minOccurs".
Beim Einlesen meiner XML-Datei kommt allerdings kein Fehler bei meinem Test-Beispiel mit 4 Geschmacksangaben, obwohl das doch im Schema mit "maxOccurs" ausgeschlossen sein müßte. Doch auch im Code kann ich nichts erkennen, wo der Inhalt der Liste auf maximal 3 Elemente begrenzt wird.
Das Einlesen meiner Test-XML funktioniert fehlerfrei.
Unterliege ich hier einem Denkfehler oder liegt das Problem im Schema?
ich arbeite mit JAXB 2.0 und habe im Schema ein Element, das mindestens 1x, aber höchstens 3x vorhanden sein soll:
HTML:
<xsd:element name="geschmack" type="GeschmackType" minOccurs="1" maxOccurs="3" />
"GeschmackType" ist eine Enum.
In der generierten Klasse sieht das dann so aus:
Code:
public List<GeschmackType> getGeschmack() {
return this._getGeschmack();
}
public boolean isSetGeschmack() {
return ((this.geschmack!= null)&&(!this.geschmack.isEmpty()));
}
public void unsetGeschmack() {
this.geschmack = null;
}
In der "isSetGeschmack()"-Methode erkennt man die Umsetzung von "minOccurs".
Beim Einlesen meiner XML-Datei kommt allerdings kein Fehler bei meinem Test-Beispiel mit 4 Geschmacksangaben, obwohl das doch im Schema mit "maxOccurs" ausgeschlossen sein müßte. Doch auch im Code kann ich nichts erkennen, wo der Inhalt der Liste auf maximal 3 Elemente begrenzt wird.
Das Einlesen meiner Test-XML funktioniert fehlerfrei.
Unterliege ich hier einem Denkfehler oder liegt das Problem im Schema?
