<!--
		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="MarkValueInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Medium</privacyRating>
      </xs:appinfo>
      <xs:documentation>
        This object defines the types of values allowed for a mark and the domain for each mark value. At least one of the Percentage, Numeric, Letter or Narrative nodes must be used to create a valid MarkValueInfo. 
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Id (GUID) that uniquely identifies the School that these Mark Values apply to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="YearLevelsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The year levels that this MarkValueInfo applies to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The text name of the value list ("Letter Grades", "Letter Grades (+/-)", "ESU", "Pass/Fail", "Override Grades", "Citizenship Comment Codes", etc.).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PercentageMinimum" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The minimum percent value accepted for this mark.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PercentageMaximum" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The maximum percent value accepted for this mark.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PercentagePassingGrade" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The threshold for a mark to be considered passing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericPrecision" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Number of significant digits.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericScale" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Number of decimal places.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericLow" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Lowest Mark in the range (e.g., 98, 3.95).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericHigh" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Highest Mark in the range (e.g., 100, 4.0).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NumericPassingGrade" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The threshold for a mark to be considered passing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ValidLetterMarkList" minOccurs="0" nillable="true" type="ValidLetterMarkListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>List of specific valid letter Marks.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Narrative" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>If present, indicates that a free-form text narrative is accepted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NarrativeMaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>An integer value representing the maximum number of Unicode characters for the narrative, the UTF-8 encoding of which may be longer.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating>Low</privacyRating>
        </xs:appinfo>
        <xs:documentation>The Id (GUID) that uniquely identifies this MarkValueInfo entity.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="MarkValueInfo" type="MarkValueInfoType">
    <xs:unique name="MarkValueInfoKey1">
      <xs:selector xpath="./MarkValueInfo" />
      <xs:field xpath="@RefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="MarkValueInfoCollectionType">
    <xs:sequence>
      <xs:element name="MarkValueInfo" type="MarkValueInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MarkValueInfos" type="MarkValueInfoCollectionType" />

</xs:schema>