Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
147 lines (118 sloc) 3.57 KB
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
<xs:group name="DateCalculators">
<xs:choice>
<xs:element ref="WeekdayOnOrAfter"/>
<xs:element ref="DaysAfter"/>
<xs:element ref="FixedDate"/>
<xs:element ref="XthDayOfWeekInMonth"/>
<xs:element ref="ClosestDayOfWeek"/>
<xs:element ref="EasterSunday"/>
</xs:choice>
</xs:group>
<xs:element name="HolidaySet">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Holiday"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Holiday">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:group ref="DateCalculators"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="WeekdayOnOrAfter">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:group ref="DateCalculators"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DaysAfter">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:group ref="DateCalculators"/>
</xs:sequence>
<xs:attribute name="Days" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="FixedDate">
<xs:complexType>
<xs:attribute name="Month" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Day" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Year" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="XthDayOfWeekInMonth">
<xs:complexType>
<xs:attribute name="DayOfWeek" use="required">
<xs:simpleType>
<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:attribute>
<xs:attribute name="Month" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DayOccurance" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ClosestDayOfWeek">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:group ref="DateCalculators"/>
</xs:sequence>
<xs:attribute name="DayOfWeek" use="required">
<xs:simpleType>
<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:attribute>
</xs:complexType>
</xs:element>
<xs:element name="EasterSunday"/>
</xs:schema>