Hay algunos casos de uso donde un JAXBElement
se requiere:
- Un elemento es a la vez
nillable="true"
yminOccurs="0"
. En este caso, ¿qué significanull
? en el campo mapeado/media de la propiedad? Cuando la propiedad esJAXBElement
un valor nulo significa que el elemento no está presente y unJAXBElement
envolver nulo significa un elemento XML conxsi:nil="true"
. - Hay 2 elementos globales con el mismo tipo complejo con nombre. Dado que en las clases JAXB corresponden a tipos complejos, se necesita una forma de capturar qué elemento raíz se encontró. Para obtener más detalles, consulte este artículo yo escribí.
- Hay una estructura de elección donde
foo
obar
pueden ocurrir elementos y son del mismo tipo. Aquí unJAXBElement
es requerido porque simplemente se encuentra con unString
el valor no es suficiente para indicar qué elemento debe ordenarse. - Un elemento con
xsi:nil
se encuentra en el documento que contiene atributos. En este ejemplo, el objeto correspondiente a ese elemento aún se puede desorganizar para contener los valores de los atributos, pero JAXBElement aún puede indicar que el elemento era nulo.