如何在类中为xsd中的1对1关系定义类

如何在类中为xsd中的1对1关系定义类,xsd,jaxb,Xsd,Jaxb,如果我像下面这样定义xsd模式,xs:元素将给出一个错误。我想在BitStatType和ValidationCountMessage之间建立1:1的关系?如何在类中定义类——这是针对JAXB java的 <xs:complexType name="BitStatType"> <xs:element name="BitAgeViolation" type="ValidationCountMessage" />

如果我像下面这样定义xsd模式,xs:元素将给出一个错误。我想在BitStatType和ValidationCountMessage之间建立1:1的关系?如何在类中定义类——这是针对JAXB java的

  <xs:complexType name="BitStatType">
                <xs:element name="BitAgeViolation" type="ValidationCountMessage" />                 
                <xs:attribute name="WiId" type="xs:int" use="required"/>
                <xs:attribute name="Title" type="xs:string" use="required"/>
                <xs:attribute name="TriggerRulesCount" type="xs:int" use="required"/>
                <xs:attribute name="TriggerEventsCount" type="xs:int" use="required"/>
                <xs:attribute name="LastPublishedDate" type="xs:date" use="required"/>
    </xs:complexType>  

首先,您丢失了一个xs:sequence(以防万一,不确定它是否在发布过程中丢失了)


如果ValidationCountMessage是complexType,那么JAXB应该创建两个类,一个用于BitStatType,一个用于ValidationCountMessage;BitStatType类将具有类型为ValidationCountMessage的字段bitAgeViolation。所以,这两个类之间有一个关联

<xs:complexType name="BitStatType">
    <xs:sequence>
        <xs:element name="BitAgeViolation" type="ValidationCountMessage"/>
    </xs:sequence>
    <xs:attribute name="WiId" type="xs:int" use="required"/>
    <xs:attribute name="Title" type="xs:string" use="required"/>
    <xs:attribute name="TriggerRulesCount" type="xs:int" use="required"/>
    <xs:attribute name="TriggerEventsCount" type="xs:int" use="required"/>
    <xs:attribute name="LastPublishedDate" type="xs:date" use="required"/>
</xs:complexType>