【发布时间】:2012-05-05 22:20:19
【问题描述】:
我想使用 JAXB 从 dtd 文件生成 Java 类。
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 生成类时,我得到以下:
- 对象工厂
- 内容
- 人
- 人员
- 组
- 组
在 Content 类中,检索所有人员和组的方法是
public List<Object> getPersonOrGroup() {
if (personOrGroup == null) {
personOrGroup = new ArrayList<Object>();
}
return this.personOrGroup;
}
我可以在 dtd 文件中更改什么,以便生成 Java 类将使 persons 和 groups 在 Content java 类中分离,因此要检索所有人员和组将是分别致电Content.getPersons() 和Content.getGroups()?
【问题讨论】: