我试图代表一个班级,除其他外,它有一组星期几 - 例如,它可能是空的,可能是星期一、星期三和星期四,或者可能是所有 7 天。显然,它不应该允许同一天超过一次。我还尝试使用 xsd.exe 或其他工具从 XSD 生成类。
我不是在问哪种方法最好,而是在询问如何以任何明智的方式实现这一目标。例如,我不介意该类是否具有一周中的每一天的布尔值,或者限制为枚举值的哈希集。目标语言是 C#/.NET3.5。
麻烦的是,我对如何以 XSD 格式表示它一无所知!这是我到目前为止所得到的:
<xs:simpleType name="daysOfWeek">
<xs:restriction base="xs:string">
<xs:enumeration value="Monday"/>
<xs:enumeration value="Tuesday"/>
<xs:enumeration value="Wednesday"/>
<xs:enumeration value="Thursday"/>
<xs:enumeration value="Friday"/>
<xs:enumeration value="Saturday"/>
<xs:enumeration value="Sunday"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="runDays">
<!-- Set of days of the week goes here -->
</xs:complexType>