Cоздать xml-файл, хранящий информацию об объектах определенной предметной области. Для описания структры xml-файла разработать соответствующую ему схему xsd. Выполнить парсинг xml-документа с использованием DOM, SAX, StAX парсеров.
А также с использованием JAXB(*).
Использовать:
- для атрибутов минимимум одного из элементов required & optional,
- перечисления,
- шаблоны и предельные значения,
- использовать тип ID,
- задание значений атрибутов по умолчанию,
- расширение типов (имитация наследования),
- использовать дату-время. Использовать только пакет java.time (н-р: класс Instant),
- создать в xml-документе не менее 16 сущностей,
- парсеры организовать с помощью шаблона Builder (внешний),
- для записи логов использовать Log4J2,
- код должен быть покрыт тестами.
Драгоценные и полудрагоценные камни:
- Name – название камня.
- Preciousness – может быть драгоценным либо полудрагоценным.
- Origin – место добывания.
- Visual parameters (должно быть несколько) – могут быть:
- цвет (зеленый, красный, желтый и т.д.),
- прозрачность (измеряется в процентах 0-100%),
- способы огранки (количество граней 4-15).
- Value – вес камня (измеряется в каратах).
Корневой элемент назвать Gems.