Statusing ChangeList Schema

Applies to: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

The ChangeList.xsd schema for Microsoft Project Server 2010 includes the following new attributes in the specified elements:

  • ChangeNumber, can optionally track a change for node consistency in the Change, PeriodChange, SimpleCustomFieldChange, and LookupTableValue elements. If node consistency is not tracked, ChangeNumber = -1.

  • ResID, specifies the resource GUID in the Assn and Task elements.

In the following schema, new attributes are shown in bold font:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="Changes">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Proj" nillable="false" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Assn" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                      <xs:element name="Change" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                          <xs:simpleContent>
                            <xs:extension base="xs:string">
                              <xs:attribute name="PID" type="xs:unsignedInt" use="required" />
                              <xs:attribute name="ChangeNumber" type="xs:unsignedInt" use="optional" />
                            </xs:extension>
                          </xs:simpleContent>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="PeriodChange" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                          <xs:simpleContent>
                            <xs:extension base="xs:string">
                              <xs:attribute name="PID" type="xs:unsignedInt" use="required" />
                              <xs:attribute name="Start" type="xs:dateTime" use="required" />
                              <xs:attribute name="End" type="xs:dateTime" use="required" />
                              <xs:attribute name="ChangeNumber" type="xs:unsignedInt" use="optional" />
                            </xs:extension>
                          </xs:simpleContent>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="SimpleCustomFieldChange" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                          <xs:simpleContent>
                            <xs:extension base="xs:string">
                              <xs:attribute name="CustomFieldType" type="ChangeType" use="required" />
                              <xs:attribute name="CustomFieldGuid" type="GUID" use="required" />
                              <xs:attribute name="CustomFieldName" type="xs:string" use="required" />
                              <xs:attribute name="ChangeNumber" type="xs:unsignedInt" use="optional" />
                            </xs:extension>
                          </xs:simpleContent>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="LookupTableCustomFieldChange" minOccurs="0" maxOccurs="unbounded">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="LookupTableValue" minOccurs="0" maxOccurs="unbounded">
                              <xs:complexType>
                                <xs:simpleContent>
                                  <xs:extension base="xs:string">
                                    <xs:attribute name="Guid" type="GUID" use="required" />
                                    <xs:attribute name="ChangeNumber" type="xs:unsignedInt" use="optional" />
                                  </xs:extension>
                                </xs:simpleContent>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                          <xs:attribute name="IsMultiValued" type="xs:boolean" use="required" />
                          <xs:attribute name="CustomFieldType" type="ChangeType" use="required" />
                          <xs:attribute name="CustomFieldGuid" type="GUID" use="required" />
                          <xs:attribute name="CustomFieldName" type="xs:string" use="required" />
                        </xs:complexType>
                      </xs:element>
                    </xs:choice>
                  </xs:sequence>
                  <xs:attribute name="ID" type="GUID" use="required" />
                  <xs:attribute name="ResID" type="GUID" />
                </xs:complexType>
              </xs:element>
              <xs:element name="Task" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Change" nillable="false" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="PID" type="xs:unsignedInt" use="required" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="ID" type="GUID" use="required" />
                  <xs:attribute name="ResID" type="GUID" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="ID" type="GUID" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="GUID">
    <xs:restriction base="xs:string">
      <xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}" />
      <xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChangeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Cost" />
      <xs:enumeration value="Date" />
      <xs:enumeration value="StartDate" />
      <xs:enumeration value="FinishDate" />
      <xs:enumeration value="Duration" />
      <xs:enumeration value="Flag" />
      <xs:enumeration value="None" />
      <xs:enumeration value="Number" />
      <xs:enumeration value="Text" />
      <xs:enumeration value="OutlineCode" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

See Also

Concepts

ChangeList Elements