Er zijn enkele gevallen waarin een JAXBElement
is vereist:
- Een element is zowel
nillable="true"
enminOccurs="0"
. Wat betekent in dit gevalnull
op het in kaart gebrachte veld/eigendom betekent? Wanneer de eigenschapJAXBElement
. is een null-waarde betekent dat het element niet aanwezig is en eenJAXBElement
null inpakken betekent een XML-element metxsi:nil="true"
. - Er zijn 2 globale elementen met hetzelfde complexe type. Omdat in JAXB-klassen overeenkomen met complexe typen, is er een manier nodig om vast te leggen welk root-element is aangetroffen. Zie dit artikel voor meer informatie. Ik schreef.
- Er is een keuzestructuur waarbij ofwel
foo
ofbar
elementen kunnen voorkomen en zijn van hetzelfde type. Hier eenJAXBElement
is vereist omdat je simpelweg eenString
. tegenkomt waarde is niet genoeg om aan te geven welk element moet worden gemarshalld. - Een element met
xsi:nil
wordt aangetroffen in het document dat attributen bevat. In dit voorbeeld kan het object dat overeenkomt met dat element nog steeds worden gedemarshalld om de attribuutwaarden te bevatten, maar JAXBElement kan nog steeds aangeven dat het element null was.