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