【发布时间】:2009-06-24 18:40:48
【问题描述】:
我正在使用 JAXB xjc 工具从 xsds 生成一些 Java 接口文件。我遇到了一个问题,我收到了大量的表单错误:
org.xml.sax.SAXParseException:ct-props-correct.4:“COCT_MT110200CA.PayeeRole”类型错误。指定了具有相同名称和目标命名空间的重复属性使用。重复属性使用的名称是'nullFlavor'。
架构的相关部分如下:
<xs:complexType name="COCT_MT110200CA.Holder">
<xs:sequence>
<xs:group ref="InfrastructureRootElements"/>
<xs:element name="payeeRole" type="COCT_MT110200CA.PayeeRole" minOccurs="1" maxOccurs="1">
</xs:element>
</xs:sequence>
<xs:attributeGroup ref="InfrastructureRootAttributes"/>
<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
<xs:attribute name="typeCode" type="ParticipationType" use="optional" fixed="HLD"/>
</xs:complexType>
其中 COCT_MT110200CA.PayeeRole 定义为:
<xs:complexType name="COCT_MT110200CA.PayeeRole">
<xs:sequence>
<xs:group ref="InfrastructureRootElements"/>
<xs:element name="id" type="II" minOccurs="0" maxOccurs="unbounded">
</xs:element>
<xs:choice>
<xs:element name="payeePerson" type="COCT_MT110200CA.PayeePerson" nillable="true"
minOccurs="0"
maxOccurs="1">
</xs:element>
<xs:element name="payeeOrganization" type="COCT_MT110200CA.PayeeOrganization"
nillable="true"
minOccurs="0"
maxOccurs="1">
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="InfrastructureRootAttributes"/>
<xs:attribute name="nullFlavor" type="NullFlavor" use="optional"/>
<xs:attribute name="classCode" type="RoleClass" use="optional" fixed="PAYEE"/>
</xs:complexType>
有什么想法吗?我自己也没觉得有什么问题……
【问题讨论】: