<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://va.transcriptcenter.com" xmlns:vtc="http://va.transcriptcenter.com"
    xmlns:core="urn:org:pesc:core:CoreMain:v1.2.0"
    xmlns:AcRec="urn:org:pesc:sector:AcademicRecord:v1.1.0"
    xmlns:HSTrn="urn:org:pesc:message:HighSchoolTranscript:v1.0.0" elementFormDefault="unqualified"
    attributeFormDefault="unqualified" version="v1.0">

    <xs:import namespace="urn:org:pesc:core:CoreMain:v1.2.0" schemaLocation="CoreMain_v1.2.0.xsd"/>
    <xs:import namespace="urn:org:pesc:sector:AcademicRecord:v1.1.0"
        schemaLocation="AcademicRecord_v1.1.0.xsd"/>
    <xs:import namespace="urn:org:pesc:message:HighSchoolTranscript:v1.0.0"
        schemaLocation="HighSchoolTranscript_v1.0.0.xsd"/>

    <xs:element name="VACustom" type="vtc:VACustomCourseElementType"/>
    <xs:complexType name="VACustomCourseElementType">
        <xs:all>
            <xs:element name="DualEnrollment" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="CommonwealthCollegeCourseCollaborative" minOccurs="0"
                type="vtc:YesNoResponseType"/>
            <xs:element name="Advanced" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="AdvancedPlacement" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="InternationalBacculaureate" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="Accelerated" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="Honors" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="SummerSchool" minOccurs="0" type="vtc:YesNoResponseType"/>
            <xs:element name="CourseGrades" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="CourseGrade" minOccurs="0" maxOccurs="5" type="vtc:CourseGradesType"/>
                    </xs:sequence>
                </xs:complexType> 
            </xs:element>            
        </xs:all>
    </xs:complexType>

    <xs:simpleType name="YesNoResponseType">
        <xs:restriction base="xs:token">
            <xs:enumeration value="Yes"/>
            <xs:enumeration value="No"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="CourseGradesType">
        <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
                <xs:attribute name="type">
                    <xs:simpleType>
                        <xs:restriction base="xs:token">
                            <xs:enumeration value="Q1"/>
                            <xs:enumeration value="Q2"/>
                            <xs:enumeration value="Q3"/>
                            <xs:enumeration value="Q4"/>
                            <xs:enumeration value="S1"/>
                            <xs:enumeration value="S2"/>
                            <xs:enumeration value="FG"/>
                            <xs:enumeration value="YR"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
</xs:schema>
