<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd" />

  <!--Infrastructure Common Elements-->


  <!--SIF_Message-->

  <xs:complexType name="SIF_MessageType">
    <xs:choice>
      <xs:element name="SIF_Ack" type="sif:SIF_AckType" />
      <xs:element name="SIF_Event" type="sif:SIF_EventType" />
      <xs:element name="SIF_Provide" type="sif:SIF_ProvideType" />
      <xs:element name="SIF_Provision" type="sif:SIF_ProvisionType" />
      <xs:element name="SIF_Register" type="sif:SIF_RegisterType" />
      <xs:element name="SIF_Request" type="sif:SIF_RequestType" />
      <xs:element name="SIF_Response" type="sif:SIF_ResponseType" />
      <xs:element name="SIF_Subscribe" type="sif:SIF_SubscribeType" />
      <xs:element name="SIF_SystemControl" type="sif:SIF_SystemControlType" />
      <xs:element name="SIF_Unprovide" type="sif:SIF_UnprovideType" />
      <xs:element name="SIF_Unregister" type="sif:SIF_UnregisterType" />
      <xs:element name="SIF_Unsubscribe" type="sif:SIF_UnsubscribeType" />
    </xs:choice>
    <!--<xs:attribute name="xmlns" use="optional" type="xs:anyURI" />-->
    <xs:attribute name="Version" use="required" type="sif:VersionType" />
  </xs:complexType>

  <xs:element name="SIF_Message" type="sif:SIF_MessageType" />


  <!--SIF_Header-->

  <xs:complexType name="SIF_HeaderType">
    <xs:sequence>
      <xs:element name="SIF_MsgId" type="sif:MsgIdType" />
      <xs:element name="SIF_Timestamp" type="xs:dateTime" />
      <xs:element name="SIF_Security" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_SecureChannel">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_AuthenticationLevel" type="sif:SIF_AuthenticationLevelType" />
                  <xs:element name="SIF_EncryptionLevel" type="sif:SIF_EncryptionLevelType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SourceId" type="xs:token" />
      <xs:element name="SIF_DestinationId" minOccurs="0" type="xs:token" />
      <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />


  <!--SIF_EncryptionLevel-->

  <xs:simpleType name="SIF_EncryptionLevelType">
    <xs:restriction base="xs:unsignedInt">
      <xs:enumeration value="0" />
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="SIF_EncryptionLevel" type="sif:SIF_EncryptionLevelType" />


  <!--SIF_AuthenticationLevel-->

  <xs:simpleType name="SIF_AuthenticationLevelType">
    <xs:restriction base="xs:unsignedInt">
      <xs:enumeration value="0" />
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="SIF_AuthenticationLevel" type="sif:SIF_AuthenticationLevelType" />


  <!--SIF_Contexts-->

  <xs:complexType name="SIF_ContextsType">
    <xs:sequence>
      <xs:element name="SIF_Context" maxOccurs="unbounded" type="sif:SIF_ContextType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />


  <!--SIF_Context-->

  <xs:simpleType name="SIF_ContextType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>

  <xs:element name="SIF_Context" type="sif:SIF_ContextType" />


  <!--SIF_Protocol-->

  <xs:complexType name="SIF_ProtocolType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="SIF_URL" type="xs:anyURI" />
        <xs:element name="SIF_Property" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SIF_Name" type="xs:token" />
              <xs:element name="SIF_Value" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="Type" use="required">
      <xs:simpleType>
        <xs:union>
          <xs:simpleType>
            <xs:restriction base="sif:DefinedProtocolsType" />
          </xs:simpleType>
          <xs:simpleType>
            <xs:restriction base="xs:token" />
          </xs:simpleType>
        </xs:union>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Secure" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Yes" />
          <xs:enumeration value="No" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="SIF_Protocol" type="sif:SIF_ProtocolType" />


  <!--SIF_Status-->

  <xs:complexType name="SIF_StatusType">
    <xs:sequence>
      <xs:element name="SIF_Code" type="sif:InfrastructureStatusCodeType" />
      <xs:element name="SIF_Desc" minOccurs="0" type="xs:string" />
      <xs:element name="SIF_Data" minOccurs="0">
        <xs:complexType>
          <xs:choice>
            <xs:element name="SIF_Message" type="sif:SIF_MessageType" />
            <xs:element name="SIF_AgentACL" type="sif:SIF_AgentACLInfrastructureType" />
            <xs:element name="SIF_ZoneStatus" type="sif:SIF_ZoneStatusInfrastructureType" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Status" type="sif:SIF_StatusType" />


  <!--SIF_Error-->

  <xs:complexType name="SIF_ErrorType">
    <xs:sequence>
      <xs:element name="SIF_Category" type="sif:InfrastructureErrorCategoryType" />
      <xs:element name="SIF_Code">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureXMLValidationErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureEncryptionErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureAuthenticationErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureAccessAndPermissionErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureRegistrationErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureProvisionErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureSubscriptionErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureRequestAndResponseErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureEventReportingAndProcessingErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureTransportErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureSystemErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:InfrastructureGenericMessageHandlingErrorType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Desc" type="xs:string" />
      <xs:element name="SIF_ExtendedDesc" minOccurs="0" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Error" type="sif:SIF_ErrorType" />


  <!--SIF_Query-->

  <xs:complexType name="SIF_QueryType">
    <xs:sequence>
      <xs:element name="SIF_QueryObject">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Element" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
        </xs:complexType>
      </xs:element>
      <xs:choice minOccurs="0">
        <xs:element name="SIF_ConditionGroup">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SIF_Conditions" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="SIF_Condition" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="SIF_Element" type="xs:normalizedString" />
                          <xs:element name="SIF_Operator">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="EQ" />
                                <xs:enumeration value="LT" />
                                <xs:enumeration value="GT" />
                                <xs:enumeration value="LE" />
                                <xs:enumeration value="GE" />
                                <xs:enumeration value="NE" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SIF_Value" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="Type" use="required">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="And" />
                        <xs:enumeration value="Or" />
                        <xs:enumeration value="None" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="Type" use="required">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="And" />
                  <xs:enumeration value="Or" />
                  <xs:enumeration value="None" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="SIF_Example">
          <xs:complexType>
            <xs:choice>
              <xs:element name="StudentLocator" type="sif:StudentLocatorType" />
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Query" type="sif:SIF_QueryType" />


  <!--SIF_ExtendedQuery-->

  <xs:complexType name="SIF_ExtendedQueryType">
    <xs:sequence>
      <xs:element name="SIF_DestinationProvider" minOccurs="0" type="sif:SIF_RequestObjectNamesType" />
      <xs:element name="SIF_Select">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Element" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Alias" use="optional" type="xs:normalizedString" />
                    <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="Distinct" use="required" type="xs:boolean" />
          <xs:attribute name="RowCount" use="required">
            <xs:simpleType>
              <xs:union>
                <xs:simpleType>
                  <xs:restriction base="xs:positiveInteger" />
                </xs:simpleType>
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="All" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:union>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_From">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Join" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_JoinOn" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_LeftElement">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:normalizedString">
                                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="SIF_RightElement">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:normalizedString">
                                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Inner" />
                      <xs:enumeration value="LeftOuter" />
                      <xs:enumeration value="RightOuter" />
                      <xs:enumeration value="FullOuter" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Where" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_ConditionGroup">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Conditions" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Condition" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Element">
                                <xs:complexType>
                                  <xs:simpleContent>
                                    <xs:extension base="xs:normalizedString">
                                      <xs:attribute name="ObjectName" use="required" />
                                    </xs:extension>
                                  </xs:simpleContent>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="SIF_Operator">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="EQ" />
                                    <xs:enumeration value="LT" />
                                    <xs:enumeration value="GT" />
                                    <xs:enumeration value="LE" />
                                    <xs:enumeration value="GE" />
                                    <xs:enumeration value="NE" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="SIF_Value" type="xs:string" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="Type" use="required">
                        <xs:simpleType>
                          <xs:restriction base="xs:token">
                            <xs:enumeration value="And" />
                            <xs:enumeration value="Or" />
                            <xs:enumeration value="None" />
                          </xs:restriction>
                        </xs:simpleType>
                      </xs:attribute>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="And" />
                      <xs:enumeration value="Or" />
                      <xs:enumeration value="None" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_OrderBy" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Element" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                    <xs:attribute name="Ordering" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Ascending" />
                          <xs:enumeration value="Descending" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_ExtendedQuery" type="sif:SIF_ExtendedQueryType" />


  <!--SIF_ExtendedQueryResults-->

  <xs:complexType name="SIF_ExtendedQueryResultsType">
    <xs:sequence>
      <xs:element name="SIF_ColumnHeaders">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Element" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                    <xs:attribute name="Alias" use="optional" type="xs:normalizedString" />
                    <!--<xs:attribute ref="xsi:type" use="optional" />-->
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Rows">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="R" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="C" maxOccurs="unbounded" type="sif:ExtendedContentType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_ExtendedQueryResults" type="sif:SIF_ExtendedQueryResultsType" />


  <!--Infrastructure Messages-->


  <!--SIF_Ack-->

  <xs:complexType name="SIF_AckType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_OriginalSourceId" nillable="true" type="xs:token" />
      <xs:element name="SIF_OriginalMsgId" nillable="true" type="sif:MsgIdType" />
      <xs:choice>
        <xs:element name="SIF_Status" type="sif:SIF_StatusType" />
        <xs:element name="SIF_Error" type="sif:SIF_ErrorType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Ack" type="sif:SIF_AckType" />


  <!--SIF_Event-->

  <xs:complexType name="SIF_EventType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_ObjectData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_EventObject">
              <xs:complexType>
                <xs:complexContent>
                  <xs:extension base="sif:SIF_EventObjectType">
                    <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
                    <xs:attribute name="Action" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Add" />
                          <xs:enumeration value="Delete" />
                          <xs:enumeration value="Change" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Event" type="sif:SIF_EventType" />


  <!--SIF_Provide-->

  <xs:complexType name="SIF_ProvideType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Object" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_ExtendedQuerySupport" minOccurs="0" type="xs:boolean" />
            <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_ProvideObjectNamesType" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Provide" type="sif:SIF_ProvideType" />


  <!--SIF_Provision-->

  <xs:complexType name="SIF_ProvisionType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_ProvideObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ExtendedQuerySupport" minOccurs="0" type="xs:boolean" />
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_ProvideObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SubscribeObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishAddObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishChangeObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishDeleteObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RequestObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ExtendedQuerySupport" minOccurs="0" type="xs:boolean" />
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RespondObjects">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ExtendedQuerySupport" minOccurs="0" type="xs:boolean" />
                  <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Provision" type="sif:SIF_ProvisionType" />


  <!--SIF_Register-->

  <xs:complexType name="SIF_RegisterType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Name" type="xs:normalizedString" />
      <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionWithWildcardsType" />
      <xs:element name="SIF_MaxBufferSize" type="xs:unsignedInt" />
      <xs:element name="SIF_Mode">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Push" />
            <xs:enumeration value="Pull" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Protocol" minOccurs="0" type="sif:SIF_ProtocolType" />
      <xs:element name="SIF_NodeVendor" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="SIF_NodeVersion" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="SIF_Application" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Vendor" type="xs:normalizedString" />
            <xs:element name="SIF_Product" type="xs:normalizedString" />
            <xs:element name="SIF_Version" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Icon" minOccurs="0" type="xs:anyURI" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Register" type="sif:SIF_RegisterType" />


  <!--SIF_Request-->

  <xs:complexType name="SIF_RequestType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionWithWildcardsType" />
      <xs:element name="SIF_MaxBufferSize" type="xs:unsignedInt" />
      <xs:choice>
        <xs:element name="SIF_Query" type="sif:SIF_QueryType" />
        <xs:element name="SIF_ExtendedQuery" type="sif:SIF_ExtendedQueryType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Request" type="sif:SIF_RequestType" />


  <!--SIF_Response-->

  <xs:complexType name="SIF_ResponseType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_RequestMsgId" type="sif:MsgIdType" />
      <xs:element name="SIF_PacketNumber" type="xs:positiveInteger" />
      <xs:element name="SIF_MorePackets">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:choice>
        <xs:element name="SIF_Error" type="sif:SIF_ErrorType" />
        <xs:element name="SIF_ObjectData" type="sif:SIF_ResponseObjectsType" />
        <xs:element name="SIF_ExtendedQueryResults" type="sif:SIF_ExtendedQueryResultsType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Response" type="sif:SIF_ResponseType" />


  <!--SIF_Subscribe-->

  <xs:complexType name="SIF_SubscribeType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Object" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Subscribe" type="sif:SIF_SubscribeType" />


  <!--SIF_SystemControl-->

  <xs:complexType name="SIF_SystemControlType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_SystemControlData">
        <xs:complexType>
          <xs:choice>
            <xs:element name="SIF_Ping" type="sif:SIF_PingType" />
            <xs:element name="SIF_Sleep" type="sif:SIF_SleepType" />
            <xs:element name="SIF_Wakeup" type="sif:SIF_WakeupType" />
            <xs:element name="SIF_GetMessage" type="sif:SIF_GetMessageType" />
            <xs:element name="SIF_GetZoneStatus" type="sif:SIF_GetZoneStatusType" />
            <xs:element name="SIF_GetAgentACL" type="sif:SIF_GetAgentACLType" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_SystemControl" type="sif:SIF_SystemControlType" />


  <!--SIF_Ping-->

  <xs:complexType name="SIF_PingType" />

  <xs:element name="SIF_Ping" type="sif:SIF_PingType" />


  <!--SIF_Sleep-->

  <xs:complexType name="SIF_SleepType" />

  <xs:element name="SIF_Sleep" type="sif:SIF_SleepType" />


  <!--SIF_Wakeup-->

  <xs:complexType name="SIF_WakeupType" />

  <xs:element name="SIF_Wakeup" type="sif:SIF_WakeupType" />


  <!--SIF_GetMessage-->

  <xs:complexType name="SIF_GetMessageType" />

  <xs:element name="SIF_GetMessage" type="sif:SIF_GetMessageType" />


  <!--SIF_GetZoneStatus-->

  <xs:complexType name="SIF_GetZoneStatusType" />

  <xs:element name="SIF_GetZoneStatus" type="sif:SIF_GetZoneStatusType" />


  <!--SIF_GetAgentACL-->

  <xs:complexType name="SIF_GetAgentACLType" />

  <xs:element name="SIF_GetAgentACL" type="sif:SIF_GetAgentACLType" />


  <!--SIF_Unprovide-->

  <xs:complexType name="SIF_UnprovideType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Object" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_ProvideObjectNamesType" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Unprovide" type="sif:SIF_UnprovideType" />


  <!--SIF_Unregister-->

  <xs:complexType name="SIF_UnregisterType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Unregister" type="sif:SIF_UnregisterType" />


  <!--SIF_Unsubscribe-->

  <xs:complexType name="SIF_UnsubscribeType">
    <xs:sequence>
      <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
      <xs:element name="SIF_Object" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Contexts" minOccurs="0" type="sif:SIF_ContextsType" />
          </xs:sequence>
          <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Unsubscribe" type="sif:SIF_UnsubscribeType" />


  <!--Infrastructure Data Objects-->


  <!--SIF_ZoneStatus-->

  <xs:complexType name="SIF_ZoneStatusType">
    <xs:sequence>
      <xs:element name="SIF_Name" type="xs:normalizedString" />
      <xs:element name="SIF_Icon" minOccurs="0" type="xs:anyURI" />
      <xs:element name="SIF_Vendor" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Name" type="xs:normalizedString" />
            <xs:element name="SIF_Product" type="xs:normalizedString" />
            <xs:element name="SIF_Version" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Providers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Provider" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_ExtendedQuerySupport" type="xs:boolean" />
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Subscribers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Subscriber" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_AddPublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_ChangePublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_DeletePublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Responders" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Responder" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Requesters" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Requester" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_ExtendedQuerySupport" type="xs:boolean" />
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SIFNodes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_SIFNode" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Name" type="xs:normalizedString" />
                  <xs:element name="SIF_Icon" minOccurs="0" type="xs:anyURI" />
                  <xs:element name="SIF_NodeVendor" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="SIF_NodeVersion" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="SIF_Application" minOccurs="0">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Vendor" type="xs:normalizedString" />
                        <xs:element name="SIF_Product" type="xs:normalizedString" />
                        <xs:element name="SIF_Version" type="xs:normalizedString" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SIF_SourceId" type="xs:token" />
                  <xs:element name="SIF_Mode">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Push" />
                        <xs:enumeration value="Pull" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="SIF_Protocol" minOccurs="0" type="sif:SIF_ProtocolType" />
                  <xs:element name="SIF_VersionList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionWithWildcardsType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SIF_AuthenticationLevel" minOccurs="0" type="sif:SIF_AuthenticationLevelType" />
                  <xs:element name="SIF_EncryptionLevel" minOccurs="0" type="sif:SIF_EncryptionLevelType" />
                  <xs:element name="SIF_MaxBufferSize" type="xs:unsignedInt" />
                  <xs:element name="SIF_Sleeping">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="No" />
                        <xs:enumeration value="Yes" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Agent" />
                      <xs:enumeration value="ZIS" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedAuthentication" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_ProtocolName" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="X.509" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedProtocols">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Protocol" maxOccurs="unbounded" type="sif:SIF_ProtocolType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedVersions">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_AdministrationURL" minOccurs="0" type="xs:anyURI" />
      <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="ZoneId" use="required" type="xs:token" />
  </xs:complexType>

  <xs:element name="SIF_ZoneStatus" type="sif:SIF_ZoneStatusType" />


  <!--SIF_ZoneStatusInfrastructure-->

  <xs:complexType name="SIF_ZoneStatusInfrastructureType">
    <xs:sequence>
      <xs:element name="SIF_Name" type="xs:normalizedString" />
      <xs:element name="SIF_Icon" minOccurs="0" type="xs:anyURI" />
      <xs:element name="SIF_Vendor" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Name" type="xs:normalizedString" />
            <xs:element name="SIF_Product" type="xs:normalizedString" />
            <xs:element name="SIF_Version" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Providers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Provider" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_ExtendedQuerySupport" type="xs:boolean" />
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Subscribers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Subscriber" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_AddPublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_ChangePublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_DeletePublishers" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Publisher" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Responders" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Responder" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Requesters" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Requester" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_ObjectList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Object" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SIF_ExtendedQuerySupport" type="xs:boolean" />
                              <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                            </xs:sequence>
                            <xs:attribute name="ObjectName" use="required" type="xs:NCName" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SourceId" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SIFNodes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_SIFNode" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Name" type="xs:normalizedString" />
                  <xs:element name="SIF_Icon" minOccurs="0" type="xs:anyURI" />
                  <xs:element name="SIF_NodeVendor" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="SIF_NodeVersion" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="SIF_Application" minOccurs="0">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Vendor" type="xs:normalizedString" />
                        <xs:element name="SIF_Product" type="xs:normalizedString" />
                        <xs:element name="SIF_Version" type="xs:normalizedString" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SIF_SourceId" type="xs:token" />
                  <xs:element name="SIF_Mode">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Push" />
                        <xs:enumeration value="Pull" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="SIF_Protocol" minOccurs="0" type="sif:SIF_ProtocolType" />
                  <xs:element name="SIF_VersionList">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionWithWildcardsType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SIF_AuthenticationLevel" minOccurs="0" type="sif:SIF_AuthenticationLevelType" />
                  <xs:element name="SIF_EncryptionLevel" minOccurs="0" type="sif:SIF_EncryptionLevelType" />
                  <xs:element name="SIF_MaxBufferSize" type="xs:unsignedInt" />
                  <xs:element name="SIF_Sleeping">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="No" />
                        <xs:enumeration value="Yes" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Agent" />
                      <xs:enumeration value="ZIS" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedAuthentication" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_ProtocolName" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="X.509" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedProtocols">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Protocol" maxOccurs="unbounded" type="sif:SIF_ProtocolType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SupportedVersions">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Version" maxOccurs="unbounded" type="sif:VersionType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_AdministrationURL" minOccurs="0" type="xs:anyURI" />
      <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="ZoneId" use="required" type="xs:token" />
  </xs:complexType>


  <!--SIF_AgentACL-->

  <xs:complexType name="SIF_AgentACLType">
    <xs:sequence>
      <xs:element name="SIF_ProvideAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_ProvideObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SubscribeAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishAddAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishChangeAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishDeleteAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RequestAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RespondAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_AgentACL" type="sif:SIF_AgentACLType" />


  <!--SIF_AgentACLInfrastructure-->

  <xs:complexType name="SIF_AgentACLInfrastructureType">
    <xs:sequence>
      <xs:element name="SIF_ProvideAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_ProvideObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_SubscribeAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishAddAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishChangeAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_PublishDeleteAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_SubscribeObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RequestAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_RespondAccess">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Object" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_Contexts" type="sif:SIF_ContextsType" />
                </xs:sequence>
                <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>


  <!--Data Model Common Elements-->


  <!--OtherNames-->

  <xs:complexType name="OtherNamesType">
    <xs:sequence>
      <xs:element name="Name" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="sif:OtherNameType">
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="OtherNames" type="sif:OtherNamesType" />


  <!--PlannedAssessmentParticipation-->

  <xs:complexType name="PlannedAssessmentParticipationType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="Codeset" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="StateProvince" />
              <xs:enumeration value="Local" />
              <xs:enumeration value="Other" />
              <xs:enumeration value="Text" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="PlannedAssessmentParticipation" type="sif:PlannedAssessmentParticipationType" />


  <!--ExceptionalityCategories-->

  <xs:complexType name="ExceptionalityCategoriesType">
    <xs:sequence>
      <xs:element name="ExceptionalityCategory" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0768PrimaryDisabilityTypeType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="9999" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
            <xs:element name="ExceptionalityPriority">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Primary" />
                  <xs:enumeration value="Secondary" />
                  <xs:enumeration value="Tertiary" />
                  <xs:enumeration value="Additional" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ExceptionalityCategories" type="sif:ExceptionalityCategoriesType" />


  <!--ProgramStatus-->

  <xs:complexType name="ProgramStatusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001" />
            <xs:enumeration value="S002" />
            <xs:enumeration value="S003" />
            <xs:enumeration value="S004" />
            <xs:enumeration value="S005" />
            <xs:enumeration value="9999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ProgramStatus" type="sif:ProgramStatusType" />


  <!--ProgramType-->

  <xs:complexType name="ProgramTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="sif:NCES0274StudentFamilyProgramTypeType">
                <xs:enumeration value="0241" />
                <xs:enumeration value="0242" />
                <xs:enumeration value="0244" />
                <xs:enumeration value="0245" />
                <xs:enumeration value="0248" />
                <xs:enumeration value="0875" />
                <xs:enumeration value="0249" />
                <xs:enumeration value="0250" />
                <xs:enumeration value="0876" />
                <xs:enumeration value="0251" />
                <xs:enumeration value="0253" />
                <xs:enumeration value="0255" />
                <xs:enumeration value="0256" />
                <xs:enumeration value="2389" />
                <xs:enumeration value="2381" />
                <xs:enumeration value="0246" />
                <xs:enumeration value="0283" />
                <xs:enumeration value="0284" />
                <xs:enumeration value="2393" />
                <xs:enumeration value="0263" />
                <xs:enumeration value="0265" />
                <xs:enumeration value="0267" />
                <xs:enumeration value="0289" />
                <xs:enumeration value="0270" />
                <xs:enumeration value="0272" />
                <xs:enumeration value="0278" />
                <xs:enumeration value="9999" />
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:NCES0229ProgramTypeType">
                <xs:enumeration value="0300" />
                <xs:enumeration value="0400" />
                <xs:enumeration value="0800" />
                <xs:enumeration value="1300" />
                <xs:enumeration value="1400" />
                <xs:enumeration value="1800" />
                <xs:enumeration value="1900" />
                <xs:enumeration value="2200" />
                <xs:enumeration value="2300" />
                <xs:enumeration value="2400" />
                <xs:enumeration value="2900" />
                <xs:enumeration value="3000" />
                <xs:enumeration value="3100" />
                <xs:enumeration value="3200" />
              </xs:restriction>
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="S001" />
                <xs:enumeration value="S002" />
                <xs:enumeration value="S003" />
                <xs:enumeration value="S004" />
                <xs:enumeration value="S005" />
                <xs:enumeration value="S006" />
                <xs:enumeration value="S007" />
                <xs:enumeration value="S008" />
                <xs:enumeration value="S009" />
                <xs:enumeration value="S010" />
                <xs:enumeration value="S011" />
                <xs:enumeration value="S012" />
                <xs:enumeration value="S013" />
                <xs:enumeration value="S014" />
                <xs:enumeration value="S015" />
                <xs:enumeration value="S016" />
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ProgramType" type="sif:ProgramTypeType" />


  <!--GraduationRequirement-->

  <xs:simpleType name="GraduationRequirementType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="GraduationRequirement" type="sif:GraduationRequirementType" />


  <!--SubjectAreaList-->

  <xs:complexType name="SubjectAreaListType">
    <xs:sequence>
      <xs:element name="SubjectArea" maxOccurs="unbounded" type="sif:SubjectAreaType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SubjectAreaList" type="sif:SubjectAreaListType" />


  <!--TermSpan-->

  <xs:complexType name="TermSpanType">
    <xs:sequence>
      <xs:element name="Code" type="sif:NCES0266SessionTypeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TermSpan" type="sif:TermSpanType" />


  <!--SchoolContactList-->

  <xs:complexType name="SchoolContactListType">
    <xs:sequence>
      <xs:element name="SchoolContact" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="sif:PublishInDirectoryType" />
            <xs:element name="ContactInfo" type="sif:ContactInfoType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SchoolContactList" type="sif:SchoolContactListType" />


  <!--SchoolURL-->

  <xs:simpleType name="SchoolURLType">
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>

  <xs:element name="SchoolURL" type="sif:SchoolURLType" />


  <!--LEAName-->

  <xs:simpleType name="LEANameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="LEAName" type="sif:LEANameType" />


  <!--LastName-->

  <xs:simpleType name="LastNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="LastName" type="sif:LastNameType" />


  <!--FirstName-->

  <xs:simpleType name="FirstNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="FirstName" type="sif:FirstNameType" />


  <!--MiddleName-->

  <xs:simpleType name="MiddleNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="MiddleName" type="sif:MiddleNameType" />


  <!--SSN-->

  <xs:simpleType name="SSNType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>

  <xs:element name="SSN" type="sif:SSNType" />


  <!--IDEA-->

  <xs:simpleType name="IDEAType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="IDEA" type="sif:IDEAType" />


  <!--Migrant-->

  <xs:simpleType name="MigrantType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Migrant" type="sif:MigrantType" />


  <!--Title1-->

  <xs:simpleType name="Title1Type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Title1" type="sif:Title1Type" />


  <!--GiftedTalented-->

  <xs:simpleType name="GiftedTalentedType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="GiftedTalented" type="sif:GiftedTalentedType" />


  <!--EconomicDisadvantage-->

  <xs:simpleType name="EconomicDisadvantageType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="EconomicDisadvantage" type="sif:EconomicDisadvantageType" />


  <!--ELL-->

  <xs:simpleType name="ELLType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="ELL" type="sif:ELLType" />


  <!--Homeless-->

  <xs:simpleType name="HomelessType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Homeless" type="sif:HomelessType" />


  <!--Section504-->

  <xs:simpleType name="Section504Type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Section504" type="sif:Section504Type" />


  <!--VocationalConcentrator-->

  <xs:simpleType name="VocationalConcentratorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="VocationalConcentrator" type="sif:VocationalConcentratorType" />


  <!--Immigrant-->

  <xs:simpleType name="ImmigrantType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Immigrant" type="sif:ImmigrantType" />


  <!--NeglectedDelinquent-->

  <xs:simpleType name="NeglectedDelinquentType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="NeglectedDelinquent" type="sif:NeglectedDelinquentType" />


  <!--CourseCode-->

  <xs:simpleType name="CourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="CourseCode" type="sif:CourseCodeType" />


  <!--StateCourseCode-->

  <xs:simpleType name="StateCourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="StateCourseCode" type="sif:StateCourseCodeType" />


  <!--DistrictCourseCode-->

  <xs:simpleType name="DistrictCourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="DistrictCourseCode" type="sif:DistrictCourseCodeType" />


  <!--CourseTitle-->

  <xs:simpleType name="CourseTitleType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="CourseTitle" type="sif:CourseTitleType" />


  <!--IdentificationInfoList-->

  <xs:complexType name="IdentificationInfoListType">
    <xs:sequence>
      <xs:element name="IdentificationInfo" maxOccurs="unbounded" type="sif:IdentificationInfoType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="IdentificationInfoList" type="sif:IdentificationInfoListType" />


  <!--IdentificationInfo-->

  <xs:complexType name="IdentificationInfoType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Code" use="required">
          <xs:simpleType>
            <xs:restriction base="sif:NCES0147IdentificationSystemType">
              <xs:enumeration value="0175" />
              <xs:enumeration value="0264" />
              <xs:enumeration value="0276" />
              <xs:enumeration value="0764" />
              <xs:enumeration value="9999" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="IdentificationInfo" type="sif:IdentificationInfoType" />


  <!--CourseCredits-->

  <xs:complexType name="CourseCreditsType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Type" use="required" type="sif:NCES0108CreditTypeEarnedType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="CourseCredits" type="sif:CourseCreditsType" />


  <!--InstructionalLevel-->

  <xs:complexType name="InstructionalLevelType">
    <xs:sequence>
      <xs:element name="Code" type="sif:NCES0437InstructionalLevelType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="InstructionalLevel" type="sif:InstructionalLevelType" />


  <!--AddressList-->

  <xs:complexType name="AddressListType">
    <xs:sequence>
      <xs:element name="Address" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="sif:AddressType">
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="AddressList" type="sif:AddressListType" />


  <!--Address-->

  <xs:complexType name="AddressType">
    <xs:sequence>
      <xs:element name="Street">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Line1" type="xs:normalizedString" />
            <xs:element name="Line2" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="Line3" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="Complex" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="StreetNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="StreetPrefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="StreetName" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="StreetType" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="StreetSuffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="ApartmentType" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="ApartmentNumberPrefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="ApartmentNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="ApartmentNumberSuffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="City" type="xs:normalizedString" />
      <xs:element name="County" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateProvince" type="sif:StateProvinceType" />
      <xs:element name="Country" type="sif:CountryType" />
      <xs:element name="PostalCode" type="xs:normalizedString" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="sif:GridLocationType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="sif:NCES0025AddressTypeType" />
  </xs:complexType>

  <xs:element name="Address" type="sif:AddressType" />


  <!--StateProvince-->

  <xs:simpleType name="StateProvinceType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="sif:USPSAbbreviationsType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="sif:CanadaPostProvincesAndTerritoriesType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:token" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:element name="StateProvince" type="sif:StateProvinceType" />


  <!--Country-->

  <xs:simpleType name="CountryType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="sif:ISO31661EnglishCountryNamesAndCodeElementsType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="sif:ISO31663CodeForFormerlyUsedNamesOfCountriesType" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:element name="Country" type="sif:CountryType" />


  <!--CongressionalDistrict-->

  <xs:simpleType name="CongressionalDistrictType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedInt" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:token" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:element name="CongressionalDistrict" type="sif:CongressionalDistrictType" />


  <!--ContactInfo-->

  <xs:complexType name="ContactInfoType">
    <xs:sequence>
      <xs:element name="Name">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Prefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="LastName" minOccurs="0" nillable="true" type="sif:LastNameType" />
            <xs:element name="FirstName" minOccurs="0" nillable="true" type="sif:FirstNameType" />
            <xs:element name="MiddleName" minOccurs="0" nillable="true" type="sif:MiddleNameType" />
            <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="PreferredName" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="SortName" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString" />
          </xs:sequence>
          <xs:attribute name="Type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="01" />
                <xs:enumeration value="02" />
                <xs:enumeration value="03" />
                <xs:enumeration value="04" />
                <xs:enumeration value="05" />
                <xs:enumeration value="07" />
                <xs:enumeration value="08" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="sif:EmailListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ContactInfo" type="sif:ContactInfoType" />


  <!--HispanicLatino-->

  <xs:simpleType name="HispanicLatinoType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="HispanicLatino" type="sif:HispanicLatinoType" />


  <!--RaceList-->

  <xs:complexType name="RaceListType">
    <xs:sequence>
      <xs:element name="Race" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0849RaceType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
            <xs:element name="Proportion" minOccurs="0" nillable="true" type="xs:decimal" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="RaceList" type="sif:RaceListType" />


  <!--Gender-->

  <xs:simpleType name="GenderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="M" />
      <xs:enumeration value="F" />
      <xs:enumeration value="U" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="Gender" type="sif:GenderType" />


  <!--BirthDate-->

  <xs:simpleType name="BirthDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>

  <xs:element name="BirthDate" type="sif:BirthDateType" />


  <!--Demographics-->

  <xs:complexType name="DemographicsType">
    <xs:sequence>
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="sif:RaceListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true" type="sif:HispanicLatinoType" />
      <xs:element name="Gender" minOccurs="0" nillable="true" type="sif:GenderType" />
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="sif:BirthDateType" />
      <xs:element name="BirthDateVerification" minOccurs="0" nillable="true" type="sif:NCES0315BirthdateVerificationType" />
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CountyOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateOfBirth" minOccurs="0" nillable="true" type="sif:StateProvinceType" />
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="sif:CountryType" />
      <xs:element name="CountriesOfCitizenship" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CountryOfCitizenship" maxOccurs="unbounded" type="sif:CountryType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CountriesOfResidency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CountryOfResidency" maxOccurs="unbounded" type="sif:CountryType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="CitizenshipStatus" minOccurs="0" nillable="true" type="sif:NCES0322CitizenshipStatusType" />
      <xs:element name="EnglishProficiency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0585EnglishProficiencyType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LanguageList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Language" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code" type="sif:NISOZ3953LanguageCodesType" />
                  <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                  <xs:element name="LanguageType" minOccurs="0" nillable="true" type="sif:NCES0327LanguageTypeType" />
                  <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DwellingArrangement" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0600DwellingArrangementType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MaritalStatus" minOccurs="0" nillable="true" type="sif:NCES0330MaritalStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="Demographics" type="sif:DemographicsType" />


  <!--EducationalLevel-->

  <xs:simpleType name="EducationalLevelType">
    <xs:restriction base="sif:NCES0332HighestLevelOfEducationCompletedType" />
  </xs:simpleType>

  <xs:element name="EducationalLevel" type="sif:EducationalLevelType" />


  <!--ElectronicIdList-->

  <xs:complexType name="ElectronicIdListType">
    <xs:sequence>
      <xs:element name="ElectronicId" maxOccurs="unbounded" type="sif:ElectronicIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ElectronicIdList" type="sif:ElectronicIdListType" />


  <!--ElectronicId-->

  <xs:complexType name="ElectronicIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Barcode" />
              <xs:enumeration value="Magstripe" />
              <xs:enumeration value="PIN" />
              <xs:enumeration value="RFID" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="ElectronicId" type="sif:ElectronicIdType" />


  <!--EmailList-->

  <xs:complexType name="EmailListType">
    <xs:sequence>
      <xs:element name="Email" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:EmailType">
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="EmailList" type="sif:EmailListType" />


  <!--Email-->

  <xs:complexType name="EmailType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Primary" />
              <xs:enumeration value="Alternate1" />
              <xs:enumeration value="Alternate2" />
              <xs:enumeration value="Alternate3" />
              <xs:enumeration value="Alternate4" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="Email" type="sif:EmailType" />


  <!--EntryDate-->

  <xs:simpleType name="EntryDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>

  <xs:element name="EntryDate" type="sif:EntryDateType" />


  <!--ExitDate-->

  <xs:simpleType name="ExitDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>

  <xs:element name="ExitDate" type="sif:ExitDateType" />


  <!--GradeLevel-->

  <xs:complexType name="GradeLevelType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="PK" />
            <xs:enumeration value="KG" />
            <xs:enumeration value="01" />
            <xs:enumeration value="02" />
            <xs:enumeration value="03" />
            <xs:enumeration value="04" />
            <xs:enumeration value="05" />
            <xs:enumeration value="06" />
            <xs:enumeration value="07" />
            <xs:enumeration value="08" />
            <xs:enumeration value="09" />
            <xs:enumeration value="10" />
            <xs:enumeration value="11" />
            <xs:enumeration value="12" />
            <xs:enumeration value="PG" />
            <xs:enumeration value="UN" />
            <xs:enumeration value="Other" />
            <xs:enumeration value="Unknown" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="GradeLevel" type="sif:GradeLevelType" />


  <!--GradeLevels-->

  <xs:complexType name="GradeLevelsType">
    <xs:sequence>
      <xs:element name="GradeLevel" maxOccurs="unbounded" type="sif:GradeLevelType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="GradeLevels" type="sif:GradeLevelsType" />


  <!--GraduationDate-->

  <xs:complexType name="GraduationDateType">
    <xs:sequence>
      <xs:element name="Year" type="xs:gYear" />
      <xs:element name="Month" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:pattern value="([0][1-9])|([1][0-2])" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Day" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:pattern value="([0-2][0-9])|([3][0-1])" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="GraduationDate" type="sif:GraduationDateType" />


  <!--ProjectedGraduationYear-->

  <xs:simpleType name="ProjectedGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:element name="ProjectedGraduationYear" type="sif:ProjectedGraduationYearType" />


  <!--OnTimeGraduationYear-->

  <xs:simpleType name="OnTimeGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:element name="OnTimeGraduationYear" type="sif:OnTimeGraduationYearType" />


  <!--GridLocation-->

  <xs:complexType name="GridLocationType">
    <xs:sequence>
      <xs:element name="Latitude">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Longitude">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="GridLocation" type="sif:GridLocationType" />


  <!--HomeroomNumber-->

  <xs:simpleType name="HomeroomNumberType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="HomeroomNumber" type="sif:HomeroomNumberType" />


  <!--LocalId-->

  <xs:simpleType name="LocalIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="LocalId" type="sif:LocalIdType" />


  <!--MeetingTime-->

  <xs:complexType name="MeetingTimeType">
    <xs:sequence>
      <xs:element name="TimetableDay" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="MeetingTime" type="sif:MeetingTimeType" />


  <!--Name-->

  <xs:complexType name="NameType">
    <xs:complexContent>
      <xs:extension base="sif:BaseNameType">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="01" />
              <xs:enumeration value="02" />
              <xs:enumeration value="03" />
              <xs:enumeration value="04" />
              <xs:enumeration value="05" />
              <xs:enumeration value="07" />
              <xs:enumeration value="08" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="Name" type="sif:NameType" />


  <!--NCESId-->

  <xs:simpleType name="NCESIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="NCESId" type="sif:NCESIdType" />


  <!--OperationalStatus-->

  <xs:simpleType name="OperationalStatusType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="sif:NCES0256SchoolStatusType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="sif:NCES0032AgencyStatusType" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:element name="OperationalStatus" type="sif:OperationalStatusType" />


  <!--OtherId-->

  <xs:complexType name="OtherIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="sif:NCES0147IdentificationSystemType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="OtherId" type="sif:OtherIdType" />


  <!--PhoneNumberList-->

  <xs:complexType name="PhoneNumberListType">
    <xs:sequence>
      <xs:element name="PhoneNumber" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="sif:PhoneNumberType">
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="PhoneNumberList" type="sif:PhoneNumberListType" />


  <!--PhoneNumber-->

  <xs:complexType name="PhoneNumberType">
    <xs:sequence>
      <xs:element name="Number" type="xs:normalizedString" />
      <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ListedStatus" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Listed" />
            <xs:enumeration value="Unlisted" />
            <xs:enumeration value="Unknown" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="sif:NCES0280TelephoneNumberTypeType" />
  </xs:complexType>

  <xs:element name="PhoneNumber" type="sif:PhoneNumberType" />


  <!--Program-->

  <xs:complexType name="ProgramType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Foodservice" />
              <xs:enumeration value="CFDA" />
              <xs:enumeration value="NCES" />
              <xs:enumeration value="StateDOE" />
              <xs:enumeration value="Local" />
              <xs:enumeration value="Text" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="Program" type="sif:ProgramType" />


  <!--PublishInDirectory-->

  <xs:simpleType name="PublishInDirectoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="PublishInDirectory" type="sif:PublishInDirectoryType" />


  <!--Relationship-->

  <xs:complexType name="RelationshipType">
    <xs:sequence>
      <xs:element name="Code" type="sif:NCES0609RelationshipToStudentType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="Relationship" type="sif:RelationshipType" />


  <!--SchoolName-->

  <xs:simpleType name="SchoolNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="SchoolName" type="sif:SchoolNameType" />


  <!--SchoolYear-->

  <xs:simpleType name="SchoolYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:element name="SchoolYear" type="sif:SchoolYearType" />


  <!--SIF_ExtendedElements-->

  <xs:complexType name="SIF_ExtendedElementsType">
    <xs:sequence>
      <xs:element name="SIF_ExtendedElement" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="sif:ExtendedContentType">
              <xs:attribute name="Name" use="required" type="xs:normalizedString" />
              <!--<xs:attribute ref="xsi:type" use="optional" />-->
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_ExtendedElements" type="sif:SIF_ExtendedElementsType" />


  <!--SCEDCode-->

  <xs:complexType name="SCEDCodeType">
    <xs:sequence>
      <xs:element name="CourseDescription">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:pattern value="[0-9]{5}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="CourseLevel">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="B" />
            <xs:enumeration value="G" />
            <xs:enumeration value="E" />
            <xs:enumeration value="H" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AvailableCredit">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SequenceNumber">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="9" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SequenceLimit">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="9" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SCEDCode" type="sif:SCEDCodeType" />


  <!--StateProvinceId-->

  <xs:simpleType name="StateProvinceIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:element name="StateProvinceId" type="sif:StateProvinceIdType" />


  <!--SubjectArea-->

  <xs:complexType name="SubjectAreaType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="sif:SCEDSecondaryCoursesType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:SCEDNonSecondaryCoursesType" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SubjectArea" type="sif:SubjectAreaType" />


  <!--OtherCodeList-->

  <xs:complexType name="OtherCodeListType">
    <xs:sequence>
      <xs:element name="OtherCode" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StateProvince" />
                    <xs:enumeration value="Local" />
                    <xs:enumeration value="Other" />
                    <xs:enumeration value="Text" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="OtherCodeList" type="sif:OtherCodeListType" />


  <!--MealStatus-->

  <xs:complexType name="MealStatusType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Free" />
          <xs:enumeration value="Reduced" />
          <xs:enumeration value="None" />
          <xs:enumeration value="NA" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="MealStatus" type="sif:MealStatusType" />


  <!--EarnedStatus-->

  <xs:complexType name="EarnedStatusType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
    <xs:attribute name="Type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Yes" />
          <xs:enumeration value="No" />
          <xs:enumeration value="NA" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="EarnedStatus" type="sif:EarnedStatusType" />


  <!--MealType-->

  <xs:simpleType name="MealTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FirstMeal" />
      <xs:enumeration value="SecondMeal" />
      <xs:enumeration value="StaffMeal" />
      <xs:enumeration value="AdultMeal" />
      <xs:enumeration value="AlaCarte" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="MealType" type="sif:MealTypeType" />


  <!--DataModelTaskForce-->


  <!--SIF_Metadata-->

  <xs:complexType name="SIF_MetadataType">
    <xs:sequence>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="sif:TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LifeCycle" minOccurs="0" nillable="true" type="sif:LifeCycleType" />
      <xs:element name="RightsElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RightsElement" minOccurs="0" maxOccurs="unbounded" type="sif:RightsElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Metadata" type="sif:SIF_MetadataType" />


  <!--TimeElement-->

  <xs:complexType name="TimeElementType">
    <xs:sequence>
      <xs:element name="Type" type="xs:normalizedString" />
      <xs:element name="Code" type="xs:token" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Value" type="xs:normalizedString" />
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="SpanGaps" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SpanGap" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Type" type="xs:normalizedString" />
                  <xs:element name="Code" type="xs:token" />
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="Value" type="xs:normalizedString" />
                  <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                  <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IsCurrent" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TimeElement" type="sif:TimeElementType" />


  <!--LifeCycle-->

  <xs:complexType name="LifeCycleType">
    <xs:sequence>
      <xs:element name="Created" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DateTime" type="xs:dateTime" />
            <xs:element name="Creators" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Creator" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="xs:normalizedString" />
                        <xs:element name="ID" type="xs:normalizedString" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ModificationHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Modified" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="By" type="xs:normalizedString" />
                  <xs:element name="DateTime" type="xs:dateTime" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="sif:TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="LifeCycle" type="sif:LifeCycleType" />


  <!--RightsElement-->

  <xs:complexType name="RightsElementType">
    <xs:sequence>
      <xs:element name="Cost" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FeesForUse" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FeeForUse" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="UseType" type="xs:string" />
                  <xs:element name="MeteringType" type="xs:token" />
                  <xs:element name="MeteringURL" minOccurs="0" nillable="true" type="xs:anyURI" />
                  <xs:element name="PerUseCharge" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CopyrightStatement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermsOfUse" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="RightsElement" type="sif:RightsElementType" />


  <!--DataWarehouseWorkingGroup-->


  <!--AggregateStatisticInfo-->

  <xs:complexType name="AggregateStatisticInfoType">
    <xs:sequence>
      <xs:element name="StatisticName" type="xs:token" />
      <xs:element name="CalculationRule" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Description" />
                    <xs:enumeration value="Formula" />
                    <xs:enumeration value="URL" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ApprovalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExpirationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExclusionRules" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ExclusionRule" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="SampleSize" />
                          <xs:enumeration value="Description" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Source" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="EffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DiscontinueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Location" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LocationName" minOccurs="0" nillable="true" type="xs:token" />
            <xs:element name="LocationRefId" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="SchoolInfo" />
                          <xs:enumeration value="LEAInfo" />
                          <xs:enumeration value="RoomInfo" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="Type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Classroom" />
                <xs:enumeration value="School" />
                <xs:enumeration value="District" />
                <xs:enumeration value="Campus" />
                <xs:enumeration value="IntermediateUnit" />
                <xs:enumeration value="StateEducationAgency" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="Measure" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Count" />
            <xs:enumeration value="Minimum" />
            <xs:enumeration value="Maximum" />
            <xs:enumeration value="Percent" />
            <xs:enumeration value="Mean" />
            <xs:enumeration value="Median" />
            <xs:enumeration value="Mode" />
            <xs:enumeration value="Sum" />
            <xs:enumeration value="StandardDeviation" />
            <xs:enumeration value="UnduplicatedCount" />
            <xs:enumeration value="FTE" />
            <xs:enumeration value="Other" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateStatisticInfo" type="sif:AggregateStatisticInfoType" />


  <!--AggregateCharacteristicInfo-->

  <xs:complexType name="AggregateCharacteristicInfoType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Definition" type="xs:token" />
      <xs:element name="ElementName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateCharacteristicInfo" type="sif:AggregateCharacteristicInfoType" />


  <!--AggregateStatisticFact-->

  <xs:complexType name="AggregateStatisticFactType">
    <xs:sequence>
      <xs:element name="AggregateStatisticInfoRefId" type="sif:IdRefType" />
      <xs:element name="Characteristics">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="AggregateCharacteristicInfoRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Excluded" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Value" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateStatisticFact" type="sif:AggregateStatisticFactType" />


  <!--FoodServicesWorkingGroup-->


  <!--StudentMeal-->

  <xs:complexType name="StudentMealType">
    <xs:sequence>
      <xs:element name="MealStatus" minOccurs="0" nillable="true" type="sif:MealStatusType" />
      <xs:element name="HistoricalMealStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MealStatus" maxOccurs="unbounded" type="sif:MealStatusType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LastBreakfastDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LastLunchDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Amounts" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Amount" maxOccurs="unbounded" type="sif:FSAmountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentMeal" type="sif:StudentMealType" />


  <!--FoodserviceItem-->

  <xs:complexType name="FoodserviceItemType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="sif:ElectronicIdListType" />
      <xs:element name="ItemCategory" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItem" type="sif:FoodserviceItemType" />


  <!--FoodserviceItemUnit-->

  <xs:complexType name="FoodserviceItemUnitType">
    <xs:sequence>
      <xs:element name="FoodserviceItemRefId" type="sif:IdRefType" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="MeasureDescriptionCode" type="xs:normalizedString" />
      <xs:element name="GramWeight" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemUnit" type="sif:FoodserviceItemUnitType" />


  <!--FoodserviceItemPortion-->

  <xs:complexType name="FoodserviceItemPortionType">
    <xs:sequence>
      <xs:element name="FoodserviceItemUnitRefId" type="sif:IdRefType" />
      <xs:element name="ItemPortionQuantity" type="xs:decimal" />
      <xs:element name="ItemPortionType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Component" />
            <xs:enumeration value="Entree" />
            <xs:enumeration value="AlaCarte" />
            <xs:enumeration value="Bonus" />
            <xs:enumeration value="Combo" />
            <xs:enumeration value="NonFood" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemPortion" type="sif:FoodserviceItemPortionType" />


  <!--FoodserviceReimbursementRates-->

  <xs:complexType name="FoodserviceReimbursementRatesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Agencies">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Agency" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Rates">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Rate" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Value" type="xs:decimal" />
                              <xs:element name="MealStatus" type="sif:MealStatusType" />
                            </xs:sequence>
                            <xs:attribute name="SevereNeed" use="required">
                              <xs:simpleType>
                                <xs:restriction base="xs:token">
                                  <xs:enumeration value="Yes" />
                                  <xs:enumeration value="No" />
                                  <xs:enumeration value="NA" />
                                </xs:restriction>
                              </xs:simpleType>
                            </xs:attribute>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Federal" />
                      <xs:enumeration value="State" />
                      <xs:enumeration value="Local" />
                      <xs:enumeration value="Other" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceReimbursementRates" type="sif:FoodserviceReimbursementRatesType" />


  <!--FoodserviceMealPrices-->

  <xs:complexType name="FoodserviceMealPricesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Prices">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Price" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Value" type="sif:MonetaryAmountType" />
                  <xs:element name="MealStatus" type="sif:MealStatusType" />
                  <xs:element name="MealType" type="sif:MealTypeType" />
                  <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMealPrices" type="sif:FoodserviceMealPricesType" />


  <!--StaffMeal-->

  <xs:complexType name="StaffMealType">
    <xs:sequence>
      <xs:element name="EarnedStatus" type="sif:EarnedStatusType" />
      <xs:element name="LastBreakfastDate" type="xs:date" />
      <xs:element name="LastLunchDate" type="xs:date" />
      <xs:element name="Amounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Amount" maxOccurs="unbounded" type="sif:FSAmountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StaffPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StaffMeal" type="sif:StaffMealType" />


  <!--FoodserviceTransaction-->

  <xs:complexType name="FoodserviceTransactionType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="TransactionDate" type="xs:date" />
      <xs:element name="TransactionTime" type="xs:time" />
      <xs:element name="TransactionTypes">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TransactionType" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Purchase" />
                  <xs:enumeration value="Prepayment" />
                  <xs:enumeration value="Refund" />
                  <xs:enumeration value="Repayment" />
                  <xs:enumeration value="Adjustment" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Customer">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MealStatus" minOccurs="0" nillable="true" type="sif:MealStatusType" />
            <xs:element name="EarnedStatus" minOccurs="0" nillable="true" type="sif:EarnedStatusType" />
          </xs:sequence>
          <xs:attribute name="SIF_RefId" use="required" type="sif:IdRefType" />
          <xs:attribute name="SIF_RefObject" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="StudentPersonalRefId" />
                <xs:enumeration value="StaffPersonalRefId" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="Amount" type="sif:FSAmountType" />
      <xs:element name="Tax" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Voided">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransaction" type="sif:FoodserviceTransactionType" />


  <!--FoodserviceTransactionDetails-->

  <xs:complexType name="FoodserviceTransactionDetailsType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="sif:IdRefType" />
      <xs:element name="Amounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Amount" maxOccurs="unbounded" type="sif:FSAmountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransactionDetails" type="sif:FoodserviceTransactionDetailsType" />


  <!--FoodserviceTransactionPayMethod-->

  <xs:complexType name="FoodserviceTransactionPayMethodType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="sif:IdRefType" />
      <xs:element name="TransactionPayMethods">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TransactionPayMethod" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Amounts">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Amount" maxOccurs="unbounded" type="sif:FSAmountType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Payment" />
                      <xs:enumeration value="Refund" />
                      <xs:enumeration value="Charge" />
                      <xs:enumeration value="Usage" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransactionPayMethod" type="sif:FoodserviceTransactionPayMethodType" />


  <!--FoodserviceSales-->

  <xs:complexType name="FoodserviceSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="SalesAmounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SalesAmount" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:MonetaryAmountType">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Cash" />
                          <xs:enumeration value="Account" />
                          <xs:enumeration value="Charged" />
                          <xs:enumeration value="Earned" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="AccountType" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="PrepaidCash" />
                          <xs:enumeration value="BreakfastCredit" />
                          <xs:enumeration value="LunchCredit" />
                          <xs:enumeration value="NA" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceSales" type="sif:FoodserviceSalesType" />


  <!--FoodserviceItemSales-->

  <xs:complexType name="FoodserviceItemSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="ItemQuantities">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ItemQuantity" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Value" type="xs:decimal" />
                  <xs:element name="MealType" type="sif:MealTypeType" />
                  <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
                  <xs:element name="Cost" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
                </xs:sequence>
                <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemSales" type="sif:FoodserviceItemSalesType" />


  <!--FoodserviceMenuPlan-->

  <xs:complexType name="FoodserviceMenuPlanType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
      <xs:element name="MenuPlanDate" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ProjectedParticipation" type="xs:string" />
      <xs:element name="MenuPlanQuantities">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MenuPlanQuantity" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:decimal">
                    <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="sif:IdRefType" />
                    <xs:attribute name="MenuCategory" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="ActualMeal" />
                          <xs:enumeration value="ProjectedMeal" />
                          <xs:enumeration value="ActualAlaCarte" />
                          <xs:enumeration value="ProjectedAlaCarte" />
                          <xs:enumeration value="Produced" />
                          <xs:enumeration value="LeftOver" />
                          <xs:enumeration value="Wasted" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMenuPlan" type="sif:FoodserviceMenuPlanType" />


  <!--FoodserviceMilkSales-->

  <xs:complexType name="FoodserviceMilkSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="SaleQuantities">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SaleQuantity" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Value" type="xs:decimal" />
                  <xs:element name="MealStatus" type="sif:MealStatusType" />
                  <xs:element name="SaleUnit" type="xs:normalizedString" />
                  <xs:element name="ChargeToChild" type="sif:MonetaryAmountType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMilkSales" type="sif:FoodserviceMilkSalesType" />


  <!--FoodservicePurchaseTransaction-->

  <xs:complexType name="FoodservicePurchaseTransactionType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="sif:IdRefType" />
      <xs:element name="PurchaseQuantities">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PurchaseQuantity" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="MealType" type="sif:MealTypeType" />
                  <xs:element name="Value" type="xs:decimal" />
                </xs:sequence>
                <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="sif:IdRefType" />
                <xs:attribute name="Earned" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Yes" />
                      <xs:enumeration value="No" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodservicePurchaseTransaction" type="sif:FoodservicePurchaseTransactionType" />


  <!--FoodserviceStaffEnrollmentCount-->

  <xs:complexType name="FoodserviceStaffEnrollmentCountType">
    <xs:sequence>
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Counts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Count" maxOccurs="unbounded" type="sif:FSCountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="FoodserviceStaffEnrollmentCount" type="sif:FoodserviceStaffEnrollmentCountType" />


  <!--FoodserviceStaffMealCounts-->

  <xs:complexType name="FoodserviceStaffMealCountsType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Counts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Count" maxOccurs="unbounded" type="sif:FSCountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceStaffMealCounts" type="sif:FoodserviceStaffMealCountsType" />


  <!--FoodserviceStudentEnrollmentCount-->

  <xs:complexType name="FoodserviceStudentEnrollmentCountType">
    <xs:sequence>
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Counts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Count" maxOccurs="unbounded" type="sif:FSCountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="FoodserviceStudentEnrollmentCount" type="sif:FoodserviceStudentEnrollmentCountType" />


  <!--FoodserviceStudentMealCounts-->

  <xs:complexType name="FoodserviceStudentMealCountsType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="sif:ProgramType" />
      <xs:element name="Counts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Count" maxOccurs="unbounded" type="sif:FSCountType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceStudentMealCounts" type="sif:FoodserviceStudentMealCountsType" />


  <!--StudentRecordExchangeTaskForce-->


  <!--StudentRecordExchange-->

  <xs:complexType name="StudentRecordExchangeType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="Records">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentDemographicRecordRefId" type="sif:IdRefType" />
            <xs:element name="StudentAcademicRecordRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="StudentSpecialEducationRecordRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="OtherRecords" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StudentRecordPackageRefId" maxOccurs="unbounded" type="sif:IdRefType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="StudentRecordExchange" type="sif:StudentRecordExchangeType" />


  <!--StudentDemographicRecord-->

  <xs:complexType name="StudentDemographicRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="StudentPersonalData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LocalId" type="sif:LocalIdType" />
            <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
            <xs:element name="SSN" minOccurs="0" nillable="true" type="sif:SSNType" />
            <xs:element name="LegalName">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="LastName" type="sif:LastNameType" />
                  <xs:element name="FirstName" type="sif:FirstNameType" />
                  <xs:element name="MiddleName" minOccurs="0" nillable="true" type="sif:MiddleNameType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="DemographicsData" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="RaceList" minOccurs="0" nillable="true" type="sif:RaceListType" />
                  <xs:element name="Gender" minOccurs="0" nillable="true" type="sif:GenderType" />
                  <xs:element name="BirthDate" minOccurs="0" nillable="true" type="sif:BirthDateType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
            <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
            <xs:element name="IDEA" minOccurs="0" nillable="true" type="sif:IDEAType" />
            <xs:element name="Migrant" minOccurs="0" nillable="true" type="sif:MigrantType" />
            <xs:element name="Title1" minOccurs="0" nillable="true" type="sif:Title1Type" />
            <xs:element name="GiftedTalented" minOccurs="0" nillable="true" type="sif:GiftedTalentedType" />
            <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true" type="sif:EconomicDisadvantageType" />
            <xs:element name="ELL" minOccurs="0" nillable="true" type="sif:ELLType" />
            <xs:element name="Homeless" minOccurs="0" nillable="true" type="sif:HomelessType" />
            <xs:element name="Section504" minOccurs="0" nillable="true" type="sif:Section504Type" />
            <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true" type="sif:VocationalConcentratorType" />
            <xs:element name="Immigrant" minOccurs="0" nillable="true" type="sif:ImmigrantType" />
            <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true" type="sif:NeglectedDelinquentType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StudentContactsSummary" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ParentGuardian1">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="sif:NameType" />
                  <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                  <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="ParentGuardian2">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="sif:NameType" />
                  <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                  <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentRecordExchange" />
          <xs:enumeration value="StudentPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StudentDemographicRecord" type="sif:StudentDemographicRecordType" />


  <!--StudentAcademicRecord-->

  <xs:complexType name="StudentAcademicRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="StudentSchoolEnrollmentData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="GradeLevel" type="sif:GradeLevelType" />
            <xs:element name="Advisor" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StaffPersonalData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="sif:NameType" />
                        <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="Counselor" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StaffPersonalData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="sif:NameType" />
                        <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType" />
        </xs:complexType>
      </xs:element>
      <xs:element name="DistrictEntryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SchoolAttendanceHistory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SchoolAttended" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="LEAInfoData" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
                        <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                        <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                        <xs:element name="LEAName" type="sif:LEANameType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SchoolInfoData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="LocalId" type="sif:LocalIdType" />
                        <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                        <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                        <xs:element name="SchoolName" type="sif:SchoolNameType" />
                        <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="sif:SchoolURLType" />
                        <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="sif:SchoolContactListType" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                        <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="AccreditingBody" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="MarkingSystems" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="MarkValueInfoData" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Name" type="xs:string" />
                              <xs:element name="Percentage" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal" />
                                    <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Numeric" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                                    <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                                    <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal" />
                                    <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Letter" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="ValidMark" maxOccurs="unbounded">
                                      <xs:complexType>
                                        <xs:sequence>
                                          <xs:element name="Code" type="xs:token" />
                                          <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal" />
                                          <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                        </xs:sequence>
                                        <xs:attribute name="SIF_Action" use="optional">
                                          <xs:simpleType>
                                            <xs:restriction base="xs:token">
                                              <xs:enumeration value="Delete" />
                                            </xs:restriction>
                                          </xs:simpleType>
                                        </xs:attribute>
                                      </xs:complexType>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Narrative" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EnrollmentHistory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentSchoolEnrollmentData" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SchoolYear" type="sif:SchoolYearType" />
                  <xs:element name="EntryDate" type="sif:EntryDateType" />
                  <xs:element name="ExitDate" minOccurs="0" nillable="true" type="sif:ExitDateType" />
                </xs:sequence>
                <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CurrentCourseActivity" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TermInfoData">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                  <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                  <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                </xs:sequence>
                <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
            <xs:element name="Courses">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Course" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                        <xs:element name="SchoolCourseInfoData">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="CourseCode" type="sif:CourseCodeType" />
                              <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
                              <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
                              <xs:element name="NationalCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                              <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="sif:SubjectAreaListType" />
                              <xs:element name="CourseTitle" type="sif:CourseTitleType" />
                              <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                              <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
                              <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="xs:boolean" />
                              <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="sif:GraduationRequirementType" />
                              <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                        <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
                        <xs:element name="MarkingPeriod">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="TermInfoData" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                                    <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
                                    <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                    <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="GradeLevelWhenTaken" type="sif:GradeLevelType" />
                              <xs:element name="MarkData" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Percentage" minOccurs="0" nillable="true" type="xs:decimal" />
                                    <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                                    <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
                                  </xs:sequence>
                                  <xs:attribute name="MarkValueInfoDataRefId" use="required" type="sif:IdRefType" />
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="CourseCreditsAttempted" type="xs:decimal" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CourseHistory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Term" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="TermInfoData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                        <xs:element name="StartDate" type="xs:date" />
                        <xs:element name="EndDate" type="xs:date" />
                        <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                      </xs:sequence>
                      <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType" />
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Courses">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Course" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                              <xs:element name="SchoolCourseInfoData">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="CourseCode" type="sif:CourseCodeType" />
                                    <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
                                    <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
                                    <xs:element name="NationalCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="sif:SubjectAreaListType" />
                                    <xs:element name="CourseTitle" type="sif:CourseTitleType" />
                                    <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                    <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
                                    <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="xs:boolean" />
                                    <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="sif:GraduationRequirementType" />
                                    <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                              <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
                              <xs:element name="MarkingPeriods">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="MarkingPeriod" maxOccurs="unbounded">
                                      <xs:complexType>
                                        <xs:sequence>
                                          <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                                          <xs:element name="TermInfoData" minOccurs="0" nillable="true">
                                            <xs:complexType>
                                              <xs:sequence>
                                                <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                                                <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
                                                <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                                <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                                <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                                <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                                              </xs:sequence>
                                            </xs:complexType>
                                          </xs:element>
                                          <xs:element name="GradeLevelWhenTaken" type="sif:GradeLevelType" />
                                          <xs:element name="MarkData" minOccurs="0" nillable="true">
                                            <xs:complexType>
                                              <xs:sequence>
                                                <xs:element name="Percentage" minOccurs="0" nillable="true" type="xs:decimal" />
                                                <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                                                <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                                <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
                                              </xs:sequence>
                                              <xs:attribute name="MarkValueInfoDataRefId" use="required" type="sif:IdRefType" />
                                            </xs:complexType>
                                          </xs:element>
                                          <xs:element name="CourseCreditsAttempted" type="xs:decimal" />
                                          <xs:element name="CourseCreditsEarned" type="xs:decimal" />
                                          <xs:element name="CreditType" minOccurs="0" nillable="true" type="sif:NCES0108CreditTypeEarnedType" />
                                          <xs:element name="ExcessiveAbsenceIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
                                          <xs:element name="DaysAbsent" minOccurs="0" nillable="true" type="xs:decimal" />
                                          <xs:element name="DaysPresent" minOccurs="0" nillable="true" type="xs:decimal" />
                                        </xs:sequence>
                                      </xs:complexType>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcademicPerformanceHistory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TermPerformance" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="TermInfoData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                        <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
                        <xs:element name="EndDate" type="xs:date" />
                        <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="GradeLevelWhenTaken" type="sif:GradeLevelType" />
                  <xs:element name="CreditsAttempted" type="xs:decimal" />
                  <xs:element name="CreditsEarned" type="xs:decimal" />
                  <xs:element name="GPACreditsAttempted" type="xs:decimal" />
                  <xs:element name="GPACreditsEarned" type="xs:decimal" />
                  <xs:element name="GPAGradePoints" type="xs:decimal" />
                  <xs:element name="GPA" type="xs:decimal" />
                  <xs:element name="WeightedGPA" minOccurs="0" nillable="true" type="xs:decimal" />
                  <xs:element name="DaysAbsent" type="xs:decimal" />
                  <xs:element name="DaysPresent" type="xs:decimal" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcademicPerformanceSummary">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TotalCreditsAttempted" type="xs:decimal" />
            <xs:element name="TotalCreditsEarned" type="xs:decimal" />
            <xs:element name="CumulativeGPACreditsEarned" type="xs:decimal" />
            <xs:element name="CumulativeGradePoints" type="xs:decimal" />
            <xs:element name="CumulativeGPA" type="xs:decimal" />
            <xs:element name="GPAType" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="ClassRank" type="xs:unsignedInt" />
            <xs:element name="ClassTotalNumber" type="xs:unsignedInt" />
            <xs:element name="ClassRankingDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="ProjectedGraduationDate" type="xs:date" />
            <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="GraduationDiplomaType" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="AcademicTrack" minOccurs="0" nillable="true" type="sif:NCES0106CourseInstructionalLevelType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AssessmentPerformanceHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Assessment" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="AdministrationDate" type="xs:date" />
                  <xs:element name="Form" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Level" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="StudentGradeLevelWhenAssessed" type="sif:GradeLevelType" />
                  <xs:element name="SubtestCategory" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="TestScoreType" type="sif:NCES0056AssessmentReportingMethodType" />
                  <xs:element name="TestScore" type="xs:normalizedString" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdditionalGraduationRequirementPerformanceHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Requirement" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="Status">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Met" />
                        <xs:enumeration value="Not Met" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="StatusDeterminationDate" type="xs:date" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ActivityAwardHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ActivityAward" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="InvolvementCode" minOccurs="0" nillable="true" type="sif:NCES0679ActivityInvolvementCodeType" />
                  <xs:element name="InvolvementBeginningDate" minOccurs="0" nillable="true" type="xs:date" />
                  <xs:element name="InvolvementEndingDate" minOccurs="0" nillable="true" type="xs:date" />
                  <xs:element name="InvolvementAmount" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="HonorsInformationCode" minOccurs="0" nillable="true" type="sif:NCES0674HonorsInformationCodeType" />
                  <xs:element name="HonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="DiplomaCredentialHonorsCode" minOccurs="0" nillable="true" type="sif:NCES0684DiplomaCredentialLevelAndHonorsType" />
                  <xs:element name="DiplomaCredentialHonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentRecordExchange" />
          <xs:enumeration value="StudentPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StudentAcademicRecord" type="sif:StudentAcademicRecordType" />


  <!--StudentSpecialEducationRecord-->

  <xs:complexType name="StudentSpecialEducationRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="LEAInfoData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
            <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
            <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
            <xs:element name="LEAName" type="sif:LEANameType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolInfoData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LocalId" type="sif:LocalIdType" />
            <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
            <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
            <xs:element name="SchoolName" type="sif:SchoolNameType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StudentParticipationData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ProgramType" type="sif:ProgramTypeType" />
            <xs:element name="LEAInfoData" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
                  <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                  <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                  <xs:element name="LEAName" type="sif:LEANameType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="SchoolInfoData">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="LocalId" type="sif:LocalIdType" />
                  <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                  <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                  <xs:element name="SchoolName" type="sif:SchoolNameType" />
                  <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="sif:SchoolURLType" />
                  <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="sif:SchoolContactListType" />
                  <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                  <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="ReferralDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="ProgramStatus" minOccurs="0" nillable="true" type="sif:ProgramStatusType" />
            <xs:element name="EvaluationDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="ReevaluationDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="ExceptionalityCategories" minOccurs="0" nillable="true" type="sif:ExceptionalityCategoriesType" />
            <xs:element name="ProgramPlanDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="ProgramPlanEffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="PlannedAssessmentParticipation" minOccurs="0" nillable="true" type="sif:PlannedAssessmentParticipationType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentRecordExchange" />
          <xs:enumeration value="StudentPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StudentSpecialEducationRecord" type="sif:StudentSpecialEducationRecordType" />


  <!--StudentRecordPackage-->

  <xs:complexType name="StudentRecordPackageType">
    <xs:complexContent>
      <xs:extension base="sif:AbstractContentPackageType">
        <xs:attribute name="SIF_RefId" use="required" type="sif:RefIdType" />
        <xs:attribute name="SIF_RefObject" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="StudentRecordExchange" />
              <xs:enumeration value="StudentPersonal" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="StudentRecordPackage" type="sif:StudentRecordPackageType" />


  <!--GradeBookWorkingGroup-->


  <!--MarkValueInfo-->

  <xs:complexType name="MarkValueInfoType">
    <xs:sequence>
      <xs:element name="SchoolYear" type="sif:SchoolYearType" />
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Percentage">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal" />
            <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal" />
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
        </xs:complexType>
      </xs:element>
      <xs:element name="Numeric">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt" />
            <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt" />
            <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal" />
            <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal" />
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
        </xs:complexType>
      </xs:element>
      <xs:element name="Letter">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ValidMark" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code" type="xs:token" />
                  <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
                <xs:attribute name="SIF_Action" use="optional">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Delete" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
        </xs:complexType>
      </xs:element>
      <xs:element name="Narrative">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt" />
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="MarkValueInfo" type="sif:MarkValueInfoType" />


  <!--MarkInfo-->

  <xs:complexType name="MarkInfoType">
    <xs:sequence>
      <xs:element name="SchoolYear" type="sif:SchoolYearType" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="MarkValueInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="MarkInfo" type="sif:MarkInfoType" />


  <!--SectionMarkInfo-->

  <xs:complexType name="SectionMarkInfoType">
    <xs:sequence>
      <xs:element name="TermMarkLists">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MarkInfoList" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="MarkInfoRefId" maxOccurs="unbounded" type="sif:IdRefType" />
                </xs:sequence>
                <xs:attribute name="TermInfoRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="SectionMarkInfo" type="sif:SectionMarkInfoType" />


  <!--StudentSectionMarks-->

  <xs:complexType name="StudentSectionMarksType">
    <xs:sequence>
      <xs:element name="IsFinal" type="xs:boolean" />
      <xs:element name="MarkList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Mark" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Percentage" minOccurs="0" nillable="true">
                    <xs:simpleType>
                      <xs:restriction base="xs:decimal">
                        <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                        <xs:maxInclusive value="100" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                        <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:decimal" />
                  <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
                <xs:attribute name="MarkInfoRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentSectionMarks" type="sif:StudentSectionMarksType" />


  <!--GradingCategory-->

  <xs:complexType name="GradingCategoryType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="GradingCategory" type="sif:GradingCategoryType" />


  <!--GradingAssignment-->

  <xs:complexType name="GradingAssignmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="PointsPossible" type="xs:unsignedInt" />
      <xs:element name="CreateDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DetailedDescription" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:URIOrBinaryType">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="URL" />
                    <xs:enumeration value="PDF" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="GradingCategoryRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="GradingAssignment" type="sif:GradingAssignmentType" />


  <!--GradingAssignmentScore-->

  <xs:complexType name="GradingAssignmentScoreType">
    <xs:sequence>
      <xs:element name="ScorePoints" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ScorePercent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ScoreLetter" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ScoreDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="GradingAssignmentRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="GradingAssignmentScore" type="sif:GradingAssignmentScoreType" />


  <!--StudentPeriodAttendance-->

  <xs:complexType name="StudentPeriodAttendanceType">
    <xs:sequence>
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TimeIn" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeOut" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="AttendanceCode">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="AttendanceCodeInfoRefId" use="required" type="sif:IdRefType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AuditInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CreationUser">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="UserId" type="xs:normalizedString" />
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Office Staff" />
                      <xs:enumeration value="School Admin" />
                      <xs:enumeration value="Parent" />
                      <xs:enumeration value="Nurse" />
                      <xs:enumeration value="Teacher" />
                      <xs:enumeration value="Other" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
            <xs:element name="CreationDateTime" type="xs:dateTime" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AttendanceComment" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="StudentPeriodAttendance" type="sif:StudentPeriodAttendanceType" />


  <!--OfficialStudentPeriodAttendance-->

  <xs:complexType name="OfficialStudentPeriodAttendanceType">
    <xs:complexContent>
      <xs:extension base="sif:StudentPeriodAttendanceType" />
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="OfficialStudentPeriodAttendance" type="sif:OfficialStudentPeriodAttendanceType" />


  <!--HumanResourcesFinancialsWorkingGroup-->


  <!--Billing-->

  <xs:complexType name="BillingType">
    <xs:sequence>
      <xs:element name="BilledEntity">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StudentPersonal" />
                    <xs:enumeration value="StaffPersonal" />
                    <xs:enumeration value="VendorInfo" />
                    <xs:enumeration value="Purchasing" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BillingDate" type="xs:date" />
      <xs:element name="TransactionDescription" type="xs:string" />
      <xs:element name="BilledAmount" type="sif:MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="Billing" type="sif:BillingType" />


  <!--Payment-->

  <xs:complexType name="PaymentType">
    <xs:sequence>
      <xs:element name="ReceivedDate" type="xs:date" />
      <xs:element name="ReceivedAmount" type="sif:MonetaryAmountType" />
      <xs:element name="ReceivedTransactionId" type="xs:normalizedString" />
      <xs:element name="TransactionDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="BillingRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="Payment" type="sif:PaymentType" />


  <!--EmployeeAssignment-->

  <xs:complexType name="EmployeeAssignmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="LocationInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobClassification" minOccurs="0" nillable="true" type="sif:NCES0557JobClassificationType" />
      <xs:element name="ProgramType" minOccurs="0" nillable="true" type="sif:NCES0229ProgramTypeType" />
      <xs:element name="FundingSource" minOccurs="0" nillable="true" type="sif:NCES0222ProgramFundingSourceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeAssignment" type="sif:EmployeeAssignmentType" />


  <!--EmployeeContract-->

  <xs:complexType name="EmployeeContractType">
    <xs:sequence>
      <xs:element name="BaseSalary" type="sif:MonetaryAmountType" />
      <xs:element name="ContractStartDate" type="xs:date" />
      <xs:element name="ContractEndDate" type="xs:date" />
      <xs:element name="ContractTerm" minOccurs="0" nillable="true" type="sif:NCES0468ContractualTermType" />
      <xs:element name="ContractDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AssignmentDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeContract" type="sif:EmployeeContractType" />


  <!--EmploymentRecord-->

  <xs:complexType name="EmploymentRecordType">
    <xs:sequence>
      <xs:element name="Active" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FullTimeStatus" minOccurs="0" nillable="true" type="sif:NCES0476FullTimeStatusType" />
      <xs:element name="HireDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TerminationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TotalYearsExperience" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PositionNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SeniorityDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TenureDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="SIF_RefId" use="optional" type="sif:IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="EmployeePersonal" />
          <xs:enumeration value="StaffPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="EmploymentRecord" type="sif:EmploymentRecordType" />


  <!--EmployeePersonal-->

  <xs:complexType name="EmployeePersonalType">
    <xs:sequence>
      <xs:element name="OtherIdList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="OtherId" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="SSN" />
                          <xs:enumeration value="State" />
                          <xs:enumeration value="Local" />
                          <xs:enumeration value="Other" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Name" type="sif:NameType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="sif:EmailListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="EmployeePersonal" type="sif:EmployeePersonalType" />


  <!--EmployeePicture-->

  <xs:complexType name="EmployeePictureType">
    <xs:sequence>
      <xs:element name="PictureSource">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:URIOrBinaryType">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="URL" />
                    <xs:enumeration value="JPEG" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeePicture" type="sif:EmployeePictureType" />


  <!--FinancialAnnual-->

  <xs:complexType name="FinancialAnnualType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="StateProvinceId" type="sif:StateProvinceIdType" />
      <xs:element name="FiscalYear" type="xs:gYear" />
      <xs:element name="AnnualItems">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="AnnualItem" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="AccountType">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Revenue" />
                        <xs:enumeration value="Expenditure" />
                        <xs:enumeration value="Other" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="FundType">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="General" />
                        <xs:enumeration value="Special" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                  <xs:element name="ExpenditureArea" minOccurs="0" nillable="true">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Elementary" />
                        <xs:enumeration value="Secondary" />
                        <xs:enumeration value="Federal" />
                        <xs:enumeration value="Other" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="Function" type="xs:normalizedString" />
                  <xs:element name="Object" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="InstructionalProgram" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Amount" type="xs:decimal" />
                  <xs:element name="SpecialAmountType" minOccurs="0" nillable="true">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="1" />
                        <xs:enumeration value="2" />
                        <xs:enumeration value="3" />
                        <xs:enumeration value="4" />
                        <xs:enumeration value="5" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="GLAmountType" minOccurs="0" nillable="true">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="1" />
                        <xs:enumeration value="2" />
                        <xs:enumeration value="3" />
                        <xs:enumeration value="4" />
                        <xs:enumeration value="5" />
                        <xs:enumeration value="6" />
                        <xs:enumeration value="7" />
                        <xs:enumeration value="8" />
                        <xs:enumeration value="9" />
                        <xs:enumeration value="10" />
                        <xs:enumeration value="11" />
                        <xs:enumeration value="12" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="FinancialAnnual" type="sif:FinancialAnnualType" />


  <!--FinancialBudget-->

  <xs:complexType name="FinancialBudgetType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="StateProvinceId" type="sif:StateProvinceIdType" />
      <xs:element name="FiscalYear" type="xs:gYear" />
      <xs:element name="BudgetAccounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BudgetAccount" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="AccountClass">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Revenue" />
                        <xs:enumeration value="Expenditure" />
                        <xs:enumeration value="Other" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="FundBreakdown" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="FunctionBreakdown" type="xs:normalizedString" />
                  <xs:element name="ObjectBreakdown" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="BudgetAmount" type="xs:unsignedInt" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="FinancialBudget" type="sif:FinancialBudgetType" />


  <!--TimeWorked-->

  <xs:complexType name="TimeWorkedType">
    <xs:sequence>
      <xs:element name="EmployeePersonalRefId" type="sif:IdRefType" />
      <xs:element name="LocationInfoRefId" type="sif:IdRefType" />
      <xs:element name="JobFunction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0568FunctionTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="RegularHours" type="xs:decimal" />
      <xs:element name="OvertimeHours" type="xs:decimal" />
      <xs:element name="PayPeriod" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="TimeWorked" type="sif:TimeWorkedType" />


  <!--VendorInfo-->

  <xs:complexType name="VendorInfoType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="ContactInfo" minOccurs="0" nillable="true" type="sif:ContactInfoType" />
      <xs:element name="CustomerId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="Send1099" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FederalTaxId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="Code" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="EIN" />
                    <xs:enumeration value="SSNO" />
                    <xs:enumeration value="ITIN" />
                    <xs:enumeration value="ATIN" />
                    <xs:enumeration value="OTHER" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="VendorInfo" type="sif:VendorInfoType" />


  <!--W4-->

  <xs:complexType name="W4Type">
    <xs:sequence>
      <xs:element name="W4Date" type="xs:date" />
      <xs:element name="MaritalStatusRate">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Married" />
            <xs:enumeration value="Single" />
            <xs:enumeration value="MarriedSingleRate" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FedAllowancesNumber" type="xs:unsignedInt" />
      <xs:element name="StateAllowancesNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="StateProvince" type="sif:StateProvinceType" />
      <xs:element name="Exempt" type="xs:boolean" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="W4" type="sif:W4Type" />


  <!--EmployeeWage-->

  <xs:complexType name="EmployeeWageType">
    <xs:sequence>
      <xs:element name="PayRates">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PayRate" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Amount" type="sif:MonetaryAmountType" />
                  <xs:element name="Percentage" type="xs:decimal" />
                </xs:sequence>
                <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="P" />
                      <xs:enumeration value="H" />
                      <xs:enumeration value="D" />
                      <xs:enumeration value="X" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeWage" type="sif:EmployeeWageType" />


  <!--LocationInfo-->

  <xs:complexType name="LocationInfoType">
    <xs:sequence>
      <xs:element name="SiteCategory" type="xs:normalizedString" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="sif:IdentificationInfoListType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="OtherLEAs" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LEAInfoRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ParentLocationInfo" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LocationInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="LocationType" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="School" />
          <xs:enumeration value="NonSchool" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="LocationInfo" type="sif:LocationInfoType" />


  <!--Purchasing-->

  <xs:complexType name="PurchasingType">
    <xs:sequence>
      <xs:element name="FormType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="PO" />
            <xs:enumeration value="REQ" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FormNumber" type="xs:normalizedString" />
      <xs:element name="FiscalYearRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="VendorInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="LocationInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="PurchasingItems">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PurchasingItem" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="ItemDescription" type="xs:string" />
                  <xs:element name="Quantity" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="UnitCost" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
                  <xs:element name="ExpenseAccounts" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ExpenseAccount" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="AccountCode" type="xs:token" />
                              <xs:element name="Amount" type="sif:MonetaryAmountType" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="Purchasing" type="sif:PurchasingType" />


  <!--AccountingPeriod-->

  <xs:complexType name="AccountingPeriodType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FiscalYearRefId" type="sif:IdRefType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AccountingPeriod" type="sif:AccountingPeriodType" />


  <!--FinancialAccount-->

  <xs:complexType name="FinancialAccountType">
    <xs:sequence>
      <xs:element name="AccountNumber" type="xs:normalizedString" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FinancialClassRefId" type="sif:IdRefType" />
      <xs:element name="CreationDate" type="xs:date" />
      <xs:element name="CreationTime" type="xs:time" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialAccount" type="sif:FinancialAccountType" />


  <!--FinancialAccountAccountingPeriodLocationInfo-->

  <xs:complexType name="FinancialAccountAccountingPeriodLocationInfoType">
    <xs:sequence>
      <xs:element name="FinancialAccountRefId" type="sif:IdRefType" />
      <xs:element name="AccountingPeriodRefId" type="sif:IdRefType" />
      <xs:element name="LocationInfoRefId" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialAccountAccountingPeriodLocationInfo" type="sif:FinancialAccountAccountingPeriodLocationInfoType" />


  <!--FinancialClass-->

  <xs:complexType name="FinancialClassType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ClassType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Asset" />
            <xs:enumeration value="Liability" />
            <xs:enumeration value="Revenue" />
            <xs:enumeration value="Expense" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialClass" type="sif:FinancialClassType" />


  <!--FinancialIncomeStatement-->

  <xs:complexType name="FinancialIncomeStatementType">
    <xs:sequence>
      <xs:element name="GenerationDate" type="xs:date" />
      <xs:element name="GenerationTime" type="xs:time" />
      <xs:element name="LocationInfoRefId" type="sif:IdRefType" />
      <xs:element name="Period">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StartDate" type="xs:date" />
            <xs:element name="EndDate" type="xs:date" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Amounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Amount" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:MonetaryAmountType">
                    <xs:attribute name="FinancialAccountAccountingPeriodLocationInfoRefId" use="required" type="sif:IdRefType" />
                    <xs:attribute name="FinancialClassRefId" use="required" type="sif:IdRefType" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Program" minOccurs="0" nillable="true" type="sif:ProgramType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialIncomeStatement" type="sif:FinancialIncomeStatementType" />


  <!--FinancialTransaction-->

  <xs:complexType name="FinancialTransactionType">
    <xs:sequence>
      <xs:element name="TransactionDate" type="xs:date" />
      <xs:element name="TransactionTime" type="xs:time" />
      <xs:element name="Amounts">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Amount" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:MonetaryAmountType">
                    <xs:attribute name="FinancialAccountAccountingPeriodLocationInfoRefId" use="required" type="sif:IdRefType" />
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Debit" />
                          <xs:enumeration value="Credit" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Program" minOccurs="0" nillable="true" type="sif:ProgramType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialTransaction" type="sif:FinancialTransactionType" />


  <!--FiscalYear-->

  <xs:complexType name="FiscalYearType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="FiscalYear" type="sif:FiscalYearType" />


  <!--ProfessionalDevelopmentWorkingGroup-->


  <!--ActivityProvider-->

  <xs:complexType name="ActivityProviderType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="ActivityProvider" type="sif:ActivityProviderType" />


  <!--EmployeeCredit-->

  <xs:complexType name="EmployeeCreditType">
    <xs:sequence>
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Earned">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Hours" />
                    <xs:enumeration value="Credits" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="ProfessionalDevelopmentActivitiesRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeCredit" type="sif:EmployeeCreditType" />


  <!--EmployeeRecertification-->

  <xs:complexType name="EmployeeRecertificationType">
    <xs:sequence>
      <xs:element name="SSN" type="sif:SSNType" />
      <xs:element name="Name" type="sif:NameType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="ActivityName" type="xs:normalizedString" />
      <xs:element name="ActivityType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Course" />
            <xs:enumeration value="Activity" />
            <xs:enumeration value="Other" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ActivityHours" type="xs:decimal" />
      <xs:element name="Earned">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Hours" />
                    <xs:enumeration value="Credits" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DateFrom" type="xs:date" />
      <xs:element name="DateTo" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="EmployeeRecertification" type="sif:EmployeeRecertificationType" />


  <!--EmployeeCredential-->

  <xs:complexType name="EmployeeCredentialType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="SchoolYear" type="sif:SchoolYearType" />
      <xs:element name="StateProvinceId" type="sif:StateProvinceIdType" />
      <xs:element name="SSN" type="xs:normalizedString" />
      <xs:element name="Name" type="sif:NameType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="Race" type="sif:NCES0849RaceType" />
      <xs:element name="Hispanic" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Certifications">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Certification" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Description" type="xs:string" />
                  <xs:element name="AreaAuthorized" minOccurs="0" nillable="true" type="sif:NCES0421TeachingFieldOrAreaAuthorizedType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Salary" type="sif:MonetaryAmountType" />
      <xs:element name="Status" type="sif:NCES0613EmploymentStatusType" />
      <xs:element name="Leave">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TotalYears" type="xs:decimal" />
      <xs:element name="UnitYears" type="xs:decimal" />
      <xs:element name="Education" type="sif:NCES0395TeachingCredentialBasisType" />
      <xs:element name="TeachingCredentialType" minOccurs="0" maxOccurs="unbounded" type="sif:NCES0394TeachingCredentialTypeType" />
      <xs:element name="TerminationCode" minOccurs="0" nillable="true" type="sif:NCES0434EmploymentSeparationReasonType" />
      <xs:element name="BackgroundChecks" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BackgroundCheck" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Type" type="sif:NCES0401BackgroundCheckTypeType" />
                  <xs:element name="Date" type="xs:date" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Assignments">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Assignment" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
                  <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
                  <xs:element name="JobFunction" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Code" type="sif:NCES0568FunctionTypeType" />
                        <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="FTE" minOccurs="0" nillable="true" type="xs:decimal" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="EmployeeCredential" type="sif:EmployeeCredentialType" />


  <!--ProfessionalDevelopmentActivities-->

  <xs:complexType name="ProfessionalDevelopmentActivitiesType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="ClockHours" type="xs:decimal" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="ActivityProviderRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="ProfessionalDevelopmentActivities" type="sif:ProfessionalDevelopmentActivitiesType" />


  <!--SpecialProgramsWorkingGroup-->


  <!--StudentParticipation-->

  <xs:complexType name="StudentParticipationType">
    <xs:sequence>
      <xs:element name="StudentParticipationAsOfDate" type="xs:date" />
      <xs:element name="ProgramType" type="sif:ProgramTypeType" />
      <xs:element name="ProgramFundingSources" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ProgramFundingSource" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code">
                    <xs:simpleType>
                      <xs:union>
                        <xs:simpleType>
                          <xs:restriction base="sif:NCES0222ProgramFundingSourceType">
                            <xs:enumeration value="0797" />
                            <xs:enumeration value="0617" />
                            <xs:enumeration value="0622" />
                            <xs:enumeration value="0654" />
                            <xs:enumeration value="9999" />
                          </xs:restriction>
                        </xs:simpleType>
                        <xs:simpleType>
                          <xs:restriction base="xs:token">
                            <xs:enumeration value="S001" />
                            <xs:enumeration value="S002" />
                            <xs:enumeration value="S003" />
                            <xs:enumeration value="S004" />
                            <xs:enumeration value="S005" />
                            <xs:enumeration value="S006" />
                            <xs:enumeration value="S007" />
                            <xs:enumeration value="S008" />
                            <xs:enumeration value="S009" />
                            <xs:enumeration value="S010" />
                            <xs:enumeration value="S011" />
                            <xs:enumeration value="S012" />
                            <xs:enumeration value="S013" />
                            <xs:enumeration value="S014" />
                            <xs:enumeration value="S015" />
                            <xs:enumeration value="S016" />
                            <xs:enumeration value="S017" />
                            <xs:enumeration value="S018" />
                            <xs:enumeration value="S019" />
                            <xs:enumeration value="S020" />
                            <xs:enumeration value="S021" />
                            <xs:enumeration value="S022" />
                            <xs:enumeration value="S023" />
                            <xs:enumeration value="S024" />
                            <xs:enumeration value="S025" />
                            <xs:enumeration value="S026" />
                          </xs:restriction>
                        </xs:simpleType>
                      </xs:union>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManagingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManagingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PartCTransitionMeetingNotHeldReasons" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PartCTransitionMeetingNotHeldReason" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code" type="xs:token" />
                  <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PartCTransitionMeetingDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PartCTransitionMeetingOutcomes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PartCTransitionMeetingOutcome" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code" type="xs:token" />
                  <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReferralDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ReferralSource" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0792IdentificationProcedureType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProgramStatus" minOccurs="0" nillable="true" type="sif:ProgramStatusType" />
      <xs:element name="GiftedEligibilityCriteria" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="EvaluationParentalConsentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationExtensionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExtensionComments" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ReevaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExceptionalityCategories" minOccurs="0" nillable="true" type="sif:ExceptionalityCategoriesType" />
      <xs:element name="ProgramEligibilityDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlanType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0806IndividualizedProgramTypeType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="S001" />
                      <xs:enumeration value="S002" />
                      <xs:enumeration value="S003" />
                      <xs:enumeration value="S004" />
                      <xs:enumeration value="S005" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProgramPlanDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlanEffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="NOREPDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PlacementParentalConsentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlacementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LeastRestrictiveEnvironment" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0307ServiceSettingType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0798EarlyChildhoodProgramSettingType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0804EarlyChildhoodSpecialEducationSettingType">
                      <xs:enumeration value="2191" />
                      <xs:enumeration value="2190" />
                      <xs:enumeration value="2192" />
                      <xs:enumeration value="2187" />
                      <xs:enumeration value="2188" />
                      <xs:enumeration value="2184" />
                      <xs:enumeration value="2185" />
                      <xs:enumeration value="2189" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExtendedSchoolYear" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ExtendedDay" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ProgramAvailability" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0211ProgramAvailabilityType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PrivateNotPlacedByPublic" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ProgramReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FBADate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="BIPDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramExitReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0815ProgramExitReasonType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="S001" />
                      <xs:enumeration value="S002" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProjectedExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProjectedExitReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StateProvince" />
                    <xs:enumeration value="Local" />
                    <xs:enumeration value="Other" />
                    <xs:enumeration value="Text" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PlannedAssessmentParticipation" minOccurs="0" nillable="true" type="sif:PlannedAssessmentParticipationType" />
      <xs:element name="TransitionPlanning" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StateProvince" />
                    <xs:enumeration value="Local" />
                    <xs:enumeration value="Other" />
                    <xs:enumeration value="Text" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="StudentSpecialEducationFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EntryPerson" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ParticipationContact" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentParticipation" type="sif:StudentParticipationType" />


  <!--StudentPlacement-->

  <xs:complexType name="StudentPlacementType">
    <xs:sequence>
      <xs:element name="StudentPlacementAsOfDate" type="xs:date" />
      <xs:element name="Service">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0273StudentSupportServiceTypeType">
                      <xs:enumeration value="0290" />
                      <xs:enumeration value="0291" />
                      <xs:enumeration value="0292" />
                      <xs:enumeration value="0293" />
                      <xs:enumeration value="0295" />
                      <xs:enumeration value="0334" />
                      <xs:enumeration value="0297" />
                      <xs:enumeration value="0298" />
                      <xs:enumeration value="0299" />
                      <xs:enumeration value="0333" />
                      <xs:enumeration value="0302" />
                      <xs:enumeration value="0303" />
                      <xs:enumeration value="0304" />
                      <xs:enumeration value="0332" />
                      <xs:enumeration value="0305" />
                      <xs:enumeration value="0306" />
                      <xs:enumeration value="0308" />
                      <xs:enumeration value="0335" />
                      <xs:enumeration value="0336" />
                      <xs:enumeration value="0309" />
                      <xs:enumeration value="0310" />
                      <xs:enumeration value="0311" />
                      <xs:enumeration value="0312" />
                      <xs:enumeration value="0313" />
                      <xs:enumeration value="0331" />
                      <xs:enumeration value="0314" />
                      <xs:enumeration value="0315" />
                      <xs:enumeration value="0318" />
                      <xs:enumeration value="0319" />
                      <xs:enumeration value="0320" />
                      <xs:enumeration value="0294" />
                      <xs:enumeration value="0337" />
                      <xs:enumeration value="0321" />
                      <xs:enumeration value="0322" />
                      <xs:enumeration value="0323" />
                      <xs:enumeration value="0324" />
                      <xs:enumeration value="0325" />
                      <xs:enumeration value="0327" />
                      <xs:enumeration value="0329" />
                      <xs:enumeration value="0330" />
                      <xs:enumeration value="9999" />
                    </xs:restriction>
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0289TransitionalSupportServiceTypeType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:EDENHomelessEducationalSupportServicesAndActivitiesTypeOfServicesReceivedType">
                      <xs:enumeration value="TUT" />
                      <xs:enumeration value="EE" />
                      <xs:enumeration value="PD" />
                      <xs:enumeration value="MEDREF" />
                      <xs:enumeration value="TRANS" />
                      <xs:enumeration value="ECPGM" />
                      <xs:enumeration value="ASST" />
                      <xs:enumeration value="BASSUM" />
                      <xs:enumeration value="RECS" />
                      <xs:enumeration value="PARENT" />
                      <xs:enumeration value="COORD" />
                      <xs:enumeration value="COUNS" />
                      <xs:enumeration value="DOMV" />
                      <xs:enumeration value="CLOTH" />
                      <xs:enumeration value="SUPPLY" />
                      <xs:enumeration value="OTHREF" />
                      <xs:enumeration value="EMER" />
                      <xs:enumeration value="OTHER" />
                    </xs:restriction>
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:EDENMigrantStudentsServedMigrantServiceTypeType">
                      <xs:enumeration value="COS" />
                      <xs:enumeration value="AIS" />
                      <xs:enumeration value="RI" />
                      <xs:enumeration value="MI" />
                      <xs:enumeration value="HSCA" />
                      <xs:enumeration value="ANYSS" />
                      <xs:enumeration value="CS" />
                      <xs:enumeration value="ARS" />
                    </xs:restriction>
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:EDENLEPProgramTypeOfServicesReceivedType">
                      <xs:enumeration value="BILING" />
                      <xs:enumeration value="DUALLANG" />
                      <xs:enumeration value="TWOIMM" />
                      <xs:enumeration value="TRANSBIL" />
                      <xs:enumeration value="DEVBIL" />
                      <xs:enumeration value="HERITAGE" />
                      <xs:enumeration value="SHELENGL" />
                      <xs:enumeration value="STRUCIMM" />
                      <xs:enumeration value="SDAIE" />
                      <xs:enumeration value="CONTENTESL" />
                      <xs:enumeration value="PULLESL" />
                      <xs:enumeration value="OTHER" />
                    </xs:restriction>
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:EDENStudentsInNeglectedOrDelinquentProgramsNeglectedOrDelinquentServicesReceivedType">
                      <xs:enumeration value="TS" />
                      <xs:enumeration value="AS" />
                      <xs:enumeration value="DP" />
                      <xs:enumeration value="ASC" />
                      <xs:enumeration value="JT" />
                    </xs:restriction>
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:StudentPlacementTitleIServicesType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:StudentPlacementOtherTypesOfTransportationType" />
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceCategory" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001" />
            <xs:enumeration value="S002" />
            <xs:enumeration value="S003" />
            <xs:enumeration value="S004" />
            <xs:enumeration value="S999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ServiceFundingSources" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ServiceFundingSource" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code">
                    <xs:simpleType>
                      <xs:union>
                        <xs:simpleType>
                          <xs:restriction base="sif:NCES0222ProgramFundingSourceType">
                            <xs:enumeration value="0797" />
                            <xs:enumeration value="0617" />
                            <xs:enumeration value="0622" />
                            <xs:enumeration value="0654" />
                            <xs:enumeration value="9999" />
                          </xs:restriction>
                        </xs:simpleType>
                        <xs:simpleType>
                          <xs:restriction base="xs:token">
                            <xs:enumeration value="S001" />
                            <xs:enumeration value="S002" />
                            <xs:enumeration value="S003" />
                            <xs:enumeration value="S004" />
                            <xs:enumeration value="S005" />
                            <xs:enumeration value="S006" />
                            <xs:enumeration value="S007" />
                            <xs:enumeration value="S008" />
                            <xs:enumeration value="S009" />
                            <xs:enumeration value="S010" />
                            <xs:enumeration value="S011" />
                            <xs:enumeration value="S012" />
                            <xs:enumeration value="S013" />
                            <xs:enumeration value="S014" />
                            <xs:enumeration value="S015" />
                            <xs:enumeration value="S016" />
                            <xs:enumeration value="S017" />
                            <xs:enumeration value="S018" />
                            <xs:enumeration value="S019" />
                            <xs:enumeration value="S020" />
                            <xs:enumeration value="S021" />
                            <xs:enumeration value="S022" />
                            <xs:enumeration value="S023" />
                            <xs:enumeration value="S024" />
                            <xs:enumeration value="S025" />
                            <xs:enumeration value="S026" />
                          </xs:restriction>
                        </xs:simpleType>
                      </xs:union>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServicingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServicingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolWhereServiceDelivered" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceProviderType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0557JobClassificationType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AgencyType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ServiceProviderName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ServiceSetting" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0307ServiceSettingType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0798EarlyChildhoodProgramSettingType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0804EarlyChildhoodSpecialEducationSettingType" />
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="WhenServiceProvided" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0211ProgramAvailabilityType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LatestStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FrequencyTime" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="S001" />
                  <xs:enumeration value="S002" />
                  <xs:enumeration value="S003" />
                  <xs:enumeration value="S004" />
                  <xs:enumeration value="S005" />
                  <xs:enumeration value="S006" />
                  <xs:enumeration value="S007" />
                  <xs:enumeration value="S999" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DirectTime" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="UnitOfMeasure" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Minutes" />
                    <xs:enumeration value="Hours" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IndirectTime" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="UnitOfMeasure" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Minutes" />
                    <xs:enumeration value="Hours" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TotalServiceDuration" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="UnitOfMeasure" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Minutes" />
                    <xs:enumeration value="Hours" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncludedInSpecialEducationFTE" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="SpecialNeedsTransportation" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="AssistiveTechnology" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="EntryPerson" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentParticipationRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentPlacement" type="sif:StudentPlacementType" />


  <!--TestAccommodation-->

  <xs:complexType name="TestAccommodationType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="StateDistrictId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="StateSchoolId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="GradeLevel" type="sif:GradeLevelType" />
      <xs:element name="AssessmentRegistrationRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="TestAdministration" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestSubjectArea" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestGradeLevel" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestAdministrationDateRange" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PlannedTestAdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TestType" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001" />
            <xs:enumeration value="S002" />
            <xs:enumeration value="9999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AuthorizedActual">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001" />
            <xs:enumeration value="S002" />
            <xs:enumeration value="S999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ActualTestAdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StudentProgramAccommodations" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentProgramAccommodation" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StudentParticipationRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                  <xs:element name="StudentProgramType">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Code" type="xs:token" />
                        <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Accommodations">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Accommodation" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Code">
                                <xs:simpleType>
                                  <xs:union>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationTestMaterialType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationTestAdministrationType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationStudentEquipmentAndTechnologyType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationTestResponseType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationSchedulingType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="sif:TestAccommodationSettingType" />
                                    </xs:simpleType>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:token">
                                        <xs:enumeration value="9999" />
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:union>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                              <xs:element name="AccommodationCategory" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Code">
                                      <xs:simpleType>
                                        <xs:restriction base="xs:token">
                                          <xs:enumeration value="S001" />
                                          <xs:enumeration value="S002" />
                                          <xs:enumeration value="S003" />
                                          <xs:enumeration value="S004" />
                                          <xs:enumeration value="S005" />
                                          <xs:enumeration value="S006" />
                                          <xs:enumeration value="S999" />
                                        </xs:restriction>
                                      </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="SpecialMaterials" type="xs:boolean" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="TestAccommodation" type="sif:TestAccommodationType" />


  <!--AssessmentWorkingGroup-->


  <!--Assessment-->

  <xs:complexType name="AssessmentType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="AssessmentPackageRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="Assessment" type="sif:AssessmentType" />


  <!--AssessmentSubTest-->

  <xs:complexType name="AssessmentSubTestType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="ScoreRange" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:token" />
            <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:token" />
          </xs:sequence>
          <xs:attribute name="ScoreMetric" use="required" type="sif:NCES0056AssessmentReportingMethodType" />
        </xs:complexType>
      </xs:element>
      <xs:element name="PerformanceLevels" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PerformanceLevel" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="CutScores" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="LowerCut" minOccurs="0" nillable="true" type="xs:token" />
                        <xs:element name="UpperCut" minOccurs="0" nillable="true" type="xs:token" />
                      </xs:sequence>
                      <xs:attribute name="ScoreMetric" use="required" type="sif:NCES0056AssessmentReportingMethodType" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="LevelName" use="required" type="xs:token" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="AssessmentSubTestRefIds" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="AssessmentSubTestRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubTestTier" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="LearningStandardItemRefIds" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AssessmentSubTest" type="sif:AssessmentSubTestType" />


  <!--AssessmentAdministration-->

  <xs:complexType name="AssessmentAdministrationType">
    <xs:sequence>
      <xs:element name="AdministrationName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SpecialConditions" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SpecialCondition" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="Code" use="required" type="xs:token" />
                    <xs:attribute name="SIF_Action" use="optional">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Delete" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdministrationDateTime" type="xs:dateTime" />
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="FinishDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="DueDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="AssessmentFormRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentAdministration" type="sif:AssessmentAdministrationType" />


  <!--AssessmentForm-->

  <xs:complexType name="AssessmentFormType">
    <xs:sequence>
      <xs:element name="AssessmentType" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="standard" />
            <xs:enumeration value="alternate" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FormName" type="xs:normalizedString" />
      <xs:element name="FormNumbers" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FormNumber" maxOccurs="unbounded" type="xs:token" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Period" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="AssessmentSubTestRefIds" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="AssessmentSubTestRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="AssessmentRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentForm" type="sif:AssessmentFormType" />


  <!--AssessmentRegistration-->

  <xs:complexType name="AssessmentRegistrationType">
    <xs:sequence>
      <xs:element name="CreationDateTime" type="xs:dateTime" />
      <xs:element name="StudentSpecialConditions" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentSpecialCondition" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Code" use="required" type="xs:token" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StudentGradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType" />
      <xs:element name="AssessmentGradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="StaffInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SectionInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="AssessmentAdministrationRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentRegistration" type="sif:AssessmentRegistrationType" />


  <!--StudentResponseSet-->

  <xs:complexType name="StudentResponseSetType">
    <xs:sequence>
      <xs:element name="Items">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Response" type="xs:string" />
                  <xs:element name="ResponseLocation" minOccurs="0" nillable="true" type="xs:anyURI" />
                  <xs:element name="ResponseStatus" minOccurs="0" nillable="true">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Correct" />
                        <xs:enumeration value="Incorrect" />
                        <xs:enumeration value="Complete" />
                        <xs:enumeration value="PartiallyComplete" />
                        <xs:enumeration value="Viewed" />
                        <xs:enumeration value="NotViewed" />
                        <xs:enumeration value="NotAnswered" />
                        <xs:enumeration value="Attempted" />
                        <xs:enumeration value="Incomplete" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="ResponseTime" minOccurs="0" nillable="true" type="xs:duration" />
                  <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:token" />
                  <xs:element name="ItemName" minOccurs="0" nillable="true" type="xs:token" />
                  <xs:element name="DiagnosticStatement" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="NumberOfAttempts" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="AssessmentRegistrationRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentResponseSet" type="sif:StudentResponseSetType" />


  <!--StudentScoreSet-->

  <xs:complexType name="StudentScoreSetType">
    <xs:sequence>
      <xs:element name="Scores">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Score" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ScoreValue" type="xs:normalizedString" />
                  <xs:element name="DiagnosticStatement" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
                <xs:attribute name="AssessmentSubTestRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="ScoreMetric" use="required" type="sif:NCES0056AssessmentReportingMethodType" />
    <xs:attribute name="AssessmentRegistrationRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentScoreSet" type="sif:StudentScoreSetType" />


  <!--AssessmentPackage-->

  <xs:complexType name="AssessmentPackageType">
    <xs:sequence>
      <xs:element name="XMLData" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:sequence>
          <xs:attribute name="Description" use="optional" type="xs:token" />
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="AssessmentPackage" type="sif:AssessmentPackageType" />


  <!--InstructionalServicesTaskForce-->


  <!--LearningStandardDocument-->

  <xs:complexType name="LearningStandardDocumentType">
    <xs:sequence>
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Source">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="National" />
            <xs:enumeration value="State" />
            <xs:enumeration value="Regional" />
            <xs:enumeration value="District" />
            <xs:enumeration value="Site" />
            <xs:enumeration value="Classroom" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Organizations">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Organization" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Authors" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="OrganizationContactPoint" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectAreas">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SubjectArea" maxOccurs="unbounded" type="sif:SubjectAreaType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DocumentStatus">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Draft" />
            <xs:enumeration value="Adopted" />
            <xs:enumeration value="Archived" />
            <xs:enumeration value="Unknown" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="DocumentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocalAdoptionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocalArchiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndOfLifeDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Copyright" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="Holder" minOccurs="0" nillable="true" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="RepositoryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LearningStandardItemRefId" type="sif:IdRefType" />
      <xs:element name="RelatedLearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardDocumentRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="LearningStandardDocument" type="sif:LearningStandardDocumentType" />


  <!--LearningStandardItem-->

  <xs:complexType name="LearningStandardItemType">
    <xs:sequence>
      <xs:element name="StandardHierarchyLevel">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Number" type="xs:unsignedInt" />
            <xs:element name="Description" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PredecessorItems" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StatementCodes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StatementCode" minOccurs="0" maxOccurs="unbounded" type="xs:token" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Statements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Statement" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" type="sif:GradeLevelsType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
      <xs:element name="LearningStandardDocumentRefId" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="LearningStandardItem" type="sif:LearningStandardItemType" />


  <!--CurriculumStructure-->

  <xs:complexType name="CurriculumStructureType">
    <xs:sequence>
      <xs:element name="Title" maxOccurs="unbounded" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
      <xs:element name="CurriculumHierarchyLevel">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Number" type="xs:unsignedInt" />
            <xs:element name="Name" type="xs:normalizedString" />
            <xs:element name="Description" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PredecessorObjects" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CurriculumStructureRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ComponentObjects" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ComponentObject" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="CurriculumStructure" />
                          <xs:enumeration value="Lesson" />
                          <xs:enumeration value="Activity" />
                          <xs:enumeration value="Assessment" />
                          <xs:enumeration value="LearningResource" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="CurriculumStructure" type="sif:CurriculumStructureType" />


  <!--Lesson-->

  <xs:complexType name="LessonType">
    <xs:sequence>
      <xs:element name="CurriculumStructures" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CurriculumStructureRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="Duration" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:unsignedInt">
              <xs:attribute name="Units" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="week" />
                    <xs:enumeration value="day" />
                    <xs:enumeration value="hour" />
                    <xs:enumeration value="minute" />
                    <xs:enumeration value="second" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Strategies" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SupportingActivities" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ActivityRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningResources" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LessonSources" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LessonSource" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Author" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
                        <xs:element name="Organization" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
                        <xs:element name="Email" minOccurs="0" nillable="true" type="sif:EmailType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="Lesson" type="sif:LessonType" />


  <!--Activity-->

  <xs:complexType name="ActivityType">
    <xs:sequence>
      <xs:element name="TechnicalRequirements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TechnicalRequirement" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EssentialMaterials" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="EssentialMaterial" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Preamble" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
      <xs:element name="Prerequisites" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Students" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SourceObjects" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SourceObject" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Assessment" />
                          <xs:enumeration value="LearningResource" />
                          <xs:enumeration value="Activity" />
                          <xs:enumeration value="Lesson" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Points" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ActivityTime">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CreationDate" type="xs:date" />
            <xs:element name="Duration" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:unsignedInt">
                    <xs:attribute name="Units" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="week" />
                          <xs:enumeration value="day" />
                          <xs:enumeration value="hour" />
                          <xs:enumeration value="minute" />
                          <xs:enumeration value="second" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="FinishDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AssessmentRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ActivityWeight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Evaluation" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
          </xs:sequence>
          <xs:attribute name="EvaluationType" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Inline" />
                <xs:enumeration value="RefId" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningResources" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="Activity" type="sif:ActivityType" />


  <!--Assignment-->

  <xs:complexType name="AssignmentType">
    <xs:sequence>
      <xs:element name="Students">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentPersonalRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="TechnicalRequirements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TechnicalRequirement" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EssentialMaterials" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="EssentialMaterial" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Preamble" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Prerequisites" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SourceObjects" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SourceObject" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Assessment" />
                          <xs:enumeration value="LearningResource" />
                          <xs:enumeration value="Activity" />
                          <xs:enumeration value="Lesson" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AssignmentTime">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CreationDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="Duration" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:decimal">
                    <xs:attribute name="Units" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="week" />
                          <xs:enumeration value="day" />
                          <xs:enumeration value="hour" />
                          <xs:enumeration value="minute" />
                          <xs:enumeration value="second" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="StartDate" type="xs:date" />
            <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
            <xs:element name="DueDate" type="xs:date" />
            <xs:element name="DueTime" minOccurs="0" nillable="true" type="xs:time" />
            <xs:element name="AdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="AddToGradeBookFlag" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="Assignment" type="sif:AssignmentType" />


  <!--LearningResource-->

  <xs:complexType name="LearningResourceType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Author" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Contacts" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
                  <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
                  <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="sif:PhoneNumberType" />
                  <xs:element name="Email" minOccurs="0" nillable="true" type="sif:EmailType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Location" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="ReferenceType" use="required" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SubjectArea" minOccurs="0" maxOccurs="unbounded" type="sif:SubjectAreaType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MediaTypes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MediaType" minOccurs="0" maxOccurs="unbounded" type="xs:token" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="UseAgreement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AgreementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Approvals" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Approval" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Organization" type="xs:normalizedString" />
                  <xs:element name="Date" type="xs:date" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Evaluations" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Evaluation" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date" />
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
                </xs:sequence>
                <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Components">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Component" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="Reference" type="xs:string" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="Strategies" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="AssociatedObjects" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="AssociatedObject" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="sif:IdRefType">
                                <xs:attribute name="SIF_RefObject" use="required" type="xs:NCName" />
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="RefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandards" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="LearningResource" type="sif:LearningResourceType" />


  <!--LibraryAutomationWorkingGroup-->


  <!--LibraryPatronStatus-->

  <xs:complexType name="LibraryPatronStatusType">
    <xs:sequence>
      <xs:element name="ElectronicIdList" type="sif:ElectronicIdListType" />
      <xs:element name="TransactionList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Transaction" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ItemInfo" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Title" type="xs:string" />
                        <xs:element name="Author" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="ElectronicId" minOccurs="0" nillable="true" type="sif:ElectronicIdType" />
                        <xs:element name="CallNumber" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="Price" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
                      </xs:sequence>
                      <xs:attribute name="Type" use="required">
                        <xs:simpleType>
                          <xs:restriction base="xs:token">
                            <xs:enumeration value="Asset" />
                            <xs:enumeration value="LibraryMaterial" />
                            <xs:enumeration value="Media" />
                            <xs:enumeration value="Textbook" />
                          </xs:restriction>
                        </xs:simpleType>
                      </xs:attribute>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="CheckoutInfo" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ReturnBy" type="xs:dateTime" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="FineInfoList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="FineInfo" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Assessed" type="xs:dateTime" />
                              <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                              <xs:element name="Amount" type="sif:MonetaryAmountType" />
                              <xs:element name="Reference" minOccurs="0" nillable="true" type="xs:string" />
                            </xs:sequence>
                            <xs:attribute name="Type" use="required">
                              <xs:simpleType>
                                <xs:restriction base="xs:token">
                                  <xs:enumeration value="Damaged" />
                                  <xs:enumeration value="Lost" />
                                  <xs:enumeration value="Overdue" />
                                  <xs:enumeration value="Refund" />
                                  <xs:enumeration value="Other" />
                                </xs:restriction>
                              </xs:simpleType>
                            </xs:attribute>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="HoldInfoList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="HoldInfo" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="DatePlaced" type="xs:date" />
                              <xs:element name="DateNeeded" minOccurs="0" nillable="true" type="xs:date" />
                              <xs:element name="MadeAvailable" minOccurs="0" nillable="true" type="xs:date" />
                              <xs:element name="Expires" minOccurs="0" nillable="true" type="xs:date" />
                            </xs:sequence>
                            <xs:attribute name="Type" use="required">
                              <xs:simpleType>
                                <xs:restriction base="xs:token">
                                  <xs:enumeration value="Ready" />
                                  <xs:enumeration value="NotReady" />
                                </xs:restriction>
                              </xs:simpleType>
                            </xs:attribute>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MessageList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Message" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Sent" minOccurs="0" nillable="true" type="xs:dateTime" />
                  <xs:element name="Text" type="xs:string" />
                </xs:sequence>
                <xs:attribute name="Priority" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Low" />
                      <xs:enumeration value="Normal" />
                      <xs:enumeration value="Urgent" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="NumberOfCheckouts" type="xs:unsignedInt" />
      <xs:element name="NumberOfOverdues" type="xs:unsignedInt" />
      <xs:element name="NumberOfFines" type="xs:unsignedInt" />
      <xs:element name="FineAmount" type="sif:MonetaryAmountType" />
      <xs:element name="NumberOfRefunds" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="RefundAmount" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="LibraryType" use="required" type="xs:string" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentPersonal" />
          <xs:enumeration value="StaffPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="LibraryPatronStatus" type="sif:LibraryPatronStatusType" />


  <!--StudentInformationSystemsWorkingGroup-->


  <!--DisciplineIncident-->

  <xs:complexType name="DisciplineIncidentType">
    <xs:sequence>
      <xs:element name="AgencyReporting">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentNumber" type="xs:normalizedString" />
      <xs:element name="IncidentDate" type="xs:date" />
      <xs:element name="IncidentTime">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:time">
              <xs:attribute name="Type" use="required" type="sif:SAFETYTimeType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentLocation">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="Type" use="required" type="sif:NCES1040IncidentLocationType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentLocationRefId">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                    <xs:enumeration value="LocationInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentCost" type="xs:string" />
      <xs:element name="IncidentReporter">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" type="sif:NameType" />
            <xs:element name="SIF_RefId">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="StudentPersonal" />
                          <xs:enumeration value="StaffPersonal" />
                          <xs:enumeration value="EmployeePersonal" />
                          <xs:enumeration value="StudentContact" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="Type" use="required" type="sif:NCES1043ReporterDescriptionType" />
        </xs:complexType>
      </xs:element>
      <xs:element name="RelatedToList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RelatedTo" minOccurs="0" maxOccurs="unbounded" type="sif:NCES1048RelatedElementCodeType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="WeaponTypeList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="WeaponType" maxOccurs="unbounded" type="sif:NCES1045WeaponTypeType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentCategory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES1049IncidentCodeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="OffenderList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Offender" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="sif:NameType" />
                  <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="sif:IdRefType">
                          <xs:attribute name="SIF_RefObject" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="StudentPersonal" />
                                <xs:enumeration value="StaffPersonal" />
                                <xs:enumeration value="EmployeePersonal" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Injury" type="sif:NCES1046InjuryType" />
                  <xs:element name="ManifestationDetermination">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="MeetingHeld">
                          <xs:simpleType>
                            <xs:restriction base="xs:token">
                              <xs:enumeration value="Yes" />
                              <xs:enumeration value="No" />
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="MeetingDate" type="xs:date" />
                        <xs:element name="DueToDisability">
                          <xs:simpleType>
                            <xs:restriction base="xs:token">
                              <xs:enumeration value="Yes" />
                              <xs:enumeration value="No" />
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="ActionList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Action" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Code" type="sif:NCES1054DisciplinaryActionType" />
                              <xs:element name="OtherCodeList" type="sif:OtherCodeListType" />
                              <xs:element name="StartDate" type="xs:date" />
                              <xs:element name="EndDate" type="xs:date" />
                              <xs:element name="Duration" type="xs:decimal" />
                              <xs:element name="ZeroTolerance">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="FullYearExpulsion">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="ShortenedExpulsion">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="PoliceNotification">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="Arrest">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                    <xs:enumeration value="Pending" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                              <xs:element name="AlternativeEducation">
                                <xs:simpleType>
                                  <xs:restriction base="xs:token">
                                    <xs:enumeration value="Yes" />
                                    <xs:enumeration value="No" />
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:element>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Type" use="required" type="sif:NCES1043ReporterDescriptionType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="VictimList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Victim" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="sif:NameType" />
                  <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="sif:IdRefType">
                          <xs:attribute name="SIF_RefObject" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="StudentPersonal" />
                                <xs:enumeration value="StaffPersonal" />
                                <xs:enumeration value="EmployeePersonal" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Injury" type="sif:NCES1046InjuryType" />
                </xs:sequence>
                <xs:attribute name="Type" use="required" type="sif:NCES1043ReporterDescriptionType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="DisciplineIncident" type="sif:DisciplineIncidentType" />


  <!--CalendarSummary-->

  <xs:complexType name="CalendarSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="DaysInSession" type="xs:unsignedInt" />
      <xs:element name="FirstInstructionDay" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LastInstructionDay" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="sif:GraduationDateType" />
      <xs:element name="InstructionalMinutes" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="MinutesPerDay" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="CalendarSummary" type="sif:CalendarSummaryType" />


  <!--CalendarDate-->

  <xs:complexType name="CalendarDateType">
    <xs:sequence>
      <xs:element name="CalendarDateType">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0084CalendarEventType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="INST" />
                      <xs:enumeration value="MKUP" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CalendarDateNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="StudentAttendance" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CountsTowardAttendance">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="AttendanceValue">
              <xs:simpleType>
                <xs:restriction base="xs:decimal">
                  <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:fractionDigits value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TeacherAttendance" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CountsTowardAttendance">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="AttendanceValue">
              <xs:simpleType>
                <xs:restriction base="xs:decimal">
                  <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:fractionDigits value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdministratorAttendance" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CountsTowardAttendance">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="AttendanceValue">
              <xs:simpleType>
                <xs:restriction base="xs:decimal">
                  <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                  <xs:fractionDigits value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="Date" use="required" type="xs:date" />
    <xs:attribute name="CalendarSummaryRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="CalendarDate" type="sif:CalendarDateType" />


  <!--StudentAttendanceSummary-->

  <xs:complexType name="StudentAttendanceSummaryType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="StartDay" type="xs:unsignedInt" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="EndDay" type="xs:unsignedInt" />
      <xs:element name="Resident">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
            <xs:enumeration value="Unknown" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="DaysAttended" type="xs:unsignedInt" />
      <xs:element name="ExcusedAbsences" type="xs:unsignedInt" />
      <xs:element name="UnexcusedAbsences" type="xs:unsignedInt" />
      <xs:element name="DaysTardy" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="DaysInMembership" type="xs:unsignedInt" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentAttendanceSummary" type="sif:StudentAttendanceSummaryType" />


  <!--AttendanceCodeInfo-->

  <xs:complexType name="AttendanceCodeInfoType">
    <xs:sequence>
      <xs:element name="AttendanceCode" type="xs:token" />
      <xs:element name="AttendanceType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Absent" />
            <xs:enumeration value="Tardy" />
            <xs:enumeration value="EarlyDeparture" />
            <xs:enumeration value="Partial" />
            <xs:enumeration value="Present" />
            <xs:enumeration value="Other" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AttendanceStatus">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Excused" />
            <xs:enumeration value="Unexcused" />
            <xs:enumeration value="Unknown" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AttendanceValue" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="3" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="UsedForDailyAttendance">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="UsedForPeriodAttendance">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="AttendanceCodeInfo" type="sif:AttendanceCodeInfoType" />


  <!--RoomInfo-->

  <xs:complexType name="RoomInfoType">
    <xs:sequence>
      <xs:element name="RoomNumber" type="xs:token" />
      <xs:element name="StaffList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StaffPersonalRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Building" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="HomeroomNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Size" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Capacity" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="sif:PhoneNumberType" />
      <xs:element name="RoomTypeRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="RoomInfo" type="sif:RoomInfoType" />


  <!--RoomType-->

  <xs:complexType name="RoomTypeType">
    <xs:sequence>
      <xs:element name="Description" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="RoomType" type="sif:RoomTypeType" />


  <!--SchoolCourseInfo-->

  <xs:complexType name="SchoolCourseInfoType">
    <xs:sequence>
      <xs:element name="CourseCode" type="sif:CourseCodeType" />
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="sif:SubjectAreaListType" />
      <xs:element name="CourseTitle" type="sif:CourseTitleType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="sif:CourseCreditsType" />
      <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="sif:GraduationRequirementType" />
      <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SCEDCode" minOccurs="0" nillable="true" type="sif:SCEDCodeType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="SchoolCourseInfo" type="sif:SchoolCourseInfoType" />


  <!--SchoolInfo-->

  <xs:complexType name="SchoolInfoType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
      <xs:element name="SchoolName" type="xs:normalizedString" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="OtherLEA" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolType" minOccurs="0" nillable="true" type="sif:NCES0031SchoolLevelType" />
      <xs:element name="SchoolFocusList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SchoolFocus" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Regular" />
                  <xs:enumeration value="SpecialEd" />
                  <xs:enumeration value="Vocational" />
                  <xs:enumeration value="Alternative" />
                  <xs:enumeration value="Magnet" />
                  <xs:enumeration value="Charter" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="sif:SchoolURLType" />
      <xs:element name="PrincipalInfo" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ContactName" type="xs:normalizedString" />
            <xs:element name="ContactTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="sif:SchoolContactListType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="sif:IdentificationInfoListType" />
      <xs:element name="SessionType" minOccurs="0" nillable="true" type="sif:NCES0266SessionTypeType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="Title1Status" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Targeted" />
            <xs:enumeration value="SchoolWide" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="sif:OperationalStatusType" />
      <xs:element name="CongressionalDistrict" minOccurs="0" nillable="true" type="sif:CongressionalDistrictType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="SchoolInfo" type="sif:SchoolInfoType" />


  <!--SectionInfo-->

  <xs:complexType name="SectionInfoType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ScheduleInfoList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ScheduleInfo" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="TeacherList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="StaffPersonalRefId" maxOccurs="unbounded" type="sif:IdRefType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SectionRoomList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="RoomInfoRefId" maxOccurs="unbounded" type="sif:IdRefType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="MeetingTimeList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="MeetingTime" maxOccurs="unbounded" type="sif:MeetingTimeType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="TermInfoRefId" use="required" type="sif:IdRefType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MediumOfInstruction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0209PrincipalMediumOfInstructionType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LanguageOfInstruction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NISOZ3953LanguageCodesType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LocationOfInstruction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0171LocationOfInstructionServiceType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SummerSchool" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SchoolCourseInfoOverride" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CourseCode" minOccurs="0" nillable="true" type="sif:CourseCodeType" />
            <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
            <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
            <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
            <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="sif:CourseTitleType" />
            <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
            <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="sif:CourseCreditsType" />
          </xs:sequence>
          <xs:attribute name="Override" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="Yes" />
                <xs:enumeration value="No" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolCourseInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="SectionInfo" type="sif:SectionInfoType" />


  <!--StaffPersonal-->

  <xs:complexType name="StaffPersonalType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="sif:ElectronicIdListType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="OtherId" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="sif:NCES0147IdentificationSystemType">
                          <xs:enumeration value="0328" />
                          <xs:enumeration value="0164" />
                          <xs:enumeration value="0339" />
                          <xs:enumeration value="9999" />
                          <xs:enumeration value="0222" />
                          <xs:enumeration value="0154" />
                          <xs:enumeration value="0399" />
                          <xs:enumeration value="0004" />
                          <xs:enumeration value="0113" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Name" type="sif:NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="sif:OtherNamesType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="sif:EmailListType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="StaffPersonal" type="sif:StaffPersonalType" />


  <!--StudentContact-->

  <xs:complexType name="StudentContactType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="OtherId" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="sif:NCES0147IdentificationSystemType">
                          <xs:enumeration value="0328" />
                          <xs:enumeration value="0164" />
                          <xs:enumeration value="0339" />
                          <xs:enumeration value="9999" />
                          <xs:enumeration value="0222" />
                          <xs:enumeration value="0154" />
                          <xs:enumeration value="0399" />
                          <xs:enumeration value="0004" />
                          <xs:enumeration value="0113" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Name" type="sif:NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="sif:OtherNamesType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="sif:EmailListType" />
      <xs:element name="Relationship" minOccurs="0" nillable="true" type="sif:RelationshipType" />
      <xs:element name="EmployerType" minOccurs="0" nillable="true" type="sif:NCES0614EmployerTypeType" />
      <xs:element name="EducationalLevel" minOccurs="0" nillable="true" type="sif:EducationalLevelType" />
      <xs:element name="ContactFlags">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="PickupRights" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="LivesWith" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="AccessToRecords" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="EmergencyContact" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="HasCustody" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ContactSequence" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentContact" type="sif:StudentContactType" />


  <!--StudentDailyAttendance-->

  <xs:complexType name="StudentDailyAttendanceType">
    <xs:sequence>
      <xs:element name="AttendanceCodeInfoRefId" type="sif:IdRefType" />
      <xs:element name="TimeIn" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeOut" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentDailyAttendance" type="sif:StudentDailyAttendanceType" />


  <!--StudentPersonal-->

  <xs:complexType name="StudentPersonalType">
    <xs:sequence>
      <xs:element name="AlertMessages" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="AlertMessage" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Legal" />
                          <xs:enumeration value="Discipline" />
                          <xs:enumeration value="Educational" />
                          <xs:enumeration value="Other" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MedicalAlertMessages" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MedicalAlertMessage" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="Severity" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Low" />
                          <xs:enumeration value="Moderate" />
                          <xs:enumeration value="High" />
                          <xs:enumeration value="Severe" />
                          <xs:enumeration value="Unknown" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="sif:ElectronicIdListType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="OtherId" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="sif:NCES0147IdentificationSystemType">
                          <xs:enumeration value="0164" />
                          <xs:enumeration value="0339" />
                          <xs:enumeration value="0338" />
                          <xs:enumeration value="0879" />
                          <xs:enumeration value="9999" />
                          <xs:enumeration value="0222" />
                          <xs:enumeration value="0764" />
                          <xs:enumeration value="0154" />
                          <xs:enumeration value="0004" />
                          <xs:enumeration value="0113" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Name" type="sif:NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="sif:OtherNamesType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="sif:EmailListType" />
      <xs:element name="ProjectedGraduationYear" minOccurs="0" nillable="true" type="sif:ProjectedGraduationYearType" />
      <xs:element name="OnTimeGraduationYear" minOccurs="0" nillable="true" type="sif:OnTimeGraduationYearType" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="sif:GraduationDateType" />
      <xs:element name="MostRecent" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
            <xs:element name="HomeroomLocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
            <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcceptableUsePolicy" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="IDEA" minOccurs="0" nillable="true" type="sif:IDEAType" />
      <xs:element name="Migrant" minOccurs="0" nillable="true" type="sif:MigrantType" />
      <xs:element name="Title1" minOccurs="0" nillable="true" type="sif:Title1Type" />
      <xs:element name="GiftedTalented" minOccurs="0" nillable="true" type="sif:GiftedTalentedType" />
      <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true" type="sif:EconomicDisadvantageType" />
      <xs:element name="ELL" minOccurs="0" nillable="true" type="sif:ELLType" />
      <xs:element name="Homeless" minOccurs="0" nillable="true" type="sif:HomelessType" />
      <xs:element name="Section504" minOccurs="0" nillable="true" type="sif:Section504Type" />
      <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true" type="sif:VocationalConcentratorType" />
      <xs:element name="Immigrant" minOccurs="0" nillable="true" type="sif:ImmigrantType" />
      <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true" type="sif:NeglectedDelinquentType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="StudentPersonal" type="sif:StudentPersonalType" />


  <!--StudentPicture-->

  <xs:complexType name="StudentPictureType">
    <xs:sequence>
      <xs:element name="PictureSource">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:URIOrBinaryType">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="URL" />
                    <xs:enumeration value="JPEG" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OKToPublish" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentPicture" type="sif:StudentPictureType" />


  <!--StudentSchoolEnrollment-->

  <xs:complexType name="StudentSchoolEnrollmentType">
    <xs:sequence>
      <xs:element name="EntryDate" type="xs:date" />
      <xs:element name="EntryType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0619EntryTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType" />
      <xs:element name="Homeroom" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="RoomInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Advisor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Counselor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0643ExitWithdrawalStatusType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0644ExitWithdrawalTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FTPTStatus" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="FullTime" />
            <xs:enumeration value="PartTime" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ResidencyStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0598PublicSchoolResidenceStatusType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="NonResidentAttendReason" minOccurs="0" nillable="true" type="sif:NCES0599NonResidentAttendanceRationaleType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="MembershipType" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Home" />
          <xs:enumeration value="Concurrent" />
          <xs:enumeration value="Summer" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="TimeFrame" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Current" />
          <xs:enumeration value="Historical" />
          <xs:enumeration value="Future" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSchoolEnrollment" type="sif:StudentSchoolEnrollmentType" />


  <!--StudentSectionEnrollment-->

  <xs:complexType name="StudentSectionEnrollmentType">
    <xs:sequence>
      <xs:element name="EntryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ScheduleInfoOverrideList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ScheduleInfoOverride" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="MeetingTimeList" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="MeetingTime" maxOccurs="unbounded" type="sif:MeetingTimeType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="Override" use="required">
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Yes" />
                      <xs:enumeration value="No" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="TermInfoRefId" use="required" type="sif:RefIdType" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CreditsAttempted" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Type" use="required" type="sif:NCES0108CreditTypeEarnedType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSectionEnrollment" type="sif:StudentSectionEnrollmentType" />


  <!--TermInfo-->

  <xs:complexType name="TermInfoType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RelativeDuration" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="4" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
      <xs:element name="MarkingTerm" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SchedulingTerm" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AttendanceTerm" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="TermInfo" type="sif:TermInfoType" />


  <!--StudentSnapshot-->

  <xs:complexType name="StudentSnapshotType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="sif:RaceListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true" type="sif:HispanicLatinoType" />
      <xs:element name="Gender" minOccurs="0" nillable="true" type="sif:GenderType" />
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="sif:BirthDateType" />
      <xs:element name="Age" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ProjectedGraduationYear" minOccurs="0" nillable="true" type="sif:ProjectedGraduationYearType" />
      <xs:element name="OnTimeGraduationYear" minOccurs="0" nillable="true" type="sif:OnTimeGraduationYearType" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="sif:GraduationDateType" />
      <xs:element name="GraduationAward" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Diploma" />
            <xs:enumeration value="Certificate" />
            <xs:enumeration value="GED" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="GraduationOnTime" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
            <xs:enumeration value="Unavailable" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="HomeEnrollment">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentSchoolEnrollmentRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="SchoolName" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
            <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
            <xs:element name="Status">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Active" />
                  <xs:enumeration value="Inactive" />
                  <xs:enumeration value="Unreported" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="GradeLevel" type="sif:GradeLevelType" />
            <xs:element name="Homeroom" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefType">
                    <xs:attribute name="SIF_RefObject" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="RoomInfo" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="HomeroomNumber" minOccurs="0" nillable="true" type="sif:HomeroomNumberType" />
            <xs:element name="FullYearEnrollment" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Yes" />
                  <xs:enumeration value="No" />
                  <xs:enumeration value="Unknown" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IDEA" minOccurs="0" nillable="true" type="sif:IDEAType" />
      <xs:element name="Migrant" minOccurs="0" nillable="true" type="sif:MigrantType" />
      <xs:element name="Title1" minOccurs="0" nillable="true" type="sif:Title1Type" />
      <xs:element name="GiftedTalented" minOccurs="0" nillable="true" type="sif:GiftedTalentedType" />
      <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true" type="sif:EconomicDisadvantageType" />
      <xs:element name="ELL" minOccurs="0" nillable="true" type="sif:ELLType" />
      <xs:element name="Homeless" minOccurs="0" nillable="true" type="sif:HomelessType" />
      <xs:element name="Section504" minOccurs="0" nillable="true" type="sif:Section504Type" />
      <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true" type="sif:VocationalConcentratorType" />
      <xs:element name="Immigrant" minOccurs="0" nillable="true" type="sif:ImmigrantType" />
      <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true" type="sif:NeglectedDelinquentType" />
      <xs:element name="FreeAndReducedStatus" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Free" />
            <xs:enumeration value="Reduced" />
            <xs:enumeration value="None" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="SnapDate" use="required" type="xs:date" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSnapshot" type="sif:StudentSnapshotType" />


  <!--LEAInfo-->

  <xs:complexType name="LEAInfoType">
    <xs:sequence>
      <xs:element name="LocalId" type="sif:LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
      <xs:element name="LEAName" type="sif:LEANameType" />
      <xs:element name="LEAURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="EducationAgencyType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES1151AgencyTypeDraftType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LEAContactList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LEAContact" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="sif:PublishInDirectoryType" />
                  <xs:element name="ContactInfo" type="sif:ContactInfoType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="sif:IdentificationInfoListType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="sif:OperationalStatusType" />
      <xs:element name="CongressionalDistrict" minOccurs="0" nillable="true" type="sif:CongressionalDistrictType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="LEAInfo" type="sif:LEAInfoType" />


  <!--StaffAssignment-->

  <xs:complexType name="StaffAssignmentType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobFunction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0568FunctionTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TeachingAssignment" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:simpleType>
                <xs:union>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0436TeachingAssignmentType" />
                  </xs:simpleType>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="NA" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="ItinerantTeacher" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType" />
    <xs:attribute name="StaffPersonalRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StaffAssignment" type="sif:StaffAssignmentType" />


  <!--TransportationAndGeographicInformationWorkingGroup-->


  <!--BusEquipment-->

  <xs:complexType name="BusEquipmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="BusEquipment" type="sif:BusEquipmentType" />


  <!--BusInfo-->

  <xs:complexType name="BusInfoType">
    <xs:sequence>
      <xs:element name="VehicleNumber" type="xs:normalizedString" />
      <xs:element name="SeatingCapacity" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Contractor" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EquipmentList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Equipment" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="BusEquipmentRefId" type="sif:IdRefType" />
                  <xs:element name="Count" type="xs:unsignedInt" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="BusInfo" type="sif:BusInfoType" />


  <!--BusRouteDetail-->

  <xs:complexType name="BusRouteDetailType">
    <xs:sequence>
      <xs:element name="BusStopInfoRefId" type="sif:IdRefType" />
      <xs:element name="ArrivalTime" type="xs:time" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="BusRouteInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="BusRouteDetail" type="sif:BusRouteDetailType" />


  <!--BusRouteInfo-->

  <xs:complexType name="BusRouteInfoType">
    <xs:sequence>
      <xs:element name="BusInfoRefId" type="sif:IdRefType" />
      <xs:element name="RouteNumber" type="xs:normalizedString" />
      <xs:element name="RouteType">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Inbound" />
            <xs:enumeration value="Outbound" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MaximumLoad" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
      <xs:element name="RouteDurationLoaded" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="RouteDurationTotal" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="RouteDistanceLoaded" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="RouteDistanceTotal" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="BusRouteInfo" type="sif:BusRouteInfoType" />


  <!--BusStopInfo-->

  <xs:complexType name="BusStopInfoType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="sif:GridLocationType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="BusStopInfo" type="sif:BusStopInfoType" />


  <!--StudentTransportInfo-->

  <xs:complexType name="StudentTransportInfoType">
    <xs:sequence>
      <xs:element name="Eligibility" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Bus" />
            <xs:enumeration value="Walk" />
            <xs:enumeration value="BusHazard" />
            <xs:enumeration value="BusOutOfAttendance" />
            <xs:enumeration value="ParentPay" />
            <xs:enumeration value="Unknown" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="HomeBusRouteDetail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TransferPoints" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TransferPoint" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="EmbarkBusRouteDetail">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="sif:IdRefType">
                          <xs:attribute name="SIF_RefObject" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="BusRouteDetail" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="DisembarkBusRouteDetail">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="sif:IdRefType">
                          <xs:attribute name="SIF_RefObject" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="BusRouteDetail" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolBusRouteDetail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="Type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Inbound" />
          <xs:enumeration value="Outbound" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="DayOfWeek" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="(Mo)?(Tu)?(We)?(Th)?(Fr)?(Sa)?(Su)?" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="StudentTransportInfo" type="sif:StudentTransportInfoType" />


  <!--BusPositionInfo-->

  <xs:complexType name="BusPositionInfoType">
    <xs:sequence>
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Time" type="xs:time" />
      <xs:element name="GridLocation" type="sif:GridLocationType" />
      <xs:element name="TelematicsId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TelemetryList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Telemetry" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="BusDriver" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
            <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="Status">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="On" />
                  <xs:enumeration value="Off" />
                  <xs:enumeration value="Sched" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="BusStaffList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BusStaff" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
                  <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                  <xs:element name="Status">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="On" />
                        <xs:enumeration value="Off" />
                        <xs:enumeration value="Sched" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="RouteStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BusRouteInfoRefId" type="sif:IdRefType" />
            <xs:element name="Status">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Begin" />
                  <xs:enumeration value="End" />
                  <xs:enumeration value="Continue" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherStatus" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Odometer" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Speedometer" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Students" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Student" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StudentPersonalRefId" type="sif:IdRefType" />
                  <xs:element name="Status">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="On" />
                        <xs:enumeration value="Off" />
                        <xs:enumeration value="Entered" />
                        <xs:enumeration value="Exited" />
                        <xs:enumeration value="Sched" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="BusInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="BusPositionInfo" type="sif:BusPositionInfoType" />


  <!--VerticalReportingTaskForce-->


  <!--ReportManifest-->

  <xs:complexType name="ReportManifestType">
    <xs:sequence>
      <xs:element name="SIF_Version" type="sif:VersionWithWildcardsType" />
      <xs:element name="SIF_MaxBufferSize" type="xs:unsignedInt" />
      <xs:element name="ReceivingAuthority" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="ReportAuthorityInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReportName" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ReportingPeriod" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BeginReportDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="EndReportDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="BeginSubmitDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="EndSubmitDate" minOccurs="0" nillable="true" type="xs:date" />
            <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReportDefinitionSource">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="URL" />
                    <xs:enumeration value="Embedded" />
                    <xs:enumeration value="Base64Binary" />
                    <xs:enumeration value="SIF_Query" />
                    <xs:enumeration value="SIF_ExtendedQuery" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
              <xs:attribute name="QueryLanguage" use="required" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReportFormatList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ReportFormat" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="URL" />
                          <xs:enumeration value="Embedded" />
                          <xs:enumeration value="Base64Binary" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="ContentType" use="required" type="xs:normalizedString" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_QueryGroup" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Query" maxOccurs="unbounded" type="sif:SIF_QueryType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_ExtendedQuery" minOccurs="0" nillable="true" type="sif:SIF_ExtendedQueryType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="ReportAuthorityInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="ReportManifest" type="sif:ReportManifestType" />


  <!--ReportAuthorityInfo-->

  <xs:complexType name="ReportAuthorityInfoType">
    <xs:sequence>
      <xs:element name="AuthorityName" type="xs:normalizedString" />
      <xs:element name="AuthorityId" type="xs:token" />
      <xs:element name="AuthorityDepartment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AuthorityLevel">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Federal" />
            <xs:enumeration value="State" />
            <xs:enumeration value="RSA" />
            <xs:enumeration value="LEA" />
            <xs:enumeration value="School" />
            <xs:enumeration value="Other" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ContactInfo" minOccurs="0" nillable="true" type="sif:ContactInfoType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="sif:PhoneNumberType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="ReportAuthorityInfo" type="sif:ReportAuthorityInfoType" />


  <!--SIF_ReportObject-->

  <xs:complexType name="SIF_ReportObjectType">
    <xs:sequence>
      <xs:element name="ReportInfo" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CalculationDate" type="xs:date" />
            <xs:element name="SubmissionNumber" type="xs:positiveInteger" />
            <xs:element name="SubmissionReason">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Initial" />
                  <xs:enumeration value="Correction" />
                  <xs:enumeration value="Revision" />
                  <xs:enumeration value="Addition" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="ReportSubmitterInfo" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="sif:IdRefType">
                          <xs:attribute name="SIF_RefObject" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="LEAInfo" />
                                <xs:enumeration value="SchoolInfo" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SubmitterName" type="xs:normalizedString" />
                  <xs:element name="SubmitterDepartment" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="ContactInfo" minOccurs="0" nillable="true" type="sif:ContactInfoType" />
                  <xs:element name="Address" minOccurs="0" nillable="true" type="sif:AddressType" />
                  <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="sif:PhoneNumberType" />
                  <xs:element name="SubmitterNotes" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
          </xs:sequence>
          <xs:attribute name="ReportManifestRefId" use="required" type="sif:IdRefType" />
        </xs:complexType>
      </xs:element>
      <xs:element name="ReportData" minOccurs="0" nillable="true" type="sif:ReportDataObjectType" />
      <xs:element name="SIF_ExtendedQueryResults" minOccurs="0" nillable="true" type="sif:SIF_ExtendedQueryResultsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="SIF_ReportObject" type="sif:SIF_ReportObjectType" />


  <!--StudentLocator-->

  <xs:complexType name="StudentLocatorType">
    <xs:sequence>
      <xs:element name="StateProvinceId" type="sif:StateProvinceIdType" />
      <xs:element name="Confidence" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
      <xs:element name="RequestingAgencyId" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="Type" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="ESA" />
                    <xs:enumeration value="LEA" />
                    <xs:enumeration value="School" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType" />
      <xs:element name="SSN" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="sif:NameType" />
      <xs:element name="Address" minOccurs="0" maxOccurs="unbounded" type="sif:AddressType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="sif:DemographicsType" />
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Relationship" type="sif:RelationshipType" />
            <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="sif:NameType" />
            <xs:element name="OtherId" minOccurs="0" nillable="true" type="sif:OtherIdType" />
            <xs:element name="EducationalLevel" minOccurs="0" nillable="true" type="sif:EducationalLevelType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="sif:GraduationDateType" />
      <xs:element name="SchoolAttendedName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SchoolAttendedLocation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OtherId" minOccurs="0" nillable="true" type="sif:OtherIdType" />
      <xs:element name="SIF_Error" minOccurs="0" nillable="true" type="sif:SIF_ErrorType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="IdStatus" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Request" />
          <xs:enumeration value="Release" />
          <xs:enumeration value="Valid" />
          <xs:enumeration value="Ambiguous" />
          <xs:enumeration value="Resolve" />
          <xs:enumeration value="New" />
          <xs:enumeration value="Cancel" />
          <xs:enumeration value="Cancelled" />
          <xs:enumeration value="Error" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="TransactionId" use="required" type="sif:GUIDType" />
  </xs:complexType>

  <xs:element name="StudentLocator" type="sif:StudentLocatorType" />


  <!--InfrastructureWorkingGroup-->


  <!--SIF_LogEntry-->

  <xs:complexType name="SIF_LogEntryType">
    <xs:sequence>
      <xs:element name="SIF_LogEntryHeader">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_OriginalHeader" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_Header" type="sif:SIF_HeaderType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Category" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="1" />
            <xs:enumeration value="2" />
            <xs:enumeration value="3" />
            <xs:enumeration value="4" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_Code" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="sif:SIF_LogEntrySuccessCategoryType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:SIF_LogEntryDataIssuesWithSuccessResultType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:SIF_LogEntryDataIssuesWithFailureResultType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:SIF_LogEntryAgentErrorConditionType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="sif:SIF_LogEntryZISErrorConditionType" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SIF_ApplicationCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Desc" type="xs:string" />
      <xs:element name="SIF_ExtendedDesc" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_LogObjects" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SIF_LogObject" maxOccurs="unbounded">
              <xs:complexType>
                <xs:complexContent>
                  <xs:extension base="sif:SIF_ResponseObjectType">
                    <xs:attribute name="ObjectName" use="required" type="sif:SIF_RequestObjectNamesType" />
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="Source" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Agent" />
          <xs:enumeration value="ZIS" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="LogLevel" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Info" />
          <xs:enumeration value="Warning" />
          <xs:enumeration value="Error" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="SIF_LogEntry" type="sif:SIF_LogEntryType" />


  <!--Authentication-->

  <xs:complexType name="AuthenticationType">
    <xs:sequence>
      <xs:element name="AuthenticationInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="System">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Network" />
                          <xs:enumeration value="Application" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="Username" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="DistinguishedName" minOccurs="0" nillable="true" type="xs:normalizedString" />
            <xs:element name="PasswordList" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Password" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:base64Binary">
                          <xs:attribute name="Algorithm" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="base64" />
                                <xs:enumeration value="MD5" />
                                <xs:enumeration value="SHA1" />
                                <xs:enumeration value="DES" />
                                <xs:enumeration value="TripleDES" />
                                <xs:enumeration value="RC2" />
                                <xs:enumeration value="AES" />
                                <xs:enumeration value="RSA" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                          <xs:attribute name="KeyName" use="required" type="xs:normalizedString" />
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentPersonal" />
          <xs:enumeration value="StaffPersonal" />
          <xs:enumeration value="StudentContact" />
          <xs:enumeration value="EmployeePersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="Authentication" type="sif:AuthenticationType" />

  <xs:simpleType name="InfrastructureStatusCodeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0" />
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureErrorCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="0" />
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureXMLValidationErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="6" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureEncryptionErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureAuthenticationErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
      <xs:enumeration value="10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureAccessAndPermissionErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureRegistrationErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="9" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureProvisionErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureSubscriptionErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureRequestAndResponseErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureEventReportingAndProcessingErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureTransportErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureSystemErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureGenericMessageHandlingErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureSMBErrorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SIF_LogEntrySuccessCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SIF_LogEntryDataIssuesWithSuccessResultType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SIF_LogEntryDataIssuesWithFailureResultType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SIF_LogEntryAgentErrorConditionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SIF_LogEntryZISErrorConditionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentPlacementOtherTypesOfTransportationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S101" />
      <xs:enumeration value="S102" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentPlacementTitleIServicesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S001" />
      <xs:enumeration value="S002" />
      <xs:enumeration value="S003" />
      <xs:enumeration value="S004" />
      <xs:enumeration value="S005" />
      <xs:enumeration value="S006" />
      <xs:enumeration value="S007" />
      <xs:enumeration value="S008" />
      <xs:enumeration value="S009" />
      <xs:enumeration value="S010" />
      <xs:enumeration value="S011" />
      <xs:enumeration value="S012" />
      <xs:enumeration value="S013" />
      <xs:enumeration value="S014" />
      <xs:enumeration value="S015" />
      <xs:enumeration value="S016" />
      <xs:enumeration value="S017" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestMaterialType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S101" />
      <xs:enumeration value="S102" />
      <xs:enumeration value="S103" />
      <xs:enumeration value="S104" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestAdministrationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S105" />
      <xs:enumeration value="S106" />
      <xs:enumeration value="S107" />
      <xs:enumeration value="S108" />
      <xs:enumeration value="S109" />
      <xs:enumeration value="S110" />
      <xs:enumeration value="S111" />
      <xs:enumeration value="S112" />
      <xs:enumeration value="S113" />
      <xs:enumeration value="S114" />
      <xs:enumeration value="S115" />
      <xs:enumeration value="S116" />
      <xs:enumeration value="S117" />
      <xs:enumeration value="S118" />
      <xs:enumeration value="S119" />
      <xs:enumeration value="S120" />
      <xs:enumeration value="S121" />
      <xs:enumeration value="S122" />
      <xs:enumeration value="S123" />
      <xs:enumeration value="S124" />
      <xs:enumeration value="S125" />
      <xs:enumeration value="S126" />
      <xs:enumeration value="S127" />
      <xs:enumeration value="S128" />
      <xs:enumeration value="S129" />
      <xs:enumeration value="S130" />
      <xs:enumeration value="S131" />
      <xs:enumeration value="S132" />
      <xs:enumeration value="S133" />
      <xs:enumeration value="S134" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationStudentEquipmentAndTechnologyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S135" />
      <xs:enumeration value="S136" />
      <xs:enumeration value="S137" />
      <xs:enumeration value="S138" />
      <xs:enumeration value="S139" />
      <xs:enumeration value="S140" />
      <xs:enumeration value="S141" />
      <xs:enumeration value="S142" />
      <xs:enumeration value="S143" />
      <xs:enumeration value="S144" />
      <xs:enumeration value="S145" />
      <xs:enumeration value="S146" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestResponseType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S147" />
      <xs:enumeration value="S148" />
      <xs:enumeration value="S149" />
      <xs:enumeration value="S150" />
      <xs:enumeration value="S151" />
      <xs:enumeration value="S152" />
      <xs:enumeration value="S153" />
      <xs:enumeration value="S154" />
      <xs:enumeration value="S155" />
      <xs:enumeration value="S156" />
      <xs:enumeration value="S157" />
      <xs:enumeration value="S158" />
      <xs:enumeration value="S159" />
      <xs:enumeration value="S160" />
      <xs:enumeration value="S161" />
      <xs:enumeration value="S162" />
      <xs:enumeration value="S163" />
      <xs:enumeration value="S164" />
      <xs:enumeration value="S165" />
      <xs:enumeration value="S166" />
      <xs:enumeration value="S167" />
      <xs:enumeration value="S168" />
      <xs:enumeration value="S169" />
      <xs:enumeration value="S170" />
      <xs:enumeration value="S171" />
      <xs:enumeration value="S172" />
      <xs:enumeration value="S173" />
      <xs:enumeration value="S174" />
      <xs:enumeration value="S175" />
      <xs:enumeration value="S176" />
      <xs:enumeration value="S177" />
      <xs:enumeration value="S178" />
      <xs:enumeration value="S179" />
      <xs:enumeration value="S180" />
      <xs:enumeration value="S181" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationSchedulingType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S182" />
      <xs:enumeration value="S183" />
      <xs:enumeration value="S184" />
      <xs:enumeration value="S185" />
      <xs:enumeration value="S186" />
      <xs:enumeration value="S187" />
      <xs:enumeration value="S188" />
      <xs:enumeration value="S189" />
      <xs:enumeration value="S190" />
      <xs:enumeration value="S191" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationSettingType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S192" />
      <xs:enumeration value="S193" />
      <xs:enumeration value="S194" />
      <xs:enumeration value="S195" />
      <xs:enumeration value="S196" />
      <xs:enumeration value="S197" />
      <xs:enumeration value="S198" />
      <xs:enumeration value="S199" />
      <xs:enumeration value="S200" />
      <xs:enumeration value="S201" />
      <xs:enumeration value="S202" />
      <xs:enumeration value="S203" />
      <xs:enumeration value="S204" />
      <xs:enumeration value="S205" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ISO31663CodeForFormerlyUsedNamesOfCountriesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AIDJ" />
      <xs:enumeration value="BQAQ" />
      <xs:enumeration value="BUMM" />
      <xs:enumeration value="CSHH" />
      <xs:enumeration value="CTKI" />
      <xs:enumeration value="DDDE" />
      <xs:enumeration value="DYBJ" />
      <xs:enumeration value="FQHH" />
      <xs:enumeration value="FXFR" />
      <xs:enumeration value="GEHH" />
      <xs:enumeration value="HVBF" />
      <xs:enumeration value="JTUM" />
      <xs:enumeration value="MIUM" />
      <xs:enumeration value="NHVU" />
      <xs:enumeration value="NQAQ" />
      <xs:enumeration value="NTHH" />
      <xs:enumeration value="PCHH" />
      <xs:enumeration value="PUUM" />
      <xs:enumeration value="PZPA" />
      <xs:enumeration value="RHZW" />
      <xs:enumeration value="SKIN" />
      <xs:enumeration value="SUHH" />
      <xs:enumeration value="TPTL" />
      <xs:enumeration value="VDVN" />
      <xs:enumeration value="WKUM" />
      <xs:enumeration value="YDYE" />
      <xs:enumeration value="YUCS" />
      <xs:enumeration value="ZRCD" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ISO31661EnglishCountryNamesAndCodeElementsType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AF" />
      <xs:enumeration value="AX" />
      <xs:enumeration value="AL" />
      <xs:enumeration value="DZ" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="AD" />
      <xs:enumeration value="AO" />
      <xs:enumeration value="AI" />
      <xs:enumeration value="AQ" />
      <xs:enumeration value="AG" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="AM" />
      <xs:enumeration value="AW" />
      <xs:enumeration value="AU" />
      <xs:enumeration value="AT" />
      <xs:enumeration value="AZ" />
      <xs:enumeration value="BS" />
      <xs:enumeration value="BH" />
      <xs:enumeration value="BD" />
      <xs:enumeration value="BB" />
      <xs:enumeration value="BY" />
      <xs:enumeration value="BE" />
      <xs:enumeration value="BZ" />
      <xs:enumeration value="BJ" />
      <xs:enumeration value="BM" />
      <xs:enumeration value="BT" />
      <xs:enumeration value="BO" />
      <xs:enumeration value="BA" />
      <xs:enumeration value="BW" />
      <xs:enumeration value="BV" />
      <xs:enumeration value="BR" />
      <xs:enumeration value="IO" />
      <xs:enumeration value="BN" />
      <xs:enumeration value="BG" />
      <xs:enumeration value="BF" />
      <xs:enumeration value="BI" />
      <xs:enumeration value="KH" />
      <xs:enumeration value="CM" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="CV" />
      <xs:enumeration value="KY" />
      <xs:enumeration value="CF" />
      <xs:enumeration value="TD" />
      <xs:enumeration value="CL" />
      <xs:enumeration value="CN" />
      <xs:enumeration value="CX" />
      <xs:enumeration value="CC" />
      <xs:enumeration value="CO" />
      <xs:enumeration value="KM" />
      <xs:enumeration value="CG" />
      <xs:enumeration value="CD" />
      <xs:enumeration value="CK" />
      <xs:enumeration value="CR" />
      <xs:enumeration value="CI" />
      <xs:enumeration value="HR" />
      <xs:enumeration value="CU" />
      <xs:enumeration value="CY" />
      <xs:enumeration value="CZ" />
      <xs:enumeration value="DK" />
      <xs:enumeration value="DJ" />
      <xs:enumeration value="DM" />
      <xs:enumeration value="DO" />
      <xs:enumeration value="EC" />
      <xs:enumeration value="EG" />
      <xs:enumeration value="SV" />
      <xs:enumeration value="GQ" />
      <xs:enumeration value="ER" />
      <xs:enumeration value="EE" />
      <xs:enumeration value="ET" />
      <xs:enumeration value="FK" />
      <xs:enumeration value="FO" />
      <xs:enumeration value="FJ" />
      <xs:enumeration value="FI" />
      <xs:enumeration value="FR" />
      <xs:enumeration value="GF" />
      <xs:enumeration value="PF" />
      <xs:enumeration value="TF" />
      <xs:enumeration value="GA" />
      <xs:enumeration value="GM" />
      <xs:enumeration value="GE" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="GH" />
      <xs:enumeration value="GI" />
      <xs:enumeration value="GR" />
      <xs:enumeration value="GL" />
      <xs:enumeration value="GD" />
      <xs:enumeration value="GP" />
      <xs:enumeration value="GU" />
      <xs:enumeration value="GT" />
      <xs:enumeration value="GG" />
      <xs:enumeration value="GN" />
      <xs:enumeration value="GW" />
      <xs:enumeration value="GY" />
      <xs:enumeration value="HT" />
      <xs:enumeration value="HM" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="HN" />
      <xs:enumeration value="HK" />
      <xs:enumeration value="HU" />
      <xs:enumeration value="IS" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="IR" />
      <xs:enumeration value="IQ" />
      <xs:enumeration value="IE" />
      <xs:enumeration value="IM" />
      <xs:enumeration value="IL" />
      <xs:enumeration value="IT" />
      <xs:enumeration value="JM" />
      <xs:enumeration value="JP" />
      <xs:enumeration value="JE" />
      <xs:enumeration value="JO" />
      <xs:enumeration value="KZ" />
      <xs:enumeration value="KE" />
      <xs:enumeration value="KI" />
      <xs:enumeration value="KP" />
      <xs:enumeration value="KR" />
      <xs:enumeration value="KW" />
      <xs:enumeration value="KG" />
      <xs:enumeration value="LA" />
      <xs:enumeration value="LV" />
      <xs:enumeration value="LB" />
      <xs:enumeration value="LS" />
      <xs:enumeration value="LR" />
      <xs:enumeration value="LY" />
      <xs:enumeration value="LI" />
      <xs:enumeration value="LT" />
      <xs:enumeration value="LU" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MK" />
      <xs:enumeration value="MG" />
      <xs:enumeration value="MW" />
      <xs:enumeration value="MY" />
      <xs:enumeration value="MV" />
      <xs:enumeration value="ML" />
      <xs:enumeration value="MT" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MQ" />
      <xs:enumeration value="MR" />
      <xs:enumeration value="MU" />
      <xs:enumeration value="YT" />
      <xs:enumeration value="MX" />
      <xs:enumeration value="FM" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="MC" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MA" />
      <xs:enumeration value="MZ" />
      <xs:enumeration value="MM" />
      <xs:enumeration value="NA" />
      <xs:enumeration value="NR" />
      <xs:enumeration value="NP" />
      <xs:enumeration value="NL" />
      <xs:enumeration value="AN" />
      <xs:enumeration value="NC" />
      <xs:enumeration value="NZ" />
      <xs:enumeration value="NI" />
      <xs:enumeration value="NE" />
      <xs:enumeration value="NG" />
      <xs:enumeration value="NU" />
      <xs:enumeration value="NF" />
      <xs:enumeration value="MP" />
      <xs:enumeration value="NO" />
      <xs:enumeration value="OM" />
      <xs:enumeration value="PK" />
      <xs:enumeration value="PW" />
      <xs:enumeration value="PS" />
      <xs:enumeration value="PA" />
      <xs:enumeration value="PG" />
      <xs:enumeration value="PY" />
      <xs:enumeration value="PE" />
      <xs:enumeration value="PH" />
      <xs:enumeration value="PN" />
      <xs:enumeration value="PL" />
      <xs:enumeration value="PT" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="QA" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="RO" />
      <xs:enumeration value="RU" />
      <xs:enumeration value="RW" />
      <xs:enumeration value="SH" />
      <xs:enumeration value="KN" />
      <xs:enumeration value="LC" />
      <xs:enumeration value="PM" />
      <xs:enumeration value="VC" />
      <xs:enumeration value="WS" />
      <xs:enumeration value="SM" />
      <xs:enumeration value="ST" />
      <xs:enumeration value="SA" />
      <xs:enumeration value="SN" />
      <xs:enumeration value="CS" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SL" />
      <xs:enumeration value="SG" />
      <xs:enumeration value="SK" />
      <xs:enumeration value="SI" />
      <xs:enumeration value="SB" />
      <xs:enumeration value="SO" />
      <xs:enumeration value="ZA" />
      <xs:enumeration value="GS" />
      <xs:enumeration value="ES" />
      <xs:enumeration value="LK" />
      <xs:enumeration value="SD" />
      <xs:enumeration value="SR" />
      <xs:enumeration value="SJ" />
      <xs:enumeration value="SZ" />
      <xs:enumeration value="SE" />
      <xs:enumeration value="CH" />
      <xs:enumeration value="SY" />
      <xs:enumeration value="TW" />
      <xs:enumeration value="TJ" />
      <xs:enumeration value="TZ" />
      <xs:enumeration value="TH" />
      <xs:enumeration value="TL" />
      <xs:enumeration value="TG" />
      <xs:enumeration value="TK" />
      <xs:enumeration value="TO" />
      <xs:enumeration value="TT" />
      <xs:enumeration value="TN" />
      <xs:enumeration value="TR" />
      <xs:enumeration value="TM" />
      <xs:enumeration value="TC" />
      <xs:enumeration value="TV" />
      <xs:enumeration value="UG" />
      <xs:enumeration value="UA" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="GB" />
      <xs:enumeration value="US" />
      <xs:enumeration value="UM" />
      <xs:enumeration value="UY" />
      <xs:enumeration value="UZ" />
      <xs:enumeration value="VU" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="VE" />
      <xs:enumeration value="VN" />
      <xs:enumeration value="VG" />
      <xs:enumeration value="VI" />
      <xs:enumeration value="WF" />
      <xs:enumeration value="EH" />
      <xs:enumeration value="YE" />
      <xs:enumeration value="CD" />
      <xs:enumeration value="ZM" />
      <xs:enumeration value="ZW" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ISO4217CurrencyNamesAndCodeElementsType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AED" />
      <xs:enumeration value="AFN" />
      <xs:enumeration value="ALL" />
      <xs:enumeration value="AMD" />
      <xs:enumeration value="ANG" />
      <xs:enumeration value="AOA" />
      <xs:enumeration value="ARS" />
      <xs:enumeration value="AUD" />
      <xs:enumeration value="AWG" />
      <xs:enumeration value="AZN" />
      <xs:enumeration value="BAM" />
      <xs:enumeration value="BBD" />
      <xs:enumeration value="BDT" />
      <xs:enumeration value="BGN" />
      <xs:enumeration value="BHD" />
      <xs:enumeration value="BIF" />
      <xs:enumeration value="BMD" />
      <xs:enumeration value="BND" />
      <xs:enumeration value="BOB" />
      <xs:enumeration value="BOV" />
      <xs:enumeration value="BRL" />
      <xs:enumeration value="BSD" />
      <xs:enumeration value="BTN" />
      <xs:enumeration value="BWP" />
      <xs:enumeration value="BYR" />
      <xs:enumeration value="BZD" />
      <xs:enumeration value="CAD" />
      <xs:enumeration value="CDF" />
      <xs:enumeration value="CHE" />
      <xs:enumeration value="CHF" />
      <xs:enumeration value="CHW" />
      <xs:enumeration value="CLF" />
      <xs:enumeration value="CLP" />
      <xs:enumeration value="CNY" />
      <xs:enumeration value="COP" />
      <xs:enumeration value="COU" />
      <xs:enumeration value="CRC" />
      <xs:enumeration value="CSD" />
      <xs:enumeration value="CUP" />
      <xs:enumeration value="CVE" />
      <xs:enumeration value="CYP" />
      <xs:enumeration value="CZK" />
      <xs:enumeration value="DJF" />
      <xs:enumeration value="DKK" />
      <xs:enumeration value="DOP" />
      <xs:enumeration value="DZD" />
      <xs:enumeration value="EEK" />
      <xs:enumeration value="EGP" />
      <xs:enumeration value="ERN" />
      <xs:enumeration value="ETB" />
      <xs:enumeration value="EUR" />
      <xs:enumeration value="FJD" />
      <xs:enumeration value="FKP" />
      <xs:enumeration value="GBP" />
      <xs:enumeration value="GEL" />
      <xs:enumeration value="GHC" />
      <xs:enumeration value="GIP" />
      <xs:enumeration value="GMD" />
      <xs:enumeration value="GNF" />
      <xs:enumeration value="GTQ" />
      <xs:enumeration value="GWP" />
      <xs:enumeration value="GYD" />
      <xs:enumeration value="HKD" />
      <xs:enumeration value="HNL" />
      <xs:enumeration value="HRK" />
      <xs:enumeration value="HTG" />
      <xs:enumeration value="HUF" />
      <xs:enumeration value="IDR" />
      <xs:enumeration value="ILS" />
      <xs:enumeration value="INR" />
      <xs:enumeration value="IQD" />
      <xs:enumeration value="IRR" />
      <xs:enumeration value="ISK" />
      <xs:enumeration value="JMD" />
      <xs:enumeration value="JOD" />
      <xs:enumeration value="JPY" />
      <xs:enumeration value="KES" />
      <xs:enumeration value="KGS" />
      <xs:enumeration value="KHR" />
      <xs:enumeration value="KMF" />
      <xs:enumeration value="KPW" />
      <xs:enumeration value="KRW" />
      <xs:enumeration value="KWD" />
      <xs:enumeration value="KYD" />
      <xs:enumeration value="KZT" />
      <xs:enumeration value="LAK" />
      <xs:enumeration value="LBP" />
      <xs:enumeration value="LKR" />
      <xs:enumeration value="LRD" />
      <xs:enumeration value="LSL" />
      <xs:enumeration value="LTL" />
      <xs:enumeration value="LVL" />
      <xs:enumeration value="LYD" />
      <xs:enumeration value="MAD" />
      <xs:enumeration value="MDL" />
      <xs:enumeration value="MGA" />
      <xs:enumeration value="MKD" />
      <xs:enumeration value="MMK" />
      <xs:enumeration value="MNT" />
      <xs:enumeration value="MOP" />
      <xs:enumeration value="MRO" />
      <xs:enumeration value="MTL" />
      <xs:enumeration value="MUR" />
      <xs:enumeration value="MVR" />
      <xs:enumeration value="MWK" />
      <xs:enumeration value="MXN" />
      <xs:enumeration value="MXV" />
      <xs:enumeration value="MYR" />
      <xs:enumeration value="MZN" />
      <xs:enumeration value="NAD" />
      <xs:enumeration value="NGN" />
      <xs:enumeration value="NIO" />
      <xs:enumeration value="NOK" />
      <xs:enumeration value="NPR" />
      <xs:enumeration value="NZD" />
      <xs:enumeration value="OMR" />
      <xs:enumeration value="PAB" />
      <xs:enumeration value="PEN" />
      <xs:enumeration value="PGK" />
      <xs:enumeration value="PHP" />
      <xs:enumeration value="PKR" />
      <xs:enumeration value="PLN" />
      <xs:enumeration value="PYG" />
      <xs:enumeration value="QAR" />
      <xs:enumeration value="ROL" />
      <xs:enumeration value="RON" />
      <xs:enumeration value="RUB" />
      <xs:enumeration value="RWF" />
      <xs:enumeration value="SAR" />
      <xs:enumeration value="SBD" />
      <xs:enumeration value="SCR" />
      <xs:enumeration value="SDD" />
      <xs:enumeration value="SEK" />
      <xs:enumeration value="SGD" />
      <xs:enumeration value="SHP" />
      <xs:enumeration value="SIT" />
      <xs:enumeration value="SKK" />
      <xs:enumeration value="SLL" />
      <xs:enumeration value="SOS" />
      <xs:enumeration value="SRD" />
      <xs:enumeration value="STD" />
      <xs:enumeration value="SVC" />
      <xs:enumeration value="SYP" />
      <xs:enumeration value="SZL" />
      <xs:enumeration value="THB" />
      <xs:enumeration value="TJS" />
      <xs:enumeration value="TMM" />
      <xs:enumeration value="TND" />
      <xs:enumeration value="TOP" />
      <xs:enumeration value="TRY" />
      <xs:enumeration value="TTD" />
      <xs:enumeration value="TWD" />
      <xs:enumeration value="TZS" />
      <xs:enumeration value="UAH" />
      <xs:enumeration value="UGX" />
      <xs:enumeration value="USD" />
      <xs:enumeration value="USN" />
      <xs:enumeration value="USS" />
      <xs:enumeration value="UYU" />
      <xs:enumeration value="UZS" />
      <xs:enumeration value="VEB" />
      <xs:enumeration value="VND" />
      <xs:enumeration value="VUV" />
      <xs:enumeration value="WST" />
      <xs:enumeration value="XAF" />
      <xs:enumeration value="XAG" />
      <xs:enumeration value="XAU" />
      <xs:enumeration value="XBA" />
      <xs:enumeration value="XBB" />
      <xs:enumeration value="XBC" />
      <xs:enumeration value="XBD" />
      <xs:enumeration value="XCD" />
      <xs:enumeration value="XDR" />
      <xs:enumeration value="XFO" />
      <xs:enumeration value="XFU" />
      <xs:enumeration value="XOF" />
      <xs:enumeration value="XPD" />
      <xs:enumeration value="XPF" />
      <xs:enumeration value="XPT" />
      <xs:enumeration value="XTS" />
      <xs:enumeration value="XXX" />
      <xs:enumeration value="YER" />
      <xs:enumeration value="ZAR" />
      <xs:enumeration value="ZMK" />
      <xs:enumeration value="ZWN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SCEDSecondaryCoursesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
      <xs:enumeration value="16" />
      <xs:enumeration value="17" />
      <xs:enumeration value="18" />
      <xs:enumeration value="19" />
      <xs:enumeration value="20" />
      <xs:enumeration value="21" />
      <xs:enumeration value="22" />
      <xs:enumeration value="23" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SCEDNonSecondaryCoursesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="51" />
      <xs:enumeration value="52" />
      <xs:enumeration value="53" />
      <xs:enumeration value="54" />
      <xs:enumeration value="55" />
      <xs:enumeration value="56" />
      <xs:enumeration value="57" />
      <xs:enumeration value="58" />
      <xs:enumeration value="59" />
      <xs:enumeration value="60" />
      <xs:enumeration value="61" />
      <xs:enumeration value="62" />
      <xs:enumeration value="63" />
      <xs:enumeration value="64" />
      <xs:enumeration value="65" />
      <xs:enumeration value="66" />
      <xs:enumeration value="67" />
      <xs:enumeration value="68" />
      <xs:enumeration value="69" />
      <xs:enumeration value="70" />
      <xs:enumeration value="71" />
      <xs:enumeration value="72" />
      <xs:enumeration value="73" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="USPSAbbreviationsType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AL" />
      <xs:enumeration value="AK" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="AZ" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="CO" />
      <xs:enumeration value="CT" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="DC" />
      <xs:enumeration value="FM" />
      <xs:enumeration value="FL" />
      <xs:enumeration value="GA" />
      <xs:enumeration value="GU" />
      <xs:enumeration value="HI" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="IL" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="IA" />
      <xs:enumeration value="KS" />
      <xs:enumeration value="KY" />
      <xs:enumeration value="LA" />
      <xs:enumeration value="ME" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="MA" />
      <xs:enumeration value="MI" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MT" />
      <xs:enumeration value="NE" />
      <xs:enumeration value="NV" />
      <xs:enumeration value="NH" />
      <xs:enumeration value="NJ" />
      <xs:enumeration value="NM" />
      <xs:enumeration value="NY" />
      <xs:enumeration value="NC" />
      <xs:enumeration value="ND" />
      <xs:enumeration value="MP" />
      <xs:enumeration value="OH" />
      <xs:enumeration value="OK" />
      <xs:enumeration value="OR" />
      <xs:enumeration value="PW" />
      <xs:enumeration value="PA" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="RI" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SD" />
      <xs:enumeration value="TN" />
      <xs:enumeration value="TX" />
      <xs:enumeration value="UT" />
      <xs:enumeration value="VT" />
      <xs:enumeration value="VI" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="WA" />
      <xs:enumeration value="WV" />
      <xs:enumeration value="WI" />
      <xs:enumeration value="WY" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AA" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AP" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NISOZ3953LanguageCodesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACE" />
      <xs:enumeration value="ACH" />
      <xs:enumeration value="ADA" />
      <xs:enumeration value="AFA" />
      <xs:enumeration value="AFH" />
      <xs:enumeration value="AFR" />
      <xs:enumeration value="AJM" />
      <xs:enumeration value="AKK" />
      <xs:enumeration value="ALB" />
      <xs:enumeration value="ALE" />
      <xs:enumeration value="ALG" />
      <xs:enumeration value="AMH" />
      <xs:enumeration value="ANG" />
      <xs:enumeration value="APA" />
      <xs:enumeration value="ARA" />
      <xs:enumeration value="ARC" />
      <xs:enumeration value="ARM" />
      <xs:enumeration value="ARN" />
      <xs:enumeration value="ARP" />
      <xs:enumeration value="ART" />
      <xs:enumeration value="ARW" />
      <xs:enumeration value="ASM" />
      <xs:enumeration value="ATH" />
      <xs:enumeration value="AVA" />
      <xs:enumeration value="AVE" />
      <xs:enumeration value="AWA" />
      <xs:enumeration value="AYM" />
      <xs:enumeration value="AZE" />
      <xs:enumeration value="BAD" />
      <xs:enumeration value="BAI" />
      <xs:enumeration value="BAK" />
      <xs:enumeration value="BAL" />
      <xs:enumeration value="BAM" />
      <xs:enumeration value="BAN" />
      <xs:enumeration value="BAQ" />
      <xs:enumeration value="BAS" />
      <xs:enumeration value="BAT" />
      <xs:enumeration value="BEJ" />
      <xs:enumeration value="BEL" />
      <xs:enumeration value="BEM" />
      <xs:enumeration value="BEN" />
      <xs:enumeration value="BER" />
      <xs:enumeration value="BHO" />
      <xs:enumeration value="BIK" />
      <xs:enumeration value="BIN" />
      <xs:enumeration value="BLA" />
      <xs:enumeration value="BRA" />
      <xs:enumeration value="BRE" />
      <xs:enumeration value="BUG" />
      <xs:enumeration value="BUL" />
      <xs:enumeration value="BUR" />
      <xs:enumeration value="CAD" />
      <xs:enumeration value="CAI" />
      <xs:enumeration value="CAM" />
      <xs:enumeration value="CAR" />
      <xs:enumeration value="CAT" />
      <xs:enumeration value="CAU" />
      <xs:enumeration value="CEB" />
      <xs:enumeration value="CEL" />
      <xs:enumeration value="CHA" />
      <xs:enumeration value="CHB" />
      <xs:enumeration value="CHE" />
      <xs:enumeration value="CHG" />
      <xs:enumeration value="CHI" />
      <xs:enumeration value="CHN" />
      <xs:enumeration value="CHO" />
      <xs:enumeration value="CHR" />
      <xs:enumeration value="CHU" />
      <xs:enumeration value="CHV" />
      <xs:enumeration value="CHY" />
      <xs:enumeration value="COP" />
      <xs:enumeration value="COR" />
      <xs:enumeration value="CPE" />
      <xs:enumeration value="CPF" />
      <xs:enumeration value="CPP" />
      <xs:enumeration value="CRE" />
      <xs:enumeration value="CRP" />
      <xs:enumeration value="CUS" />
      <xs:enumeration value="CZE" />
      <xs:enumeration value="DAK" />
      <xs:enumeration value="DAN" />
      <xs:enumeration value="DEL" />
      <xs:enumeration value="DIN" />
      <xs:enumeration value="DOI" />
      <xs:enumeration value="DRA" />
      <xs:enumeration value="DUA" />
      <xs:enumeration value="DUM" />
      <xs:enumeration value="DUT" />
      <xs:enumeration value="DYU" />
      <xs:enumeration value="EFI" />
      <xs:enumeration value="EGY" />
      <xs:enumeration value="EKA" />
      <xs:enumeration value="ELX" />
      <xs:enumeration value="ENG" />
      <xs:enumeration value="ENM" />
      <xs:enumeration value="ESK" />
      <xs:enumeration value="ESP" />
      <xs:enumeration value="EST" />
      <xs:enumeration value="ETH" />
      <xs:enumeration value="EWE" />
      <xs:enumeration value="EWO" />
      <xs:enumeration value="FAN" />
      <xs:enumeration value="FAR" />
      <xs:enumeration value="FAT" />
      <xs:enumeration value="FIJ" />
      <xs:enumeration value="FIN" />
      <xs:enumeration value="FIU" />
      <xs:enumeration value="FON" />
      <xs:enumeration value="FRE" />
      <xs:enumeration value="FRI" />
      <xs:enumeration value="FRM" />
      <xs:enumeration value="FRO" />
      <xs:enumeration value="FUL" />
      <xs:enumeration value="GAA" />
      <xs:enumeration value="GAE" />
      <xs:enumeration value="GAG" />
      <xs:enumeration value="GAL" />
      <xs:enumeration value="GAY" />
      <xs:enumeration value="GEM" />
      <xs:enumeration value="GEO" />
      <xs:enumeration value="GER" />
      <xs:enumeration value="GIL" />
      <xs:enumeration value="GMH" />
      <xs:enumeration value="GOH" />
      <xs:enumeration value="GON" />
      <xs:enumeration value="GOT" />
      <xs:enumeration value="GRB" />
      <xs:enumeration value="GRC" />
      <xs:enumeration value="GRE" />
      <xs:enumeration value="GUA" />
      <xs:enumeration value="GUJ" />
      <xs:enumeration value="HAI" />
      <xs:enumeration value="HAU" />
      <xs:enumeration value="HAW" />
      <xs:enumeration value="HEB" />
      <xs:enumeration value="HER" />
      <xs:enumeration value="HIL" />
      <xs:enumeration value="HIM" />
      <xs:enumeration value="HIN" />
      <xs:enumeration value="HMO" />
      <xs:enumeration value="HUN" />
      <xs:enumeration value="HUP" />
      <xs:enumeration value="IBA" />
      <xs:enumeration value="IBO" />
      <xs:enumeration value="ICE" />
      <xs:enumeration value="IJO" />
      <xs:enumeration value="ILO" />
      <xs:enumeration value="INC" />
      <xs:enumeration value="IND" />
      <xs:enumeration value="INE" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="IRA" />
      <xs:enumeration value="IRI" />
      <xs:enumeration value="IRO" />
      <xs:enumeration value="ITA" />
      <xs:enumeration value="JAV" />
      <xs:enumeration value="JPN" />
      <xs:enumeration value="JPR" />
      <xs:enumeration value="JRB" />
      <xs:enumeration value="KAA" />
      <xs:enumeration value="KAB" />
      <xs:enumeration value="KAC" />
      <xs:enumeration value="KAM" />
      <xs:enumeration value="KAN" />
      <xs:enumeration value="KAR" />
      <xs:enumeration value="KAS" />
      <xs:enumeration value="KAU" />
      <xs:enumeration value="KAW" />
      <xs:enumeration value="KAZ" />
      <xs:enumeration value="KHA" />
      <xs:enumeration value="KHI" />
      <xs:enumeration value="KHO" />
      <xs:enumeration value="KIK" />
      <xs:enumeration value="KIN" />
      <xs:enumeration value="KIR" />
      <xs:enumeration value="KOK" />
      <xs:enumeration value="KON" />
      <xs:enumeration value="KOR" />
      <xs:enumeration value="KPE" />
      <xs:enumeration value="KRO" />
      <xs:enumeration value="KRU" />
      <xs:enumeration value="KUA" />
      <xs:enumeration value="KUR" />
      <xs:enumeration value="KUS" />
      <xs:enumeration value="KUT" />
      <xs:enumeration value="LAD" />
      <xs:enumeration value="LAH" />
      <xs:enumeration value="LAM" />
      <xs:enumeration value="LAN" />
      <xs:enumeration value="LAO" />
      <xs:enumeration value="LAP" />
      <xs:enumeration value="LAT" />
      <xs:enumeration value="LAV" />
      <xs:enumeration value="LIN" />
      <xs:enumeration value="LIT" />
      <xs:enumeration value="LOL" />
      <xs:enumeration value="LOZ" />
      <xs:enumeration value="LUB" />
      <xs:enumeration value="LUG" />
      <xs:enumeration value="LUI" />
      <xs:enumeration value="LUN" />
      <xs:enumeration value="LUO" />
      <xs:enumeration value="MAC" />
      <xs:enumeration value="MAD" />
      <xs:enumeration value="MAG" />
      <xs:enumeration value="MAH" />
      <xs:enumeration value="MAI" />
      <xs:enumeration value="MAK" />
      <xs:enumeration value="MAL" />
      <xs:enumeration value="MAN" />
      <xs:enumeration value="MAO" />
      <xs:enumeration value="MAP" />
      <xs:enumeration value="MAR" />
      <xs:enumeration value="MAS" />
      <xs:enumeration value="MAX" />
      <xs:enumeration value="MAY" />
      <xs:enumeration value="MEN" />
      <xs:enumeration value="MIC" />
      <xs:enumeration value="MIN" />
      <xs:enumeration value="MIS" />
      <xs:enumeration value="MKH" />
      <xs:enumeration value="MLA" />
      <xs:enumeration value="MLT" />
      <xs:enumeration value="MNI" />
      <xs:enumeration value="MNO" />
      <xs:enumeration value="MOH" />
      <xs:enumeration value="MOL" />
      <xs:enumeration value="MON" />
      <xs:enumeration value="MOS" />
      <xs:enumeration value="MUL" />
      <xs:enumeration value="MUN" />
      <xs:enumeration value="MUS" />
      <xs:enumeration value="MWR" />
      <xs:enumeration value="MYN" />
      <xs:enumeration value="NAH" />
      <xs:enumeration value="NAI" />
      <xs:enumeration value="NAV" />
      <xs:enumeration value="NDE" />
      <xs:enumeration value="NDO" />
      <xs:enumeration value="NEP" />
      <xs:enumeration value="NEW" />
      <xs:enumeration value="NIC" />
      <xs:enumeration value="NIU" />
      <xs:enumeration value="NOR" />
      <xs:enumeration value="NSO" />
      <xs:enumeration value="NUB" />
      <xs:enumeration value="NYA" />
      <xs:enumeration value="NYM" />
      <xs:enumeration value="NYN" />
      <xs:enumeration value="NYO" />
      <xs:enumeration value="NZI" />
      <xs:enumeration value="OJI" />
      <xs:enumeration value="ORI" />
      <xs:enumeration value="OSA" />
      <xs:enumeration value="OSS" />
      <xs:enumeration value="OTA" />
      <xs:enumeration value="OTO" />
      <xs:enumeration value="PAA" />
      <xs:enumeration value="PAG" />
      <xs:enumeration value="PAL" />
      <xs:enumeration value="PAM" />
      <xs:enumeration value="PAN" />
      <xs:enumeration value="PAP" />
      <xs:enumeration value="PAU" />
      <xs:enumeration value="PEO" />
      <xs:enumeration value="PER" />
      <xs:enumeration value="PLI" />
      <xs:enumeration value="POL" />
      <xs:enumeration value="PON" />
      <xs:enumeration value="POR" />
      <xs:enumeration value="PRA" />
      <xs:enumeration value="PRO" />
      <xs:enumeration value="PUS" />
      <xs:enumeration value="QUE" />
      <xs:enumeration value="RAJ" />
      <xs:enumeration value="RAR" />
      <xs:enumeration value="ROA" />
      <xs:enumeration value="ROH" />
      <xs:enumeration value="ROM" />
      <xs:enumeration value="RUM" />
      <xs:enumeration value="RUN" />
      <xs:enumeration value="RUS" />
      <xs:enumeration value="SAD" />
      <xs:enumeration value="SAG" />
      <xs:enumeration value="SAI" />
      <xs:enumeration value="SAL" />
      <xs:enumeration value="SAM" />
      <xs:enumeration value="SAN" />
      <xs:enumeration value="SAO" />
      <xs:enumeration value="SCC" />
      <xs:enumeration value="SCO" />
      <xs:enumeration value="SCR" />
      <xs:enumeration value="SEL" />
      <xs:enumeration value="SEM" />
      <xs:enumeration value="SHN" />
      <xs:enumeration value="SHO" />
      <xs:enumeration value="SID" />
      <xs:enumeration value="SIO" />
      <xs:enumeration value="SIT" />
      <xs:enumeration value="SLA" />
      <xs:enumeration value="SLO" />
      <xs:enumeration value="SLV" />
      <xs:enumeration value="SND" />
      <xs:enumeration value="SNH" />
      <xs:enumeration value="SOM" />
      <xs:enumeration value="SON" />
      <xs:enumeration value="SPA" />
      <xs:enumeration value="SRR" />
      <xs:enumeration value="SSO" />
      <xs:enumeration value="SUK" />
      <xs:enumeration value="SUN" />
      <xs:enumeration value="SUS" />
      <xs:enumeration value="SUX" />
      <xs:enumeration value="SWA" />
      <xs:enumeration value="SWZ" />
      <xs:enumeration value="SYR" />
      <xs:enumeration value="TAG" />
      <xs:enumeration value="TAH" />
      <xs:enumeration value="TAJ" />
      <xs:enumeration value="TAM" />
      <xs:enumeration value="TAR" />
      <xs:enumeration value="TEL" />
      <xs:enumeration value="TEM" 