Я использую Eclipse IDE для построения XML-схемы для обработки JAXB, но получаю ошибку проверки следующего:
<xsd:element name="testEl">
<xsd:complexType>
<xsd:choice>
<xsd:sequence>
<xsd:element name="testElChild">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="tec1"/>
<xsd:element name="tec2"/>
</xsd:sequence>
<xsd:attribute name="type" use="required" fixed="yes"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="testElChild">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="tec3"/>
<xsd:element name="tec4"/>
</xsd:sequence>
<xsd:attribute name="type" use="required" fixed="no"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
</xsd:element>
В основном я пытаюсь указать, что если атрибут type элемента testElChild
имеет значение "yes", то он должен содержать дочерние элементы tec1
и tec2
, но если атрибут type имеет значение «нет», то он должен содержать дочерние элементы tec3
и tec4
.
Что не так с вышеуказанной схемой и / или как мне выполнить намерение с помощью действующей схемы XML?