JAXB2 will generate enum classes for type constraints. Any Java code that relies on setting string values to use these types will require the use of an appropriate enumeration. I think this is great, since you get type checking at compilation, and not during checking for validation.
JABX2 uses typed lists instead of untyped lists, so you can remove many castings from your java code.
. IIRC, JAXB1 , JAXB2 XMLGregorianCalendar.