Có một số trường hợp sử dụng trong đó JAXBElement
là bắt buộc:
- Một phần tử vừa là
nillable="true"
vàminOccurs="0"
. Trong trường hợp này, điều gì làmnull
trên trường / thuộc tính được ánh xạ có nghĩa là gì? Khi thuộc tính làJAXBElement
giá trị null nghĩa là phần tử không có mặt vàJAXBElement
bao bọc null nghĩa là một phần tử XML vớixsi:nil="true"
. - Có 2 phần tử toàn cục có cùng kiểu phức hợp được đặt tên. Vì trong các lớp JAXB tương ứng với các kiểu phức tạp nên cần có cách để nắm bắt phần tử gốc nào đã gặp phải. Để biết thêm chi tiết, hãy xem bài viết này Tôi đã viết.
- Có một cấu trúc lựa chọn trong đó
foo
hoặcbar
các phần tử có thể xảy ra và chúng cùng loại. Đây làJAXBElement
là bắt buộc vì chỉ cần gặp mộtString
giá trị không đủ để cho biết phần tử nào nên được sắp xếp. - Một phần tử có
xsi:nil
gặp phải trong tài liệu có chứa các thuộc tính. Trong ví dụ này, đối tượng tương ứng với phần tử đó vẫn có thể không được quản lý để giữ các giá trị thuộc tính, nhưng JAXBElement có thể biểu thị rằng phần tử đó là rỗng.