如果我像下面那样定义我的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>
答案 0 :(得分:1)
首先,你错过了一个xs:序列(以防万一,不确定它是否在帖子中丢失或者是什么)。
<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>
如果您的ValidationCountMessage是complexType,那么JAXB应该创建两个类,一个用于BitStatType,另一个用于ValidationCountMessage; BitStatType类将具有ValidationCountMessage类型的字段bitAgeViolation。所以,你们将在这两个类之间建立联系。