Er zijn enkele gevallen waarin een JAXBElement is vereist:
- Een element is zowel
nillable="true"enminOccurs="0". Wat betekent in dit gevalnullop het in kaart gebrachte veld/eigendom betekent? Wanneer de eigenschapJAXBElement. is een null-waarde betekent dat het element niet aanwezig is en eenJAXBElementnull 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
fooofbarelementen kunnen voorkomen en zijn van hetzelfde type. Hier eenJAXBElementis vereist omdat je simpelweg eenString. tegenkomt waarde is niet genoeg om aan te geven welk element moet worden gemarshalld. - Een element met
xsi:nilwordt 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.