Дочерние элементы родительского элемента должны иметь один элемент (вне группы), за которым следует другой определенный элемент.
<xsd:element name="elementContainer">
<xsd:element name="element1">
<xsd:element name="element2">
<xsd:element name="element3">
<xsd:element name="element4">
<xsd:element name="element5">
<xsd:element name="element6">
<xsd:element name="proceedingElement">
</xsd:element>
Я хочу изменить приведенный выше XSD, чтобы в нем был один элемент (1-6), за которым следует исходящий элемент.
Я попытался обернуть выбор между элементамиОт 1 до 6, но это не принимается проверкой.
<xsd:element name="elementContainer">
<xsd:choice minOccurs="1">
<xsd:element name="element1">
<xsd:element name="element2">
<xsd:element name="element3">
<xsd:element name="element4">
<xsd:element name="element5">
<xsd:element name="element6">
</xsd:choice>
<xsd:element name="proceedingElement">
</xsd:element>
Для двух следующих примеров я хотел бы, чтобы первый прошел проверку, а второй потерпел неудачу.
<elementContainer>
<element2/>
<proceedingElement/>
</elementContainer>
<elementContainer>
<proceedingElement/>
</elementContainer>
Тот факт, что существует исходящий элемент, можно даже игнорировать, если это поможет, поэтому просто убедитесь, что хотя бы один элемент из шести элементов существует.