我想使用 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 类的生成将在 java 类中进行persons
和groups
分隔Content
,因此检索所有人员和组将分别调用Content.getPersons()
和调用Content.getGroups()
?