Jaxb不为复杂类型的元素生成接口

时间:2010-06-03 10:43:24

标签: jaxb

我有一个包含

的xsd(对于basecamp xml)
<xsd:complexType name="ProjectType">
    <xsd:sequence>
        <xsd:element name="announcement"
                     type="TypedNilableStringElementType"
                     maxOccurs="1" 
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="created-on"
                     type="TypedDateElementType" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="id"
                     type="TypedIntegerElementType" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="last-changed-on"
                     type="TypedDateTimeElementType" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="name" 
                     type="xsd:string" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="show-announcement"
                     type="TypedBooleanElementType" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="show-writeboards"
                     type="TypedBooleanElementType" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="start-page" 
                     type="xsd:string"
                     maxOccurs="1" 
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="status" 
                     type="xsd:string" 
                     maxOccurs="1"
                     minOccurs="1">
        </xsd:element>
        <xsd:element name="company"
                     type="SimpleCompanyType" 
                     maxOccurs="1" 
                     minOccurs="1">
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

<xsd:element name="project" 
             type="ProjectType">
</xsd:element>

我正在查看http://java.sun.com/javaee/5/docs/tutorial/doc/bnbah.html并且无法理解我所做的与表17-13中的示例模式有何不同,其中有一个名为purchaseOrder的元素PurchaseOrderType。根据教程,在模式上运行xjc,将获得PurchaseOrder.java接口和PurchaseOrderType.java接口。

当我在我的架构上运行xjc时,我只得到一个ProjectType.java类,当xml实际上由一个<project ...></project>元素组成时,这将不会解析,因为没有Project.java类/接口匹配。

1 个答案:

答案 0 :(得分:1)