Создание классов Java с помощью JAXB из файла DTD -как изменить DTD?

Я хочу сгенерировать классы Java из dtd с помощью JAXB.

dtd выглядит следующим образом:

<!--Contents-->
    <!ELEMENT persons (header, content) >
    <!ELEMENT groups (header, content) >

<!--Header-->
    <!ELEMENT header (version) >
    <!ELEMENT version(#PCDATA) >

<!--Content-->
    <!ELEMENT content(person, group)* >

<!--Person-->
    <!ELEMENT person(p_id, p_name) >
    <!ELEMENT p_id (#PCDATA) >
    <!ELEMENT p_name (#PCDATA) >    

<!--Group-->
    <!ELEMENT group(g_id) >
    <!ELEMENT g_id(#PCDATA) >

При создании классов с помощью JAXB я получаю следующие:

  • ObjectFactory
  • Content
  • Person
  • Persons
  • Group
  • Groups

In класс Content метод для получения всех людей и групп:

public List<Object> getPersonOrGroup() {
    if (personOrGroup == null) {
        personOrGroup = new ArrayList<Object>();
    }
    return this.personOrGroup;
}

Есть ли что-нибудь, что я могу изменить в файле dtd, чтобы генерация классов Java разделила personsи groupsв классе Contentjava, так что для получения всех лиц и групп нужно будет позвонить Content.getPersons()и Content.getGroups()соответственно?

5
задан Rox 25 April 2012 в 08:37
поделиться