У меня есть следующие схе-Cant получить дочерние элементы набора atmost один раз в XSD
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Type">
<xsd:complexType>
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="First">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="5">
<xsd:element name="a" type="xsd:decimal" minOccurs="0" maxOccurs="1"/>
<xsd:element name="b" type="xsd:int" minOccurs="0" maxOccurs="1"/>
<xsd:element name="c" type="xsd:int" minOccurs="0" maxOccurs="1"/>
<xsd:element name="d" type="xsd:int" minOccurs="0" maxOccurs="1"/>
<xsd:element name="e" type="xsd:int" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="Second" type="xsd:base64Binary"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Узор, который я хочу, чтобы создать то, что XML может содержать первые и вторые элементы любого количества раз и любой заказ но элемент First должен иметь дочерние элементы не чаще одного раза. то есть, a, b, c, d, e могут возникать не более одного раза. Я не могу достичь этой второй части, где дочерние элементы встречаются не чаще одного раза. Любые идеи почему?
@raghav Пожалуйста, не оставляйте комментарии в комментариях - это нечитаемо. И я не понимаю вашего комментария. Что ты пытаешься мне сказать? Просто попробуйте использовать схему, которую я предложил. –
Я попробую. Благодарю. Я хочу добавить, что я могу сгенерировать «недействительный» XML, отправленный вами с моей исходной схемой. Разве не встречаются грани, работающие с дочерними элементами? – raghav
Muller // С графами возникновения под каждым дочерним элементом может появляться либо один раз, либо нет. Это требование. Поэтому я написал «не один раз». Почему фасет возникновения не работает с дочерними элементами? – raghav