<!--
		SIF Implementation Specification (Australia) 3.4.3


		(April 5, 2018)
		
		Infrastructure Version: v3
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/au/3.4" targetNamespace="http://www.sifassociation.org/datamodel/au/3.4" elementFormDefault="qualified" version="3.4.3">
  <xs:complexType name="CopyRightContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Copyright for document.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Copyright date</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Holder" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Name of the copyright holder</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardsSettingBodyType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The name of the state or organization that authored and manages updates to the curriculum document (i.e., ACARA, NSW DET).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Country" minOccurs="0" nillable="true" type="CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The country of the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="StateProvinceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The state or province of the standard setting body. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SettingBodyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The text version of the organization's name.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardHierarchyLevelType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Description of hierarchical level within standards tree.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Integer assigned to each hierarchical level within standards tree. The top level is "1".</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Used to describe what role this item is serving in the structure. Some documents describe their levels in terms of standard, strands, and topics. Others use standards, benchmarks, and indicators. In Australia, this is typically in terms of Course or Unit, Year Level, Outcomes. This attribute names the level of the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardIdentifierType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element describes the unique identifier for each LearningStandard.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="YearCreated" minOccurs="0" type="xs:gYear">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This represents the year that this specific learning standard was created.  This is important to indicate as standards are updated to reflect the appropriate year it was created. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ACStrandSubjectArea" minOccurs="0" type="ACStrandSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This represents the subject or content area this curriculum item addresses. This would be assigned by and unique to the curriculum setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StandardNumber" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the specific number of the standard.  For example, if the subject is mathematics and this standard is Patterns, Functions and Algebra, this would be StandardNumber 1. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevels" minOccurs="0" type="YearLevelsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This represents the grade level(s) this specific learning standard will address. This may be addressed in different ways.  Some states have a grade level that covers several grades and others have just one grade. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Benchmark" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the next level within the hierarchy of the learning standard.  For example, if the subject is mathematics and the standard is algebra, this would be the next delineation - Represent an unknown quantity as a variable using a symbol, including letters. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the specific year level.  This is to be utilized if the YearLevel covers several years. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IndicatorNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This would be the most granular level of the learning standard associated with the grade level. Following the same example, an indicator for Algebra YearLevel 5-7, the indicator for the benchmark above at Year 6 would be to Evaluate simple expressions by replacing variables with given values, and use formulas in problem-solving situations. This would be assigned by and unique to the standard setting body.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AlternateIdentificationCodes" minOccurs="0" nillable="true" type="AlternateIdentificationCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element is for an organization to utilize for an internal code.  This may be used for an alignment schema or other purposes that are only internal for the organization.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Organization" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of organization represented by the document, i.e., "National Council of Teachers of Mathematics (NCTM)," "NSW," "ACARA." This is the name of the organization that has this AlternateIdentificationCode. This should be a text field.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlternateIdentificationCodeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of elements for an organization to utilize for an internal code.  This may be used for an alignment schema or other purposes that are only internal for the organization.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AlternateIdentificationCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An alphanumeric Id code as defined by the organization to identify a statement.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardItemRefIdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for external relationships.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="RelatedLearningStandardItemRefIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A relationship between the current standard item and another standard item.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardItemRefIdType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A relationship between the current standard item and another standard item.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="IdRefTypeOrEmpty">
        <xs:attribute name="RelationshipType" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Type of the relationship between the current standard and the target standard.  The value identifies the type of standard of the target item. The purpose of this information is to allow applications to sort/display these relationships in the appropriate context.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:union>
              <xs:simpleType>
                <xs:restriction base="AUCodeSetsLearningStandardItemRelationshipTypesType" />
              </xs:simpleType>
              <xs:simpleType>
                <xs:restriction base="xs:token" />
              </xs:simpleType>
            </xs:union>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ValidLetterMarkListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of valid Letter Marks</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ValidLetterMark" minOccurs="0" maxOccurs="unbounded" type="ValidLetterMarkType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Definition of a valid Letter Mark.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ValidLetterMarkType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Definition of a valid Letter Mark</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>String representing the actual Mark that would appear on the report card (e.g., "A+", "I", "100").</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Numeric equivalent for the Mark (e.g., 100, 4.0).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The description for this code. (e.g. "Excellent", "Participates in Class", "Incomplete", etc...).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentGradeMarkersListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of staff members who were involved with the grading of the student, or who were responsible for any associated teacher judgement/s.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Marker" minOccurs="0" maxOccurs="unbounded" type="MarkerType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MarkerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A staff member, (or members), who were involved with the grading of the student, or who was responsible for any associated teacher judgement and their associated role.  Must be a current member of staff.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The RefId of the staff member involved in the marking.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The role the staff member played in grading the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GradingScoreListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Assignments that the student went through to achieve this summative assessment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GradingAssignmentScore" minOccurs="0" maxOccurs="unbounded" type="AssignmentScoreType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>AssignmentScore.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssignmentScoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GradingAssignmentScoreRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID of a Grading assignment score included in this grade.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weight of the assignment to the overall assessment grade.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GradeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Overall Student Grade. At least one numeric, percentage or letter must be provided as defined in the fields below.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Percentage" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>C</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The grade percentage for this grade (0.00-100.00).</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="0.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="100.00" 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:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The raw numeric value for this grade.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The letter grade value for this grade. If this is provided, the numeric value or percentage value must also be entered in order to provide a numeric value for the grade to be utilized in any computations.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The free form text narrative for this grade.  Can incorporate teacher judgement.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MarkInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID of a the MarkInfo Object that provides information about this grading.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>References to LearningStandardItems.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandard" minOccurs="0" maxOccurs="unbounded" type="LearningStandardType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Reference to a LearningStandardType.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID of a LearningStandardItem object, presenting the learning standard as part of a well-defined hierarchy (which a client would need to recover and reconstruct).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LearningStandardURL" minOccurs="0" nillable="true" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>URL allocated to the learning standard (e.g. in the Machine Readable Australian Curriculum).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LearningStandardLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssignmentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GradingAssignmentRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID that identifies the GradingAssignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GenericRubricType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RubricType" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category that rubric is scoring for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreList" minOccurs="0" type="ScoreListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category that rubric is scoring for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Descriptor" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Descriptor of Score Point of the Rubric.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Medications.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Medication" minOccurs="0" maxOccurs="unbounded" type="MedicationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MedicationName" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of medication required for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Dosage" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Dosage and strength of medication required for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Frequency" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Frequency of Administration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdministrationInformation" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Information about how the medication is to be administered.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Method of administration.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Categories of WellbeingEvent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingEventCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Category of event.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EventCategory" minOccurs="0">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category of event.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="AUCodeSetsEventCategoryType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="WellbeingEventSubCategoryList" minOccurs="0" nillable="true" type="WellbeingEventSubCategoryListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of sub-categories of the WellbeingEvent. Most likely to be locally defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventSubCategoryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of SubTypes associated with a Category.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingEventSubCategory" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="AUCodeSetsEventSubCategoryType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventLocationDetailsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for the location details of a WellbeingEvent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EventLocation" minOccurs="0" type="AUCodeSetsWellbeingEventLocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Categorisation of location of Wellbeing event.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Class" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>If the event happened during a class, - Subject or Class the event occurred in. Free text for additional info if required.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FurtherLocationNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>More information if required about the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Actions where an action resulted and is known – maybe just a link to a WellbeingResponse Object</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="FollowUpAction" minOccurs="0" maxOccurs="unbounded" type="FollowUpActionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Follow Up Action.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingResponseRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The RefId of a WellbeingResponse Object if it exists.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FollowUpDetails" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional free text to outline follow up.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FollowUpActionCategory" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category of Action - typing locally defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of People involved in the Wellbeing event/response.  Mandatory if more people than the student to which this event/response occurs is involved.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonInvolvement" minOccurs="0" maxOccurs="unbounded" type="PersonInvolvementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A person (additional to the student) involved in a  Wellbeing event/response where required to be known.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonRefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>The RefId of the Person involved in the event, can be supplied if the Person is already a staff, student or student contact. </xs:documentation>
          </xs:annotation>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>
        The type of SIF object that the PersonRefId attribute identifies.
      </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StudentPersonal" />
                    <xs:enumeration value="StaffPersonal" />
                    <xs:enumeration value="StudentContactPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ShortName" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional free text name for a person, usually only used where the person does not have a personal record with a RefId.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HowInvolved" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional free text detailing involvement.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalTimeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Where a student is to be removed or withdrawn partially for particular times in a week within the Start and End dates of the Response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Withdrawal" minOccurs="0" maxOccurs="unbounded" type="WithdrawalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Withdrawal.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WithdrawalDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalStartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Start time of the Withdrawal on that day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalEndTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>End time of the Withdrawal on that day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of an associated TimeTableSubject Object if there is one.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScheduledActivityRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of an associated ScheduledActivity Object if there is one.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of an associated TimeTableCell Object if there is one.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SuspensionContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of a Removal/Suspension.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SuspensionCategory" minOccurs="0" type="AUCodeSetsSuspensionCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Categorisation of a Suspension record to fall into, In School, Withdrawal, Expulsion/Exclusion etc.  In School is usually NOT formally recognised by a jurisdiction but managed at a school level where the student is temporarily withdrawn from normal classes. Expulsion/Exclusion may mean the student’s attendance at a school is terminated.
		  </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalTimeList" minOccurs="0" nillable="true" type="WithdrawalTimeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The duration of a Suspension in days 0.00 – X.xx.  (Half Day = 0.5, Full Day = 1.0 or the percentage of any day.)  Must be provided for a Suspension when known.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdvisementDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date parent/carers were officially notified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResolutionMeetingTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time at which a meeting with the student’s parents/carers was held to resolve the Suspension.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResolutionNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Comments about how the Suspension has been resolved, including any reparative actions the student needs to take.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EarlyReturnDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date at which the student was permitted to return to school earlier than the agreed duration would have allowed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Current Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DetentionContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of a Detention.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DetentionCategory" minOccurs="0" type="AUCodeSetsDetentionCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Categorisation of a Detention.
		  </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionLocation" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Eventually to be typed for initial draft will be string to try and determine a valid code set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any notes that can be provided regarding the need/response that led to the detention.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Current Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlanRequiredContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for Information outlining details of a possible Plan.  A Personalised Plan will be referenced by a separate Object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PlanRequiredList" minOccurs="0" nillable="true" type="PlanRequiredListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Current Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlanRequiredListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List to contain information of any plans that may eventuate.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Plan" minOccurs="0" maxOccurs="unbounded" type="WellbeingPlanType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingPlanType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Plan information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonalisedPlanRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of a PersonalisedPlan Object if it exists and it can be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PlanNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any notes that can be provided regarding the need that led to the plan.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AwardContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of an Award, where this response was in relation to a particular Award.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AwardDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date when to be awarded.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardType" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardDescription" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any comments/notes associated with the Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Current Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherWellbeingResponseContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of any other response that can not be classified by previous types.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OtherResponseDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date of the other response</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherResponseType" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherResponseDescription" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the other response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherResponseNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any comments/notes associated with the other response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Current Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingDocumentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List which describes the Location of any associated documents kept in relation. These include evidentiary documents, and action plans.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Document" minOccurs="0" maxOccurs="unbounded" type="WellbeingDocumentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingDocumentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable information of the location of any associated documents kept in relation. These include evidentiary documents, and action plans.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Location of Documentation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Sensitivity" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Sensitivity of Document to give an indication of the audience who should have access.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="URL" minOccurs="0" nillable="true" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>URL if known.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentType" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of Document – could be a ‘Plan’.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentReviewDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Document Review Date.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>What the document is and how it is related to the Student's Wellbeing.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItemContentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contents of a Test Item in the context of NAP.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestItemLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier of NAP test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemName" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of NAP test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemType" minOccurs="0" type="AUCodeSetsNAPTestItemTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Response type for the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Subdomain" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subdomain descriptor for the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WritingGenre" minOccurs="0" nillable="true" type="AUCodeSetsNAPWritingGenreType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Genre of writing for the test item. Values: Narrative, Persuasive.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDescriptor" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReleasedStatus" minOccurs="0" type="xs:boolean">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Whether the test item has been publicly released.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MarkingType" minOccurs="0" type="AUCodeSetsNAPTestItemMarkingTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Method used to mark the test item. Values: AS Auto Scoring, MM Manual Marking, AES Auto Essay Scoring.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MultipleChoiceOptionCount" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>For multiple choice and multiple choices questions, the number of questions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CorrectAnswer" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Τhe correct answer to the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MaximumScore" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Full marks allocated for correct response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDifficulty" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Item difficulty on same scale as Student Scaled Score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDifficultyLogit5" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Item difficulty in logits at 0.5 probability.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDifficultyLogit62" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Item difficulty in logits at 0.62 probability.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDifficultyLogit5SE" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Standard Error for item difficulty in logits at 0.5 probability.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDifficultyLogit62SE" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Standard Error for item difficulty in logits at 0.62 probability.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemProficiencyBand" minOccurs="0" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The item proficiency band. Uses the same classification as Student Scaled Score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemProficiencyLevel" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The item proficiency level. Uses the same classification as Student Scaled Score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExemplarURL" minOccurs="0" nillable="true" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The publicly accessible location of an exemplar for the test item. Used if the test item itself has not been published.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemSubstitutedForList" minOccurs="0" nillable="true" type="SubstituteItemListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of the RefId of the main item(s) for which this is a Substitute item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContentDescriptionList" minOccurs="0" nillable="true" type="ContentDescriptionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="StimulusList" minOccurs="0" nillable="true" type="StimulusListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="NAPWritingRubricList" minOccurs="0" nillable="true" type="NAPWritingRubricListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletContentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contents of a Testlet in the context of NAP.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestletLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier that identifies this NAP testlet.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestletName" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Testlet name allocated at test construction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Node" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Label of testlet used for testlet sequencing. Values: A,B,C,D,E,F,G.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationInStage" minOccurs="0" nillable="true" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Location of Testlet in stage.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestletMaximumScore" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weighted Maximum score that a student can achieve in this testlet.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestContentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contents of an assessment assigned in the context of NAP, targeted at a particular domain and year level.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier of NAP test.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestName" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of the NAP test.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestLevel" minOccurs="0" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="TestType" minOccurs="0" type="AUCodeSetsNAPTestTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of NAP Test assigned in the session</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Domain" minOccurs="0" type="AUCodeSetsNAPTestDomainType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="TestYear" minOccurs="0" type="SchoolYearType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Year that testing took place, e.g. 2017.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StagesCount" minOccurs="0" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number of branching stages in the test; 1 for a flat test.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DomainBands" minOccurs="0" type="DomainBandsContainerType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="DomainProficiency" minOccurs="0" type="DomainProficiencyContainerType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlausibleScaledValueListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PlausibleScaledValue" minOccurs="0" maxOccurs="unbounded" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Plausible values used for reporting to determine cut points, there are 5 per student per domain.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubstituteItemListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubstituteItem" minOccurs="0" maxOccurs="unbounded" type="SubstituteItemType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubstituteItemType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubstituteItemRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID that identifies the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubstituteItemLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier of the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PNPCodeList" minOccurs="0" type="PNPCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Adjustment code for which the substitute item is applicable.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CodeFrameTestItemListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TestItem" minOccurs="0" maxOccurs="unbounded" type="CodeFrameTestItemType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CodeFrameTestItemType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TestItemRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of Test item object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Location of test item in testlet, as an ordinal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestItemContent" minOccurs="0" type="NAPTestItemContentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusLocalIdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StimulusLocalId" minOccurs="0" maxOccurs="unbounded" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>LocalId of Stimulus</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainBandsContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for the NAP Domain Bands - Upper and Lower</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Band1Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 1 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band1Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 1 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band2Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 2 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band2Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 2 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band3Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 3 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band3Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 3 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band4Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 4 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band4Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 4 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band5Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 5 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band5Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 5 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band6Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 6 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band6Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 6 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band7Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 7 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band7Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 7 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band8Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 8 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band8Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 8 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band9Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 9 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band9Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 9 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band10Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Band 10 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Band10Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Band 10 in domain specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainProficiencyContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for the NAP Proficiency Levels</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Level1Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Proficiency Level 1 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level1Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Proficiency Level 1 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level2Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Proficiency Level 2 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level2Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Proficiency Level 2 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level3Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Proficiency Level 3 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level3Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Proficiency Level 3 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level4Lower" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest scaled score value for Proficiency Level 4 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level4Upper" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Upper scaled score value for Proficiency Level 4 in domain specified (place holder).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItemListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TestItem" minOccurs="0" maxOccurs="unbounded" type="NAPTestItem2Type">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItem2Type">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TestItemRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID that identifies the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestItemLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier of the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Location of test item in testlet, as an ordinal.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPCodeFrameTestletListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Testlet" minOccurs="0" maxOccurs="unbounded" type="NAPTestletCodeFrameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletCodeFrameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestletRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID of Testlet object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestletContent" minOccurs="0" type="NAPTestletContentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="TestItemList" minOccurs="0" type="CodeFrameTestItemListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPStudentResponseTestletListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Testlet" minOccurs="0" maxOccurs="unbounded" type="NAPTestletResponseType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Scores received by the student for each testlet in the test.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletResponseType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestletRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID for the testlet that the student is sitting. May be linking to prior codeframe download.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NAPTestletLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier of NAP testlet.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestletSubScore" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weighted Total score across all Marked Student Responses for the testlet.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemResponseList" minOccurs="0" type="NAPTestletItemResponseListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletItemResponseListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ItemResponse" minOccurs="0" maxOccurs="unbounded" type="NAPTestletResponseItemType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletResponseItemType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Scores received by the student for teach item in the testlet</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPTestItemRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID that identifies this NAPLAN test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NAPTestItemLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier for the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Response" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student's response to the test item; can include the HTML formatted original response for writing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResponseCorrectness" minOccurs="0" type="AUCodeSetsNAPResponseCorrectnessType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>After the test has been scored, this value will indicate the correctness of the response. This element will be missing if the response has not yet been scored. For open ended items that are scored using a rubric, this value will also likely be missing. These items do not fall nicely into the right/wrong category.  If the Student Response Set is empty (Sanctioned Abandonment or Refusal), set to NotAttempted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Score" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Score received by student for item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LapsedTimeItem" minOccurs="0" nillable="true" type="xs:duration">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Time taken for student to complete item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Location of test item in testlet, as an ordinal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemWeight" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weighting for item in calculation of raw scores for testlets, tests.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubscoreList" minOccurs="0" nillable="true" type="NAPSubscoreListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subscores contributing to the total mark.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPSubscoreListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Subscore" minOccurs="0" maxOccurs="unbounded" type="NAPSubscoreType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPSubscoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubscoreType" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subscoring category, under which student receives a mark contributing to the total mark.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubscoreValue" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student's mark received for this particular subscoring category.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainScoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RawScore" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Raw Total score across all Marked Student Responses for the Domain.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScaledScoreValue" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weighted Likelihood Estimate for Domain, commonly known as scaled score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScaledScoreLogitValue" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student ability for Domain in logits at 0.5 probability level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScaledScoreStandardError" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Standard Error for Domain Scaled Score for this student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScaledScoreLogitStandardError" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Standard Error for Domain Scaled Score for this student in logits.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentDomainBand" minOccurs="0" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The integer value of the performance band that the student’s score is in for the NAP test domain.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentProficiency" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Skill Progression Level that the student’s score is in for the NAP test domain.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PlausibleScaledValueList" minOccurs="0" maxOccurs="unbounded" type="PlausibleScaledValueListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPWritingRubricListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NAPWritingRubric" minOccurs="0" maxOccurs="unbounded" type="NAPWritingRubricType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPWritingRubricType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RubricType" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category that rubric is scoring for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreList" minOccurs="0" type="ScoreListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category that rubric is scoring for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Descriptor" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Descriptor of Score Point of Writing Rubric.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Score" minOccurs="0" maxOccurs="unbounded" type="ScoreType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MaxScoreValue" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Total maximum score value that a student can achieve under the current rubric.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreDescriptionList" minOccurs="0" type="ScoreDescriptionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreDescriptionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ScoreDescription" minOccurs="0" maxOccurs="unbounded" type="ScoreDescriptionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreDescriptionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ScoreValue" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Score point: Individual maximum score value that a student can achieve under the current rubric.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Descriptor" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Descriptor of Writing Rubric</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Stimulus" minOccurs="0" maxOccurs="unbounded" type="StimulusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Description of a trigger  for a response in a NAP test.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StimulusLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Item Identifier for Stimulus.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TextGenre" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Genre for Reading Stimulus Text.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TextType" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Genre for Reading Stimulus Text.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WordCount" minOccurs="0" nillable="true" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Word count for Reading Stimulus Text.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TextDescriptor" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="Content" minOccurs="0" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Link to Stimulus.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContentDescriptionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ContentDescription" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Content description in the Australian Curriculum that is relevant to the test item.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PNPCodeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PNPCode" minOccurs="0" maxOccurs="unbounded" type="AUCodeSetsPNPCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Personal Needs and Preferences Code(s) applied to the domain.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AdjustmentContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PNPCodeList" minOccurs="0" type="PNPCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Personal Needs and Preferences Code(s) applied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BookletType" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Booklet Type to be used for the NAP test as an adjustment. Values: Braille.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TestDisruptionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TestDisruption" minOccurs="0" maxOccurs="unbounded" type="TestDisruptionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An event disrupting a test session</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TestDisruptionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This is an alert message that is associated with the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Event" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description of a special event which disrupted the test session.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CalendarSummaryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CalendarSummaryRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The ID (GUID) of a calendar summary to which this Staff Member is associated with.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VisaSubClassType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="VisaSubClassCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaExpiryDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Expiry Date of Visa if one exists</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ATEExpiryDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Authority to Enroll Expiry Date if one exists. Authority to Enroll Expiry date is also required to ensure the validity of a  student’s enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ATEStartDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Authority to Enroll Start Date if one exists. Authority to Enroll Start is also required to ensure the validity of a  student’s enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaStatisticalCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Visa Statistical Code - Can be free text - not necessary to validate</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VisaSubClassListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Visas</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="VisaSubClass" minOccurs="0" maxOccurs="unbounded" type="VisaSubClassType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="VisaSubClassCodeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Visa Sub-Class - Can be free text - not necessary to validate</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="AUCodeSetsVisaSubClassType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:complexType name="LanguageBaseType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The code representing the specific language that an individual uses to communicate.�</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="LanguageType" minOccurs="0" nillable="true" type="AUCodeSetsLanguageTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An indication of the function and context in which an individual uses a language to communicate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Specific dialect of a person's language.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligiousEventListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Religious events</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ReligiousEvent" minOccurs="0" maxOccurs="unbounded" type="ReligiousEventType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligiousEventType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Religious Event - Currently Free Text</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Date" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date of Religious Event</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Type of Religion if any</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfReligiousGroupsASCRGType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Religion Code</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DwellingArrangementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Setting/environment in which the person resides.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsDwellingArrangementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the setting/environment in which the person resides</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CountryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CountryOfCitizenship" minOccurs="0" maxOccurs="unbounded" type="CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person's country of citizenship.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CountryList2Type">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CountryOfResidency" minOccurs="0" maxOccurs="unbounded" type="CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person's country of residency.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DebitOrCreditAmountType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Gross amount to be billed, including any tax. Can be credit (e.g. for family credit notes, reimbursements, rebates).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="Type" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation />
          </xs:annotation>
          <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:complexType name="ScheduledActivityOverrideType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This flag should be used to indicate whether or not this ScheduledActivity overrides a previous ScheduledActivity. In any initial provisioning this element should NOT be provided.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="AUCodeSetsYesOrNoCategoryTypeOrEmpty">
        <xs:attribute name="DateOfOverride" use="optional" type="xs:date">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>C</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>The date needs to be provided if Override=Yes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ActivityTimeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Time structures for the activity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CreationDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Creation date of the activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Duration" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Time required to complete the activity.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="XSUnsignedIntOrEmpty">
              <xs:attribute name="Units" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>Unit of time of the Duration value. </xs:documentation>
                </xs:annotation>
                <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:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date activity is started.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FinishDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date activity is finished.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date activity is due.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolCourseInfoOverrideType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Optional overrides of the course information for this section.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CourseCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the school-defined course code for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the state-defined course code for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the district course code for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the subject matter area for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the course title for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the instructional level for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Override of the course credits for this section.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Override" use="required">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Designates whether or not SchoolCourseInfo information has been overridden with different values for this section.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Yes" />
          <xs:enumeration value="No" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="LocationOfInstructionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Description of the location in which the section is taught.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsReceivingLocationOfInstructionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the location of instruction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageOfInstructionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Language in which the section is taught.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the language of instruction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MediumOfInstructionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Medium through which the student receives instructional communication from the teacher.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsMediumOfInstructionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the medium of instruction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentActivityType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information regarding the co-curricular or extra-curricular activity. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsActivityInvolvementCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code identifying the co-curricular or extra-curricular activity. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactFlagsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>C</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Contains Yes/No characteristics of the contact person's role.  Provide a Yes value for all that apply.
        At least one of the child elements of ContactFlags must have a Yes value.
        Do not publish the StudentContactRelationship instance if one of the child elements does not have a Yes value.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does the individual have parental or legal guardianship responsibility for the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PickupRights" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element tells whether or not the contact has pickup rights.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LivesWith" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does the student live with this contact?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AccessToRecords" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this contact have access to the student's records?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReceivesAssessmentReport" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>In particular, should this contact receive a copy of the student report? </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmergencyContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Should this contact be notified in case of emergency?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HasCustody" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this contact have or share custody of the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this person to be contacted in case of disciplinary action?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Should this contact be notified in case of an attendance issue?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this person provide daily living or personal assistance to the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FeesBilling" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this the contact responsible for Payment of Fees?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FeesAccess" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this contact have access to fees information?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyMail" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this person receive family mail?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterventionOrder" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is there an Intervention Order against this Contact?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AgencyType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The classification of the education agency within the geographic boundaries of a state according to the level of administrative and operational control.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEducationAgencyTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code indicating the operational/administrative level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearRangeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>C</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Year Span.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Start" minOccurs="0" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lowest year in range.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="End" minOccurs="0" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Highest year in range</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CreationUserType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information about which staff member created this record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="UserId" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Unique identifier of the user that created the attendance record.  This will depend on the user and the source.  The preferred identifier would be a RefId for a StaffPersonal, StudentContact, or StudentPersonal Object.  However, the user may not be associated with any of these SIF objects.  In that case a unique Id given by the source should be used.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>The role of the staff member that created this record.</xs:documentation>
      </xs:annotation>
      <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:complexType name="AuditInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An audit trail to help determine who entered this event and when.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CreationUser" minOccurs="0" type="CreationUserType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Information about which staff member created this record.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreationDateTime" minOccurs="0" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time this record was created.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information describing how the day relates to attendance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CountsTowardAttendance" minOccurs="0">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Designates whether this date should be counted toward student attendance.</xs:documentation>
        </xs:annotation>
        <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" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>
        Amount of the school day in which the student should be in attendance (Format is x.x; a student who should be in attendance a full day would be represented as 1.0).  If CountsTowardAttendance equals Yes then AttendanceValue must be greater than zero.
      </xs:documentation>
            </xs:annotation>
            <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:complexType name="CalendarDateInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Calendar date type information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsCalendarEventType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code indicating the type of school day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramAvailabilityType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSets0211ProgramAvailabilityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Describes the availability of the program.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReferralSourceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSets0792IdentificationProcedureType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The method by which a student was identified for referral to a particular program.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PromotionInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information on a student's promotion, retention, or demotion related to this enrollment instance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PromotionStatus" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This value should be set if this enrollment instance is closed for an end-of-year closeout or a mid-year promotion or demotion. A value other than NA should be specified when the enrollment instance represents an end-of-year closeout or mid-year promotion/demotion. </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Promoted" />
            <xs:enumeration value="Demoted" />
            <xs:enumeration value="Retained" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CatchmentStatusContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container element for location of an individual's legal residence relative to (within or outside) the boundaries of the school for this enrolment. Enrolment Catchment Status.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsPublicSchoolCatchmentStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code indicating the residency status for this enrollment. Code indicating Enrollment Catchment Status.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of other codes or strings that crosswalk to or serve as translations of the Code element paired with this common element. If Code changes and OtherCodes are supported, both Code and all associated OtherCode elements must be present.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentExitStatusContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container element for exit status codes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsExitWithdrawalStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation> Code indicating the closure status for this enrollment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentExitContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsExitWithdrawalTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code indicating the type of exit for this enrollment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentEntryContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container elements for EntryType information</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEntryTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code indicating the type of entry for this enrollment</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of other codes or strings that crosswalk to or serve as translations of the Code element paired with this common element. If Code changes and OtherCodes are supported, both Code and all associated OtherCode elements must be present.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentMostRecentContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Container for elements reflecting the most recent enrollment of a student.  If the student is
        currently enrolled in the district, the elements contain current information.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier representing the school in which the student is or was most recently enrolled in the district.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HomeroomLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        Local identifier representing the current or most recent homeroom in which the student is or was most recently assigned in the district.  Use the value from RoomInfo/HomeroomNumber if supported.  If not supported, use the value from RoomInfo/RoomNumber.  If neither is supported, use the most appropriate value from the agent's application.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The current or most recent year level of the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Full-time equivalent numeric value of the student's course load during this enrollment, expressed in decimal form, where 1.00 represents a full-time enrollment.</xs:documentation>
            </xs:annotation>
            <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="Parent1Language" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Main language spoken by parent 1 at home, other than English.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent2Language" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Main language spoken by parent 2 at home, other than English.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent1EmploymentType" minOccurs="0" nillable="true" type="AUCodeSetsEmploymentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code that defines employment type of Parent1. This is compulsory if being used for MCEECDYA reporting.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent2EmploymentType" minOccurs="0" nillable="true" type="AUCodeSetsEmploymentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code that defines employment type of Parent2. This is compulsory if being used for MCEECDYA reporting.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent1SchoolEducationLevel" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEducationLevelTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The highest level of education completed by Parent1.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent2SchoolEducationLevel" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEducationLevelTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The highest level of education completed by Parent2.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent1NonSchoolEducation" minOccurs="0" nillable="true" type="AUCodeSetsNonSchoolEducationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This reflects the level of Parent1's Non-School Education.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Parent2NonSchoolEducation" minOccurs="0" nillable="true" type="AUCodeSetsNonSchoolEducationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This reflects the level of Parent2's Non-School Education.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalCampusId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier for a specific campus Id. This may be the same as the school local Id, but is expected to be supplied only if the school does in fact have distinct campuses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Identifier of the school in which the student is or was most recently enrolled in the district, as assigned in the Australian School List.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TestLevel" minOccurs="0" nillable="true" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Values: 3,5,7,9. The test level that the student is registering for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Homegroup" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the homegroup the student enrollment belongs to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClassCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the class code the student belongs to, for the purposes of NAPLAN registration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MembershipType" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEnrollmentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of this enrollment as it relates to the school identified in SchoolInfoRefId.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FFPOS" minOccurs="0" nillable="true" type="AUCodeSetsFFPOSStatusCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Enrolled Full-fee Paying Overseas Student (FFPOS) Status.  Enrolment Frame Element 10 NSCC Collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportingSchoolId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the school ACARAId to which student's report is to be made available.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherEnrollmentSchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>ACARAId of other school that student is enrolled in, if known, as assigned in the Australian School List.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffMostRecentContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for elements reflecting the most recent assignment of a staff member. If the staff member is currently assigned, the elements contain current information.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier representing the school in which the staff is or was most recently teaching in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Identifier of the school in which the staff member is or was most recently assigned, as listed in the Australian  School List.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalCampusId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local identifier for a specific campus Id. This may be the same as the school local Id, but is expected to be supplied only if the school does in fact have distinct campuses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NAPLANClassList" minOccurs="0" nillable="true" type="NAPLANClassListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        Container for a list of classes a teacher may be responsible for with regard to NAPLAN only.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HomeGroup" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The current home group (if any) that the staff member is responsible for.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffActivityExtensionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The purpose of the Teacher's role as related to students. Equivalent to 'JobFunction' in US Object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsStaffActivityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the type of staff activity undertaken.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TotalEnrollmentsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Optional School/Campus enrolments.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Girls" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number of enrolled Female students.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Boys" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number of enrolled Male students.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalStudents" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Total number of enrolled students.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CampusContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Optional campus details.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ParentSchoolId" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Parent School Id needs to be supplied if this Campus is not the Admin Campus.  This number should be the state-assigned identifier for this school or the locally-assigned identifier for this school.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolCampusId" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Specific Campus Id  - This may be the same as the School Local Id.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CampusType" minOccurs="0" nillable="true" type="AUCodeSetsSchoolLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of campus.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdminStatus" minOccurs="0" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this campus the Admin Campus?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Households this Person is associated with</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="HouseholdContactInfo" minOccurs="0" maxOccurs="unbounded" type="HouseholdContactInfoType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Common element used to supply information about a particular household a person is a member of.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Common element used to supply information about a particular household a person is a member of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Priority of Household Contact in relation to this Person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdContactId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Household Id</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdSalutation" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Salutation to be used in addressing this household.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Email elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of PhoneNumber elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatementCodesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StatementCode" minOccurs="0" maxOccurs="unbounded" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An alphanumeric Id code as defined by the organization to identify the statement.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatementsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Statement" minOccurs="0" maxOccurs="unbounded" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The text of the "outcome", "standard", or other element within the structured curriculum document </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramFundingSourcesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of funding sources</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ProgramFundingSource" minOccurs="0" maxOccurs="unbounded" type="ProgramFundingSourceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Funding source of the special program</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramFundingSourceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Funding source of the special program</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsProgramFundingSourceCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Funding source for the program, may be more than one.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceTimesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Breakdown of times that the student entered or returned to school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttendanceTime" minOccurs="0" maxOccurs="unbounded" type="AttendanceTimeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceTimeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Time span that the student entered or returned to school</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttendanceType" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Nature of the attendance e.g. 'Taken at Roll Call'</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceCode" minOccurs="0" type="AttendanceCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Locally defined code for attendance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceStatus" minOccurs="0" type="AUCodeSetsAttendanceStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Approved or Unapproved status of this attendance code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The start of this particular time span.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndTime" minOccurs="0" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The end of this particular time span.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DurationValue" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The amount of absence represented by AttendanceCode, up to three decimal places. May be
				greater than 1.0.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>RefId of TimeTableSubject</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Note related to this particular time span.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PeriodAttendancesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Breakdown of grouped period attendance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PeriodAttendance" minOccurs="0" maxOccurs="unbounded" type="PeriodAttendanceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PeriodAttendanceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This container type allows recording of period level attendance for a student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttendanceType" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Nature of the attendance e.g. 'Taken at Roll Call'</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceCode" minOccurs="0" type="AttendanceCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Locally defined code for attendance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceStatus" minOccurs="0" type="AUCodeSetsAttendanceStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Approved or Unapproved status of this attendance code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Date" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date of the attendance event.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SessionInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of the session that this attendance applies to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScheduledActivityRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of the ScheduledActivity Object attendance applies to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The period within which attendance is being reported, e.g. "4D".</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DayId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Day Id.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional Start Time of Curriculum Session</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional End Time of Curriculum Session</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeIn" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The time the student entered or returned to this class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeOut" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The time the student left this class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The (GUID) of the piece of Curriculum (TT Grid) scheduled</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>RefId of TimeTableSubject</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="ScheduledTeacherListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of teachers</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RoomList" minOccurs="0" nillable="true" type="RoomListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of rooms</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Note related to this particular attendance.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Subject(s) Staff member is eligible to teach.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffSubject" minOccurs="0" maxOccurs="unbounded" type="StaffSubjectType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element contains Staff subjects they are eligible to teach together with the teaching preference.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains Staff subjects they are eligible to teach together with the teaching preference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Priority of Subject to Teach.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Subject Id</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>RefId of TimeTableSubject</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Teaching groups which are scheduled to attend the event. Not required for cyclical events, as this would be expected to be provided from TimeTableCell/TeachingGroup instead.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TeachingGroupRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID from the TeachingGroup Object that identifies this TeachingGroup.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduledTeacherListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A listing of the teachers assigned to the activity, and the type of supervision they are credited with. If no teachers are listed, the activity is assumed to be unsupervised.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TeacherCover" minOccurs="0" maxOccurs="unbounded" type="TeacherCoverType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Substructure to allow representing instances where teachers only take subsets of an event. Most typically, this occurs with exam supervision, where each teacher gets a 1-period duty. It also happens with schools with e.g. 4 long periods per day: a period of 1hr20mins can be split into 2 halves of 40 minutes each.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeacherCoverType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Substructure to allow representing instances where teachers only take subsets of an event. Most typically, this occurs with exam supervision, where each teacher gets a 1-period duty. It also happens with schools with e.g. 4 long periods per day: a period of 1hr20mins can be split into 2 halves of 40 minutes each.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Id (GUID) of the StaffPersonal record for the teacher supervising the event or event subset.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>LocalId of the StaffPersonal record for the teacher supervising the event or event subset.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Start time for the subset of the event which the teacher supervises. If not present then we assume this teacher will be on the event for the full duration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FinishTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Finish time for the subset of the event which the teacher supervises. If not present then we assume this teacher will be on the event for the full duration. Either both or neither StartTime and FinishTime should be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Credit" minOccurs="0" nillable="true" type="AUCodeSetsTeacherCoverCreditType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>How the activity is credited, from the perspective of the teacher(s) supervising the event. If a teacher is substituting for the normal teacher supervising, the credit indicates how the substituting teacher is credited.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Supervision" minOccurs="0" nillable="true" type="AUCodeSetsTeacherCoverSupervisionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>How intensively the teacher supervises the activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weighting" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Weighting of credit assigned to teacher for activity. Assumes default of 1.0 assigned for classroom duty.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RoomListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of rooms in which the scheduled activity is held. Used for onsite venues which are represented in the source system as rooms. Can include large venues (ovals, library, etc), if they have been represented as rooms; source system practice varies.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RoomInfoRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Id (GUID) of the Room in which the scheduled activity is held.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID that identifies the staff person assigned to this room (e.g. the homeroom teacher).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlternateIdentificationCodesType">
    <xs:sequence>
      <xs:element name="AlternateIdentificationCodes" minOccurs="0" nillable="true" />
      <xs:element name="AlternateIdentificationCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An alphanumeric Id code as defined by the organization to identify the statement.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AuthorsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of the organization that authored the curriculum document, i.e. "ACARA". May be the same as "Organization" above.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OrganizationsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Organization" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of organization represented by the document, i.e., "National Council of Teachers of Mathematics (NCTM)," "ACARA"," NSW DET". </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PurchasingItemsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Listing of line items from original purchase order. Included to indicate any variation between the items, item cost, or item quantity ordered, and what has been delivered.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PurchasingItem" minOccurs="0" maxOccurs="unbounded" type="PurchasingItemType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Contains information about the item delivered.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PurchasingItemType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains information about the item delivered.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Vendor item number.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemDescription" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Quantity" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Quantity delivered.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="UnitCost" minOccurs="0" nillable="true" type="MonetaryAmountType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Unit cost of the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalCost" minOccurs="0" nillable="true" type="MonetaryAmountType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Total cost of the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="QuantityDelivered" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Quantity delivered to date.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CancelledOrder" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates that the line item in the purchase order is a cancellation of a previous order, to prevent it from remaining outstanding. For example, if 10 widgets have been ordered, and only 7 widgets have been delivered, a new purchase order can be issued for 3 widgets; enabling this flag indicates that the order for the remaining 3 widgets is to be cancelled.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TaxRate" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Rate of tax included in the billed amount for the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExpenseAccounts" minOccurs="0" nillable="true" type="ExpenseAccountsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExpenseAccountsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ExpenseAccount" minOccurs="0" maxOccurs="unbounded" type="ExpenseAccountType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Account that is to be charged for the item.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExpenseAccountType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Account that is to be charged for the item.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AccountCode" minOccurs="0" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Account code charged to this item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Amount" minOccurs="0" type="MonetaryAmountType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Amount charged to this account.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FinancialAccountRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Account being charged.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AccountingPeriod" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Accounting period for the charge.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolProgramListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of School Programs</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Program" minOccurs="0" maxOccurs="unbounded" type="SchoolProgramType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolProgramType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Category" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Program Category</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Program Type</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningObjectivesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Educational objectives of the activity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of an educational objective of the activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecognitionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of awards and other types of recognition given to the student for this activity. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Recognition" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The nature of recognition given to the student for the successful completion of work in a co-curricular or extra-curricular activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LResourcesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Learning resources that support this activity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="ResourcesType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A GUID reference to a SIF LearningResource object that supports this activity</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ResourcesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A GUID reference to a SIF LearningResource object that supports this activity</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="IdRefTypeOrEmpty">
        <xs:attribute name="ResourceType" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Type of Resource.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="LearningResource" />
              <xs:enumeration value="WorkSample" />
              <xs:enumeration value="AnnotatedWorkSample" />
              <xs:enumeration value="Other" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="SourceObjectsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Source objects assigned to students.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SourceObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:annotation>
            <xs:appinfo>
              <sifChar>OR</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>GUID assigned to the source object.</xs:documentation>
          </xs:annotation>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>The type of learning object the source object is.</xs:documentation>
                </xs:annotation>
                <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:complexType name="StudentsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>GUID from the StudentPersonal  Object that identifies the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Link to a student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PrerequisitesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Skills or competencies the student must have to engage in activity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Skill or competency the student must have to engage in activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EssentialMaterialsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Essential materials required to engage in this activity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EssentialMaterial" minOccurs="0" maxOccurs="unbounded" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Essential material required to engage in this activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TechnicalRequirementsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Operating system, network, and other technical requirements for the activity, if applicable.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TechnicalRequirement" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>an operating system, network, or other technical requirement.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SoftwareRequirementListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains information about required software.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SoftwareRequirement" minOccurs="0" maxOccurs="unbounded" type="SoftwareRequirementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Contains information about a specific required piece of software.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SoftwareRequirementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains information about a specific required piece of software.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SoftwareTitle" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the title of the specific software.  This does not include the vendor.  For example, Flash not Adobe.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Version" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This includes the version of the specific software.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Vendor" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the vendor of the specific software.  For example, Adobe.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OS" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the operating system and version.  For example, Macintosh OS X 1.4.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Household" minOccurs="0" maxOccurs="unbounded" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Repeatable element containing the ID of a household.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Student Subject Choices where available.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentSubjectChoice" minOccurs="0" maxOccurs="unbounded" type="StudentSubjectChoiceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subjects Students Choose</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Subjects Students Choose</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subject Priority</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Subject Id</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudyDescription" minOccurs="0" nillable="true" type="SubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description about Study Mode.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherSchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Id of a school where the student studies this subject if not at the home school.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="IdentityAssertionsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The list of identity assertions for this user.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="IdentityAssertion" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The identification string for this user.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="SchemaName" use="required" type="xs:normalizedString">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>The name of the field.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>References to LearningStandardItems.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Reference to a LearningStandardItem.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningResourcesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for related resources.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A relationship between the item and an attached resource (e.g. learning resource, work sample).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardsDocumentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>References to LearningStandard Documents.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardDocumentRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Reference to a LearningStandardItem Document.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ComponentsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Lesson or activity-sized portions of a resource.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Component" minOccurs="0" maxOccurs="unbounded" type="ComponentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A lesson or activity-sized portion of a resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ComponentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A lesson or activity-sized portion of a resource.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of learning resource component within the resource, i.e. "Chapter 1, Section 4.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Reference" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of where ResourceComponent is located within resource or in general, i.e. "Section 4, pages 32-38," or URL string, or whatever locator is appropriate for media.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of ResourceComponent, i.e. "Discover how changing the scale of a map can either increase or decrease the level of detail you see."</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Strategies" minOccurs="0" nillable="true" type="StrategiesType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Teaching/learning strategies used in the learning resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssociatedObjects" minOccurs="0" nillable="true" type="AssociatedObjectsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>References from component to associated elements within another SIF object.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StrategiesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Teaching/learning strategies used in the learning resource.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Teaching/learning strategy used in the learning resource. One per element.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssociatedObjectsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>References from component to associated elements within another SIF object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AssociatedObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:annotation>
            <xs:appinfo>
              <sifChar>OR</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Reference from component to associated elements within another SIF object.</xs:documentation>
          </xs:annotation>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required" type="ObjectNameType">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>Attribute that identifies the type of SIF object being referenced.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EvaluationsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Evaluations/review of the resource.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Evaluation" minOccurs="0" maxOccurs="unbounded" type="EvaluationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Evaluation/review of resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EvaluationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Evaluation/review of resource.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of evaluation of resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date evaluation was performed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of individual who submitted evaluation.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>GUID assigned to an evaluation.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="ApprovalsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Authorizations to use this resource. For example, this resource may be included as part of the district's standard curriculum model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Approval" minOccurs="0" maxOccurs="unbounded" type="ApprovalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A sub-element containing an authorization to use this resource. For example, this resource may be included as part of the district's standard curriculum model.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ApprovalType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A sub-element containing an authorization to use this resource. For example, this resource may be included as part of the district's standard curriculum model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Organization" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of agency that approved use of resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Date" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date resource was approved.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MediaTypesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Resource media types.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MediaType" minOccurs="0" maxOccurs="unbounded" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        MIME type [MIME] based on IANA registration (see RFC2048) or 'non-digital'.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LEAContactListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LEAContact" minOccurs="0" maxOccurs="unbounded" type="LEAContactType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Information on contact persons for this LEA.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LEAContactType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information on contact persons for this LEA.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="PublishInDirectoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates whether or not this LEA contact's information should be published in a directory of LEA information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactInfo" minOccurs="0" type="ContactInfoType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FinancialAccountRefIdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of RefIds of financial account codes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="FinancialAccountRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>RefId of a chart of account code associated with the invoice.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PasswordListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Allows a provider or publisher to specify the same password using multiple algorithms, if supported.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Password" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A representation of the user's password using the given algorithm.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="XSBase64BinaryOrEmpty">
              <xs:attribute name="Algorithm" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>The method used to encrypt the user's password. See the implementation details below.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <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:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>The name of the key to be used for decryption of the password. Left blank for hash algorithms (MD5 and SHA1).</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExclusionRulesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Rules for which statistic may not be reported.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ExclusionRule" minOccurs="0" maxOccurs="unbounded" type="ExclusionRuleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Rule for which statistic may not be reported</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExclusionRuleType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Rule for which statistic may not be reported</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation />
          </xs:annotation>
          <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:complexType name="CharacteristicsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Reference to one or more AggregateCharacteristicInfo objects.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AggregateCharacteristicInfoRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        Reference to an AggregateCharacteristicInfo object.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains contact information about resource authors.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="ContactType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Contains contact information about a resource author.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains contact information about a resource author.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of contact person. Use the generic element Name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address of organization or company.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="PhoneNumberType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Phone number of organization or company.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Email" minOccurs="0" nillable="true" type="EmailType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The email of the organization or company.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupPeriodListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A List of schedule information that can be published by an SIS which is a subset of information available in the TimeTableCell object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TeachingGroupPeriod" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupPeriodType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Timeslot information that can be published by an SIS which is a subset of information available in the TimeTableCell object.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupPeriodType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Timeslot information that can be published by an SIS which is a subset of information available in the TimeTableCell object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>If the TimeTableCell has been previously published, this reference can be provided as a connection to more detailed schedule information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RoomNumber" minOccurs="0" nillable="true" type="HomeroomNumberType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Room number as presented to the user/application.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Id of Staff member scheduled to take this class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DayId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Day Id </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PeriodId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Period Id within the Day Id. Either Period Id or starting time must be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Starting time of class within the Day Id. Either Period Id or starting time must be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CellType" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of Lesson/Session  eg Teaching, Lunch etc</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeacherListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A List of teachers associated with the group –  may or may not include the teacher timetabled in the schedule.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TeachingGroupTeacher" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupTeacherType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Teacher associated with the Teaching group –  may or may not be the teacher timetabled in the schedule</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupTeacherType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Teacher associated with the Teaching group –  may or may not be the teacher timetabled in the schedule</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID from the StaffPersonal Object that identifies the Staff member.  Either StaffPersonalRefidId or StaffLocalId should be supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>LocalId of the Staff member. Either StaffPersonalRefidId or StaffLocalId should be supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of Staff Member.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Association" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Association with the Teaching Group (free format for this release)</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Students in this Teaching Group</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TeachingGroupStudent" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupStudentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Students who belong to the TeachingGroup</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupStudentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Students who belong to the TeachingGroup</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID from the StudentPersonal that identifies the student. Either StudentPersonalRefidId or StudentLocalId should be supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Id of the Student. Either StudentPersonalRefidId or StudentLocalId should be supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of student</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTableDayListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for TimeTableDays in Schedule</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TimeTableDay" minOccurs="0" maxOccurs="unbounded" type="TimeTableDayType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element identifies a ‘day’ in a TimeTable.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTableDayType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element identifies a ‘day’ in a TimeTable.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DayId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Time Table Identifier</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DayTitle" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeTablePeriodList" minOccurs="0" type="TimeTablePeriodListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTablePeriodListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TimeTablePeriod" minOccurs="0" maxOccurs="unbounded" type="TimeTablePeriodType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Container for TimeTablePeriods in a Time Table Day</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTablePeriodType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for TimeTablePeriods in a Time Table Day</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PeriodId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Period in Day Identifier</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PeriodTitle" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Title of Period eg. Session 1 or Period 1</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BellPeriod" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates if this Period will require a 'bell', if 'yes' the following elements can be provided in the TimeTable Object.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The starting time for the bell period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The ending time for the bell period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RegularSchoolPeriod" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates if the bell period is part of the regular school day (i.e. is not a before or after school or break period).</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="InstructionalMinutes" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The number of minutes to be counted for instruction for the bell period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="UseInAttendanceCalculations" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates if the bell period should be included in attendance calculations.</xs:documentation>
        </xs:annotation>
        <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:complexType name="NAPLANClassListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Container for a list of classes a teacher may be responsible for with regard to NAPLAN only.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ClassCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the class code the staff member administers, for the purposes of NAPLAN registration.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolGroupListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolGroup" minOccurs="0" maxOccurs="unbounded" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Repeatable element containing a local identifier to identify a loosely connected group of schools. eg. YarraValley Cluster</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelEnrollmentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of number of students enrolled per year level.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="YearLevelEnrollment" minOccurs="0" maxOccurs="unbounded" type="YearLevelEnrollmentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Container for Year Level of Enrolments.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelEnrollmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for Year Level of Enrolments.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Year" minOccurs="0" type="AUCodeSetsYearLevelCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Year level for which students are counted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Enrollment" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number of students enrolled in the year level.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolFocusListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List containing the education focus codes of the campus/school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolFocus" minOccurs="0" maxOccurs="unbounded" type="AUCodeSetsSchoolFocusCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of educational institution as classified by its focus.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlertMessagesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AlertMessage" minOccurs="0" maxOccurs="unbounded" type="AlertMessageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is an alert message that is associated with the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlertMessageType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This is an alert message that is associated with the student.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>This attribute specifies what type of alert message this is.</xs:documentation>
          </xs:annotation>
          <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:complexType name="MedicalAlertMessagesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MedicalAlertMessage" minOccurs="0" maxOccurs="unbounded" type="MedicalAlertMessageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Medical alert associated with the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicalAlertMessageType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Medical alert associated with the student.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Severity" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>The level of severity of this medical alert.</xs:documentation>
          </xs:annotation>
          <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:complexType name="OtherIdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Lists all "other" identifiers associated with the entity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OtherId" minOccurs="0" maxOccurs="unbounded" type="OtherIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Lists an "other" identifier associated with the entity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherIdType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Lists an "other" identifier associated with the entity.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:normalizedString">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Code that defines the type of this other ID.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="BaseNameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A title or prefix associated with the name. If any of: Mr, Mrs, Ms, Miss, Rev, Fr, Dr, Prof, Hon, Sir, Lord, Lady - these must be as shown, otherwise free text. Note that title is not applicable to learners. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Family name. That part of the person's name which is used to describe family, clan, tribal group, or marital association. Note that this element is required when known. However, it may not be possible to know the family name in which case you should add the available information to the FullName element. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Given name of the person. Note that this element is required if known. However, it may not be possible to know the given name in which case you should add the available information to the FullName element. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>All other given or middle names, each separated with a single space character. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyNameFirst" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The family name preferred most by the person (as written). </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyNameFirst" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredGivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The given name preferred most by the person (as written). </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Textual suffix like PHD, JP, BSc. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A free text field for the complete name for display purposes. If this is associated with a StudentPersonal,StaffPersonal or StudentContactPersonal record and the FamilyName and GivenName are not both specified, then this becomes mandatory. </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NameOfRecordType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record;
        serves as the primary name in some SIF objects, including StudentPersonal.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>
        Code that specifies what type of name this is. Note that type "LGL" must be used here.
      </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="LGL">
                <xs:annotation>
                  <xs:documentation>Name of Record</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="OtherNameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Extends BaseNameType to allow for Type attribute values excluding "name of record."  Used for other names to
        be included in addition to the name of record in objects.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="AUCodeSetsNameUsageTypeType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>
        Code that specifies what type of name this is. Note that type "LGL" is NOT to be used here.
      </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="PartialDateType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A year, with an optional month/day, or an optional month by itself.</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:date" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:gYearMonth" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:gYear" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="LocalIdType">
    <xs:restriction base="xs:normalizedString">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>
        This is a common element used to define the locally assigned identifier associated with an entity. 
      </xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="LocationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LocationName" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationRefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>
      RefId of the location object if the location is a SIF Object such as </xs:documentation>
          </xs:annotation>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>
      Type of SIF Object </xs:documentation>
                </xs:annotation>
                <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="optional">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>O</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation />
      </xs:annotation>
      <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:enumeration value="NonInstructionalSpace" />
          <xs:enumeration value="AthleticVenue" />
          <xs:enumeration value="Other" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="StateProvinceIdType">
    <xs:restriction base="xs:normalizedString">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>The identifier for this entity as assigned by the state or province.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="AttendanceCodeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Code that describes the absence/attendance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAttendanceCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the absence/attendance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Year or academic level.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsYearLevelCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the year level.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="NameOfRecordType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the person. Note: Type attribute value of LGL must be used here.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Previous, alternate or other names or aliases associated with the person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Demographic information about the person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's address(es).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's phone number(s).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's e-mail address(es).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdContactInfoList" minOccurs="0" nillable="true" type="HouseholdContactInfoListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's household/s contact information.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        List of year levels.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0" maxOccurs="unbounded" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="SchoolURLType">
    <xs:restriction base="xs:anyURI">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>URL for a school.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="PrincipalInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information about the campus or school principal.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ContactName" minOccurs="0" type="NameOfRecordType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the principal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactTitle" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The principal's title.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The principal's phone number(s).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The principal's e-mail address(es).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolContactType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>MR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Information on contact persons for this school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="PublishInDirectoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates whether or not this school contact's information should be published in a directory of school information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactInfo" minOccurs="0" type="ContactInfoType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolContactListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of contact persons associated with a school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolContact" minOccurs="0" maxOccurs="unbounded" type="SchoolContactType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Information on contact persons for this school.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="PublishInDirectoryType">
    <xs:restriction base="AUCodeSetsYesOrNoCategoryType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Indicates whether or not information should be published in a directory.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ContactInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Common element used to supply information for a contact person at a school, LEA, or other institution.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="NameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The contact person's position title.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Role played by this contact in this instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address of the contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Email elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of PhoneNumber elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressStreetType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The street element is a complex element and breaks the street down into several parts. (Allow for PO Box here)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Line1" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 1.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line2" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 2.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line3" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 3.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Complex" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of the complex.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StreetNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The address number assigned to the building.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StreetPrefix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Street prefix like NE</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StreetName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the street.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StreetType" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of street. For example, Lane, Blvd., Ave., etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StreetSuffix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Street suffix like SW.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ApartmentType" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of apartment, for example, Suite.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ApartmentNumberPrefix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Apartment number prefix.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ApartmentNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The number of the apartment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ApartmentNumberSuffix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Apartment number suffix.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>M</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains address data.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EffectiveFromDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date the address became active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EffectiveToDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date the address ceases to be active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Street" minOccurs="0" type="AddressStreetType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The street element is a complex element and breaks the street down into several parts. (Allow for PO Box here)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="City" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The city part of the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="StateProvinceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The state or province code. StateTerritory Code only applicable if an Australian Address. Conditional- If Australian Address this is mandatory. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Country" minOccurs="0" nillable="true" type="CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The country code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PostalCode" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The ZIP/postal code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The location of the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MapReference" minOccurs="0" nillable="true" type="MapReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A Map Reference in x-y co-ordinates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RadioContact" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>UHF Radio frequency or channel used for contact eg: 477MHz or CH60</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element is used to describe a Community that is associated with the instance of the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This is the LocalId of the specific address if it can be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressGlobalUID" minOccurs="0" nillable="true" type="GUIDType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        This is the GUID generated by the Provider system.  Where it is available to be provided, the globally unique identifier links together separate instances of the Address Common Element which reference the same physical address.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StatisticalAreas" minOccurs="0" nillable="true" type="StatisticalAreasType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of Statistical Areas associated with an address that will be referenced back to ABS 1270.  Only applicable to a physical address, e.g. not relevant for a Post Office Box.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="AUCodeSetsAddressTypeType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Code that defines the location of the address. Note: A subset of specific valid values for each instance in a data object may be listed in that object.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Role" use="required" type="AUCodeSetsAddressRoleType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A facet of Address</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="MapReferenceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A Map Reference in x-y co-ordinates.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="XCoordinate" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>X Co-ordinate of reference</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YCoordinate" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Y Co-ordinate of reference</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:normalizedString">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Type map reference</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="StatisticalAreasType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Statistical Areas associated with an address that will be referenced back to ABS 1270.  Only applicable to a physical address, e.g. not relevant for a Post Office Box.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StatisticalArea" minOccurs="0" maxOccurs="unbounded" type="StatisticalAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>OR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        The Australian Standard Geographical Classification (ASGC) has now been replaced with the Australian Statistical Geography Standard (ASGS).
        The level and method that this is collected would need to be discussed as the lowest level is now a lot lower than the previous classification to allow for more accurate data analysis and reporting.
        There are different levels of spatial unit references by this code set and a MeshBlock refers to the lowest level of this classification.
		The spatial unit should be validated against the correct classification which is being elaborated upon. The referenced levels are coded in these volumes of ABS 1270 		
      </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatisticalAreaType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>OR</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        The Australian Standard Geographical Classification (ASGC) has now been replaced with the Australian Statistical Geography Standard (ASGS).
        The level and method that this is collected would need to be discussed as the lowest level is now a lot lower than the previous classification to allow for more accurate data analysis and reporting.
        There are different levels of spatial unit references by this code set and a MeshBlock refers to the lowest level of this classification.
		The spatial unit should be validated against the correct classification which is being elaborated upon. The referenced levels are coded in these volumes of ABS 1270 		
      </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="SpatialUnitType" use="required">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Type of Spatial Unit contained within the StatisticalArea Element</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="MB" />
              <xs:enumeration value="SA1" />
              <xs:enumeration value="SA2" />
              <xs:enumeration value="SA3" />
              <xs:enumeration value="SA4" />
              <xs:enumeration value="GCCSA" />
              <xs:enumeration value="S/T" />
              <xs:enumeration value="LG" />
              <xs:enumeration value="TR" />
              <xs:enumeration value="ILOC" />
              <xs:enumeration value="IARE" />
              <xs:enumeration value="IREG" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="AddressListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Address elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Address" minOccurs="0" maxOccurs="unbounded" type="AddressType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of e-mail addresses associated with an individual or organization.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Email" minOccurs="0" maxOccurs="unbounded" type="EmailType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        This element represents an e-mail address of one of a number of types and occurs in objects such as
        StudentPersonal, StaffPersonal, StudentContactPersonal, etc.
      </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="AUCodeSetsEmailTypeType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>This attribute specifies the type of e-mail address.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="PhoneNumberListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Lists phone numbers associated with an entity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PhoneNumber" minOccurs="0" maxOccurs="unbounded" type="PhoneNumberType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PhoneNumberType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Phone number.  Free-form, but typical Australian formats include:</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Phone number extension.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ListedStatus" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the phone number is available to the public.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Preference" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Preference number indicating an order in which phone numbers should be used when contacting person.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="AUCodeSetsTelephoneNumberTypeType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Code that specifies what type of phone number this is.  Note: A subset of valid values may be specified in data objects.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="CountryType">
    <xs:restriction base="AUCodeSetsStandardAustralianClassificationOfCountriesSACCType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A country code.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="GridLocationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        This element contains a map location. The GridLocation element is utilized within the Address element.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Latitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Latitude in decimal degrees.</xs:documentation>
            </xs:annotation>
            <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" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Longitude in decimal degrees.</xs:documentation>
            </xs:annotation>
            <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:simpleType name="OperationalStatusType">
    <xs:restriction base="AUCodeSetsOperationalStatusType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Operational condition of an institution.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="StateProvinceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A state or province code. Note: When dealing with countries other than Australia, state/province codes/values other than those referenced here can be used.</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="AUCodeSetsStateTerritoryCodeType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:token" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="SchoolYearType">
    <xs:restriction base="xs:gYear">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2009").</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ElectronicIdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of electronic identifiers associated with an entity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ElectronicId" minOccurs="0" maxOccurs="unbounded" type="ElectronicIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ElectronicIdType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Common element used to specify entity identifiers that are read by electronic equipment. 
      </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="AUCodeSetsElectronicIdTypeType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Electronic ID type.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="OtherNamesType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Previous, alternate or other names or aliases associated with a person.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="OtherNameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        Name of the person.  Note: Type value of LGL may not occur here.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DemographicsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        Demographics information about the student, contact, staff member, etc. 
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="IndigenousStatus" minOccurs="0" nillable="true" type="AUCodeSetsIndigenousStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Whether or not the person identifies themselves as being of Aboriginal and/or Torres Strait Islander descent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Sex" minOccurs="0" nillable="true" type="AUCodeSetsSexCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>'Sex' is the distinction 'male'/'female'/'intersex', as reported by the person</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's date of birth.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DateOfDeath" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's date of death.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BirthDateVerification" minOccurs="0" nillable="true" type="AUCodeSetsBirthdateVerificationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Means by which the person's birth date was validated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's place of birth - like village, town, city etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateOfBirth" minOccurs="0" nillable="true" type="StateProvinceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's state of birth.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's country of birth.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountriesOfCitizenship" minOccurs="0" nillable="true" type="CountryListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="CountriesOfResidency" minOccurs="0" nillable="true" type="CountryList2Type">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date the person first arrived in the country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AustralianCitizenshipStatus" minOccurs="0" nillable="true" type="AUCodeSetsAustralianCitizenshipStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's citizenship status.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EnglishProficiency" minOccurs="0" nillable="true" type="EnglishProficiencyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Person's proficiency in English.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LanguageList" minOccurs="0" nillable="true" type="LanguageListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of languages an individual uses to communicate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DwellingArrangement" minOccurs="0" nillable="true" type="DwellingArrangementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Setting/environment in which the person resides.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Religion" minOccurs="0" nillable="true" type="ReligionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of Religion if any</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReligiousEventList" minOccurs="0" nillable="true" type="ReligiousEventListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Religious events</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReligiousRegion" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Belong to Religious Region - Currently Free Text.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PermanentResident" minOccurs="0" nillable="true" type="AUCodeSetsPermanentResidentStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Australian Residency Status (Mandatory for Student)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaSubClass" minOccurs="0" nillable="true" type="VisaSubClassCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Visa Sub-Class - Can be free text - not necessary to validate</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaStatisticalCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Visa Statistical Code - Can be free text - not necessary to validate</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaExpiryDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Expiry Date of Visa if one exists</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VisaSubClassList" minOccurs="0" nillable="true" type="VisaSubClassListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Visa details if more than one exists.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LBOTE" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Language Background is Other Than English. (http://www.acara.edu.au/verve/_resources/DSM_1.pdf), the LBOTE metric is under review. Currently it can be derived from Student and Parents Language Background.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ImmunisationCertificateStatus" minOccurs="0" nillable="true" type="AUCodeSetsImmunisationCertificateStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Status of Immunisation Certificate</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CulturalBackground" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfCulturalAndEthnicGroupsASCCEGType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Used to indicate cultural background. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MaritalStatus" minOccurs="0" nillable="true" type="AUCodeSetsMaritalStatusAIHWType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's marital status.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MedicareNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Person's Medicare number. Exchange only with permission to do so.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EnglishProficiencyType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEnglishProficiencyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Person's proficiency in English.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageBaseType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="BirthDateType">
    <xs:restriction base="xs:date">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A person's date of birth.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ProjectedGraduationYearType">
    <xs:restriction base="xs:gYear">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Currently projected graduation year (CCYY).</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="OnTimeGraduationYearType">
    <xs:restriction base="xs:gYear">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>First projected graduation year, usually determined when student is accepted into 9th grade (CCYY).</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="RelationshipType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Code that defines the relationship of one person to another.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsRelationshipToStudentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the relationship.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="EducationalLevelType">
    <xs:restriction base="AUCodeSetsSchoolEducationLevelTypeType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A code representing the highest level of education completed by a person.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="GraduationDateType">
    <xs:restriction base="PartialDateType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>Date student officially graduated from secondary education.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="NameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
      The Name element, which could belong to a student, staff member, contact, etc. This element or a form of this element with a
      subset of Type values occurs within objects
      such as StudentPersonal, StudentContactPersonal, StaffPersonal, etc.
    </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="AUCodeSetsNameUsageTypeType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>M</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>
        Code that specifies what type of name this is.  If unsure, use LGL.
      </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="HomeroomNumberType">
    <xs:restriction base="xs:normalizedString">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>
        Common element used to specify the locally-defined number or identifier for a homeroom. It is used in objects such
        as RoomInfo and StudentSnapshot.
      </xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="TimeElementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A common metadata element designed to contain time data, both self-defined and by type.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        This element is designed to contain the time period attached to an object.
        Very long periods (school year, quarter, etc.) and very small periods (second, millisecond, etc.) can be defined.
        This element provides a scoping description of the time metadata enclosed.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
      This element provides a place for the application to send structured data (code values, unique identifier, timestamps).
      This code value can, depending upon the use case agreement between agents, be used to qualify the data in the </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
      Contains a human-readable description of the value in </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Value" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Contains the human-readable value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <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" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Code" minOccurs="0" type="xs:token">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Value" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>O</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>O</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation />
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IsCurrent" minOccurs="0" type="xs:boolean">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
      This element allows for the system to tag an object as being explicitly current.
      Although the baseline assumption in SIF is that objects are always current (default value is typically </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LifeCycleType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Created" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DateTime" minOccurs="0" type="xs:dateTime">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>M</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation />
              </xs:annotation>
            </xs:element>
            <xs:element name="Creators" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Creator" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
                          <xs:annotation>
                            <xs:appinfo>
                              <sifChar>M</sifChar>
                              <privacyRating />
                            </xs:appinfo>
                            <xs:documentation>
      Human-readable name of the data's creator. If the object contains system-generated data,
      the name should identify the creating service or application.
    </xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="ID" minOccurs="0" type="xs:normalizedString">
                          <xs:annotation>
                            <xs:appinfo>
                              <sifChar>M</sifChar>
                              <privacyRating />
                            </xs:appinfo>
                            <xs:documentation>Unique identifier of the creator.  An email address or URI could be used here.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </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" minOccurs="0" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation>Identifier of the system or person that modified the data.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="DateTime" minOccurs="0" type="xs:dateTime">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>M</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation>The date/time the modification occurred.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:appinfo>
                        <sifChar>O</sifChar>
                        <privacyRating />
                      </xs:appinfo>
                      <xs:documentation>Human readable description of the data modifications.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </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="TimeElementType">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>OR</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation />
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherCodeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        List of other codes or strings that crosswalk to or serve as translations of the Code element paired with this common element.  If Code changes
        and OtherCodes are supported, both Code and all associated OtherCode elements must be present.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OtherCode" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
        A state/province code, local code, other code or a text string that crosswalks to or serves as a translation of an associated Code element.
      </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="required">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>
        Describes the OtherCode element content as either a state/province code, a local code, other code, or text string.
      </xs:documentation>
                </xs:annotation>
                <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:complexType name="ProgramStatusType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The current status of the student's program participation.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001">
              <xs:annotation>
                <xs:documentation>Referred</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="S002">
              <xs:annotation>
                <xs:documentation>Eligible</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="S003">
              <xs:annotation>
                <xs:documentation>Not Eligible</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="S004">
              <xs:annotation>
                <xs:documentation>Active</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="S005">
              <xs:annotation>
                <xs:documentation>Exited</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="S006">
              <xs:annotation>
                <xs:documentation>Withdrew/refused</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="9999">
              <xs:annotation>
                <xs:documentation>Other</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubjectAreaListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of subject areas.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubjectArea" minOccurs="0" maxOccurs="unbounded" type="SubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subject matter of a student's study.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ACStrandAreaListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of subject areas.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ACStrandSubjectArea" minOccurs="0" maxOccurs="unbounded" type="ACStrandSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubjectAreaType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Subject matter.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The subject area details</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ACStrandSubjectAreaType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Subject matter of a student's study as codified under the Australian Curriculum.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ACStrand" minOccurs="0" type="AUCodeSetsACStrandType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subject matter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Subject matter.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EducationFilterType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Allows any SIF object to be correlated to learning standards.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SIF_ExtendedElementsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Allows an agent to include data not yet defined within a SIF data object as name/value pairs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SIF_ExtendedElement" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:annotation>
            <xs:appinfo>
              <sifChar>OR</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>A name/value pair, the name being contained in the Name attribute, the value being the element content.</xs:documentation>
          </xs:annotation>
          <xs:complexContent>
            <xs:extension base="ExtendedContentType">
              <xs:attribute name="Name" use="required" type="xs:normalizedString">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>The name of the extended element. As it is possible that names for extended elements may collide from agent to agent, it is recommended that the names of extended elements be configurable in an agent, or that agents use URIs for the names of extended elements.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <!--<xs:attribute ref="xsi:type" use="optional" />-->
              <xs:attribute name="SIF_Action" use="optional">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>O</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>
        In a Change event, this flag can be used to indicate an element has been deleted from the parent list container.  At a minimum the key for the list must also be present.
      </xs:documentation>
                </xs:annotation>
                <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:complexType name="SIF_MetadataType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A commonly defined container for metadata elements defined within SIF.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="TimeElementType">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>OR</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation />
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LifeCycle" minOccurs="0" nillable="true" type="LifeCycleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EducationFilter" minOccurs="0" nillable="true" type="EducationFilterType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReportPackageType">
    <xs:complexContent>
      <xs:extension base="AbstractContentPackageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar />
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
      This package has exactly the same structure as </xs:documentation>
        </xs:annotation>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AbstractContentPackageType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
        An abstract type for derived content package types, elements and objects.  This structure may be used verbatim, optionally extending
        with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML
        contained in XMLData.  Only one instance of XMLData, TextData, BinaryData or
        Reference can occur in a single instance.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData">
          <xs:complexType>
<xs:sequence>
  <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema"  minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Description" use="optional" type="xs:token"><xs:annotation><xs:appinfo><sifChar>O</sifChar><privacyRating /></xs:appinfo><xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation></xs:annotation></xs:attribute></xs:complexType>
        </xs:element>
        <xs:element name="TextData">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>C</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Contains arbitrary text, encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          Optional MIME type to specifically indicate the text type.  Otherwise text/plain can be assumed.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>C</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Contains the base64Binary encoding of binary or text data not encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="XSBase64BinaryOrEmpty">
                <xs:attribute name="MIMEType" use="required" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>M</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          MIME type to indicate the content type.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" minOccurs="0" type="xs:anyURI">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>Location of external content.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>M</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation>
          MIME type to indicate the content type to be expected when retrieving the external content.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>O</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>The GUID that uniquely identifies an instance of the package.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="AbstractContentElementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.
			  </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData">
          <xs:complexType>
<xs:sequence>
  <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema"  minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Description" use="optional" type="xs:token"><xs:annotation><xs:appinfo><sifChar>O</sifChar><privacyRating /></xs:appinfo><xs:documentation>
				  Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
				  Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
				</xs:documentation></xs:annotation></xs:attribute></xs:complexType>
        </xs:element>
        <xs:element name="TextData">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>C</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Contains arbitrary text, encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  Optional MIME type to specifically indicate the text type.  Otherwise text/plain can be assumed.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
				  Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>C</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Contains the base64Binary encoding of binary or text data not encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="XSBase64BinaryOrEmpty">
                <xs:attribute name="MIMEType" use="required" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>M</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  MIME type to indicate the content type.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:appinfo>
                      <sifChar>O</sifChar>
                      <privacyRating />
                    </xs:appinfo>
                    <xs:documentation>
				  Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
				  Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
				</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" minOccurs="0" type="xs:anyURI">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>M</sifChar>
                    <privacyRating />
                  </xs:appinfo>
                  <xs:documentation>Location of external content.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>M</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation>
				  MIME type to indicate the content type to be expected when retrieving the external content.
				</xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:appinfo>
                  <sifChar>O</sifChar>
                  <privacyRating />
                </xs:appinfo>
                <xs:documentation>
				  Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
				  Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
				</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MonetaryAmountType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A monetary amount.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="XSDecimalOrEmpty">
        <xs:attribute name="Currency" use="optional" type="ISO4217CurrencyNamesAndCodeElementsType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>Currency code.  Where omitted, defaults to implementation-defined local currency, typically </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ObjectNameType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:NCName">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>An unenumerated SIF object name.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ServiceNameType">
    <xs:restriction base="xs:NCName">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>An unenumerated SIF object name.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ObjectType">
    <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReportDataObjectType">
    <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="URIOrBinaryType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Allows for a URL or a Base-64 encoding.</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:base64Binary" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="GUIDType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>SIF format for a GUID. This is different for 2.x Infrastructure  and 3.x Infrastructure - 2.x xs:pattern value='[0-9A-F]{32}'  3.x - xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" &gt;</xs:documentation>
          </xs:annotation>
          <xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="MsgIdType">
    <xs:restriction base="GUIDType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A message identifier.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="RefIdType">
    <xs:restriction base="GUIDType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>An object or element identifier.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="IdRefType">
    <xs:restriction base="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A reference to a RefId.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="VersionType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>A SIF version number.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="12" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          <xs:pattern value="[0-9]+[.][0-9]+(r[0-9]+)?" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="VersionWithWildcardsType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>A SIF version number, with wildcards for matching multiple versions.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="12" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          <xs:pattern value="\*|([0-9]+[.]\*)|([0-9]+[.][0-9]+r\*)|([0-9]+[.][0-9]+(r[0-9]+)?)" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="DefinedProtocolsType">
    <xs:restriction base="xs:token">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>The transport protocols defined in SIF.</xs:documentation>
      </xs:annotation>
      <xs:enumeration value="HTTPS" />
      <xs:enumeration value="HTTP" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ExtendedContentType">
    <xs:complexContent mixed="true" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SelectedContentType">
    <xs:complexContent mixed="true" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <!--XSDecimalOrEmpty-->

<xs:simpleType name="XSDecimalOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:decimal" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--XSUnsignedIntOrEmpty-->

<xs:simpleType name="XSUnsignedIntOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:unsignedInt" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--RefIdTypeOrEmpty-->

<xs:simpleType name="RefIdTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="RefIdType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--IdRefTypeOrEmpty-->

<xs:simpleType name="IdRefTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="IdRefType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--AUCodeSetsYesOrNoCategoryTypeOrEmpty-->

<xs:simpleType name="AUCodeSetsYesOrNoCategoryTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="AUCodeSetsYesOrNoCategoryType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--URIOrBinaryTypeOrEmpty-->

<xs:simpleType name="URIOrBinaryTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="URIOrBinaryType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--XSBase64BinaryOrEmpty-->

<xs:simpleType name="XSBase64BinaryOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:base64Binary" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

</xs:schema>