Java JAXB2.0-XJC编译问题
我正在使用JAXB2.0生成POJO。 我有以下XSDJava JAXB2.0-XJC编译问题,java,xml,Java,Xml,我正在使用JAXB2.0生成POJO。 我有以下XSD <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="test"> <xs
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="test">
<xs:complexType>
<xs:attribute name="system" type="xs:string"/>
<xs:attribute name="dim" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="test1" type="xs:string"/>
<xs:element name="test2" type="xs:string"/>
<xs:element name="scoring_guide" type="embedded_scoring_guide_type"/>
<xs:complexType name="embedded_scoring_guide_type">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
<xs:choice>
<xs:element ref="test2" maxOccurs="unbounded"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:schema>
请在上述问题上提供帮助
谢谢
Vikram尝试定义JAXB内联属性或绑定文件,或避免使用相同字段的匿名序列/选项 这是解决您的问题的JAXB内联绑定示例:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0">
<xs:element name="test">
<xs:complexType>
<xs:attribute name="system" type="xs:string"/>
<xs:attribute name="dim" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="test1" type="xs:string"/>
<xs:element name="test2" type="xs:string"/>
<xs:element name="scoring_guide" type="embedded_scoring_guide_type"/>
<xs:complexType name="embedded_scoring_guide_type">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- Additional JAXB annotations -->
<xs:annotation>
<xs:appinfo>
<jxb:property name="firstBlock"/>
</xs:appinfo>
</xs:annotation>
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
<xs:choice>
<xs:element ref="test2" maxOccurs="unbounded"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- Additional JAXB annotations -->
<xs:annotation>
<xs:appinfo>
<jxb:property name="secondBlock"/>
</xs:appinfo>
</xs:annotation>
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:schema>
还要看看Oracle文档
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0">
<xs:element name="test">
<xs:complexType>
<xs:attribute name="system" type="xs:string"/>
<xs:attribute name="dim" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="test1" type="xs:string"/>
<xs:element name="test2" type="xs:string"/>
<xs:element name="scoring_guide" type="embedded_scoring_guide_type"/>
<xs:complexType name="embedded_scoring_guide_type">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- Additional JAXB annotations -->
<xs:annotation>
<xs:appinfo>
<jxb:property name="firstBlock"/>
</xs:appinfo>
</xs:annotation>
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
<xs:choice>
<xs:element ref="test2" maxOccurs="unbounded"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- Additional JAXB annotations -->
<xs:annotation>
<xs:appinfo>
<jxb:property name="secondBlock"/>
</xs:appinfo>
</xs:annotation>
<xs:element ref="test"/>
<xs:element ref="test1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:schema>