Calendars 元素 XML 架构
下面显示了定义 Calendars 元素的 Microsoft Office Project 2007 XML 数据交换架构 (mspdi_pj12.xsd) 部分。
Project 2007 SDK 下载中包含完整的 Project 2007 XML 数据交换架构。 有关 Project 2007 SDK 下载的链接,请参阅 欢迎使用 Microsoft Office Project 2007 SDK。
日历架构
<?xml version="1.0" encoding="utf-8"?>
. . .
<!-- @Calendar schema -->
<xsd:element name="Calendars" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of calendars that is associated with the project.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Calendar" minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Calendars are used to define standard working and non-working times. Projects must have one base calendar. Tasks and resources can have their own non-base calendars that are based on a base calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="UID" type="xsd:integer">
<xsd:annotation>
<xsd:documentation>The unique identifier of the calendar.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Name" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The name of the calendar.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="512" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="IsBaseCalendar" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether the calendar is a base calendar.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="BaseCalendarUID" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The unique identifier of the base calendar on which this calendar depends. Only applicable if the calendar is not a base calendar.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="WeekDays" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of weekdays that defines this calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WeekDay" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>A weekday either defines regular days of the week or exception days in the calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DayType" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The type of day. Values are: 0=Exception, 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
<xsd:enumeration value="5" />
<xsd:enumeration value="6" />
<xsd:enumeration value="7" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DayWorking" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether the specified date or day type is working.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="TimePeriod" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Defines a contiguous set of exception days.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FromDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The beginning of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ToDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The end of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="WorkingTimes" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of working times that define the time worked on the weekday. One of these must be present, and there can be no more than five.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="WorkingTime" minOccurs="0" maxOccurs="5">
<xsd:annotation>
<xsd:documentation>Defines the working time during the weekday.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FromTime" type="xsd:time" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The beginning of the working time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ToTime" type="xsd:time" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The end of the working time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- #New Project 2007 element definitions -->
<xsd:element name="Exceptions" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of exceptions that is associated with the calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Exception" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Exceptions are used to define an exception sub-calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EnteredByOccurrences" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether the range of recurrence is defined by entering a number of occurrences. False specifies that the range of recurrence is defined by entering a finish date.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="TimePeriod" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Defines a contiguous set of exception days.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FromDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The beginning of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ToDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The end of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Occurrences" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The number of occurrences for which the calendar exception is valid.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Name" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The name of the exception.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="512" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Type" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The exception type. Values are: 1=Daily, 2=Yearly by day of the month, 3=Yearly by position, 4=Monthly by day of the month, 5=Monthly by position, 6=Weekly, 7=By day count, 8=By weekday count, 9=No exception type.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
<xsd:enumeration value="5" />
<xsd:enumeration value="6" />
<xsd:enumeration value="7" />
<xsd:enumeration value="8" />
<xsd:enumeration value="9" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Period" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The period of recurrence for the exception.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="DaysOfWeek" type="xsd:integer" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The days of the week on which the exception is valid. Values are: 1=Sunday, 2=Monday, 4=Tuesday, 8=Wednesday, 16=Thursday, 32=Friday, 64=Saturday.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="MonthItem" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The month item for which an exception recurrence is scheduled. Values are: 0=Day, 1=Weekday, 2=WeekendDay, 3=Sunday, 4=Monday, 5=Tuesday, 6=Wednesday, 7=Thursday, 8=Friday, 9=Saturday.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
<xsd:enumeration value="5" />
<xsd:enumeration value="6" />
<xsd:enumeration value="7" />
<xsd:enumeration value="8" />
<xsd:enumeration value="9" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MonthPosition" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The position of a month item within a month. Values are: 0=First position, 1=Second position, 2=Third position, 3=Fourth position, 4=Last position.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Month" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The month for which an exception recurrence is scheduled. Values are: 0=January, 1=February, 2=March, 3=April, 4=May, 5=June, 6=July, 7=August, 8=September, 9=October, 10=November, 11=December.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
<xsd:enumeration value="5" />
<xsd:enumeration value="6" />
<xsd:enumeration value="7" />
<xsd:enumeration value="8" />
<xsd:enumeration value="9" />
<xsd:enumeration value="10" />
<xsd:enumeration value="11" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MonthDay" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The day of the month on which an exception recurrence is scheduled.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="DayWorking" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether the specified date or day type is working.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="WorkingTimes" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of working times that define the time worked on the weekday. One of these must be present, and there can be no more than five.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="WorkingTime" minOccurs="0" maxOccurs="5">
<xsd:annotation>
<xsd:documentation>Defines the working time during the weekday.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FromTime" type="xsd:time" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The beginning of the working time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ToTime" type="xsd:time" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The end of the working time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- Note: The WorkWeeks element is not correctly saved to XML.
To create valid XML, you must replace the empty tag set (<> and </>)
with the WorkWeeks tag set (<WorkWeeks> and </WorkWeeks>).
-->
<xsd:element name="WorkWeeks" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The collection of effective work weeks associated with the calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="WorkWeek" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Defines an effective work week.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TimePeriod" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Defines a contiguous set of exception days.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FromDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The beginning of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ToDate" type="xsd:dateTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The end of the exception time.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Name" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The name of the effective week.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="512" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<!-- Note: The WeekDay element is not correctly saved to XML.
To create valid XML, you must manually insert a closing tag (</WeekDay>)
for each opening tag (<WeekDay>) in the XML output.
-->
<xsd:element name="WeekDay" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>A weekday either defines regular days of the week or exception days in the calendar.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DayType" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The type of day. Values are: 0=Exception, 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="0" />
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
<xsd:enumeration value="5" />
<xsd:enumeration value="6" />
<xsd:enumeration value="7" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DayWorking" type="xsd:boolean" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Whether the specified date or day type is working.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- #End new Project 2007 element definitions -->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>