У меня есть элемент, который может выглядеть следующим образом:
<MyElement start="12.5. 2020" end="6.6 2020" info="Hello world!"/>
Но также и это:
<!-- This element still can contain useful info, but is not time-bound -->
<MyElement info="42" />
Поэтому я бы хотел задать определение узла так, чтобы либо не или оба атрибута должны присутствовать. До сих пор я только использовал документацию для документирования требования, но было бы лучше, если бы оно было непосредственно в схеме:
<xsd:complexType name="MyElement">
<xsd:attribute name="start" type="MyDate" use="optional">
<xs:annotation>
<xs:documentation>end date must also be present!</xs:documentation>
</xs:annotation>
</xsd:attribute>
<xsd:attribute name="end" type="MyDate" use="optional">
<xs:annotation>
<xs:documentation>start date must also be present!</xs:documentation>
</xs:annotation>
</xsd:attribute>
<xsd:attribute name="info" type="xsd:string" use="required" />
</xsd:complexType>