Existuje několik případů použití, kdy JAXBElement je vyžadováno:
- Prvek je oba
nillable="true"aminOccurs="0". Co v tomto případě znamenánullna mapovaném poli/vlastnosti znamená? Když je vlastnostJAXBElementhodnota null znamená, že prvek není přítomen aJAXBElementwrapping null znamená prvek XML sxsi:nil="true". - Jsou zde 2 globální prvky se stejným názvem komplexního typu. Protože třídy JAXB odpovídají komplexním typům, je zapotřebí způsob, jak zachytit, který kořenový prvek byl nalezen. Další podrobnosti naleznete v tomto článku Napsal jsem.
- Existuje struktura výběru, kde buď
foonebobarprvky se mohou vyskytovat a jsou stejného typu. Zde jeJAXBElementje vyžadován, protože jednoduše narazí naStringhodnota nestačí k označení prvku, který by měl být zařazen. - Prvek s
xsi:nilse vyskytuje v dokumentu, který obsahuje atributy. V tomto příkladu může být objekt odpovídající tomuto prvku stále zrušen, aby obsahoval hodnoty atributu, ale JAXBElement může stále indikovat, že prvek byl null.