В ерата на JAXB 1.0, препоръчваният начин за работа с Java обекта, XSD и XML е да започнете с XSD дефиниция, използвайте JAXB за генериране на Java класове от XSD и поддържане на XSD.
Но сега с JAXB 2.0 пояснения, е много удобно да генерирате XSD от Java класове. Препоръчително ли е да се възприеме подходът на започване на Java класове и анотации и генериране на XSD?
Благодаря,
Отговори:
2 за отговор № 1Препоръчвам разработчиците да започнат с обектамоделирайте и го анотирайте, за да получите желания XML. Това ви дава по-голяма гъвкавост при създаването на приложението си (като например да го преобразувате в база данни, използвайки JPA). Трябва само да генерирате XML схема, когато искате да споделите структурата (например като част от WSDL).
Разгледайте моя блог за примери на JAXB, започвайки с класове модели:
1 за отговор № 2
Не бих казал, че не, XML Schema е много по-богат по отношение на типове и определени структури, така че всяка схема, която генерирате от Java, ще бъде съвсем основна и неекспресивна.
По всякакъв начин генерирайте начална схема от вашиякод, но тогава наистина трябва да украсите резултата и да го поддържате като първокласен гражданин, а не като генериран продукт. След като бъде изтеглена, можете да го включите обратно в JAXB marshaller / unmarshaller като слой за валидиране.