Program Information Exchange - For XML
THIS SITE DOCUMENTS A PREVIOUS VERSION. The most recent version is documented here.
This page contains a working draft of the NSPA Scholarship Program Information Data Exchange for XML specification plus a sample record conformant to the specification.
Contents:
XML Sample Record
The listing below shows a sample XML record for a "typical" scholarship program. The listing validates against the XSD schema below.
Program Information Exchange - XML Example
<?xml version="1.0" encoding="UTF-8"?>
<ScholarshipPrograms xmlns="http://www.scholarshipproviders.org/scholarshipprograminformation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spi="http://www.scholarshipproviders.org/scholarshipprograminformation"
xsi:schemaLocation="http://www.scholarshipproviders.org/scholarshipprograminformation Snapp-Scholarship-Program-Information-v10d.xsd">
<ScholarshipProgramCollection>
<ScholarshipApplicationInfo>
<ProgramOrganizationName>Anytown Community Foundation</ProgramOrganizationName>
<ProgramReferenceId>cfc0fac3-5d0d-4c0d-b1ec-b25c47e1ecc4</ProgramReferenceId>
<LastVerifiedOn>2018-03-10</LastVerifiedOn>
<LastVerifiedBy>NSPA / JR</LastVerifiedBy>
<ProgramName>NSPA Exchange Example Scholarship Program</ProgramName>
<ProgramCommonName>Example Scholars</ProgramCommonName>
<ProgramURL>https://www.example.com/sesp-info/</ProgramURL>
<ApplicationURL>https://app.example.com/go-apply/</ApplicationURL>
<OpenDate>2019-10-01</OpenDate>
<CloseDate>2019-12-31</CloseDate>
<ScholarshipMaximumAward>10000</ScholarshipMaximumAward>
<IsNeedBased>true</IsNeedBased>
<IsMeritBased>false</IsMeritBased>
<Blurb>The NSPA Exchange Example Scholarship Program serves the financial needs of sample, example, and other irreal children.</Blurb>
<EligibilityCriteriaDescription>Students applying for this scholarship must be fictional. Note that characters who solely exist in Harry Potter fan-fiction are not eligible.</EligibilityCriteriaDescription>
<EligibilityCriteria>
<!-- The separate types of criteria are generally a logical AND, while multiple entries within a type depends on the context -->
<!-- The NSPA Exchange search will treat listed academic criteria as a logical AND. If the intent is an OR, then list the most important or common criteria -->
<Academics>
<AcademicEligibility>Minimum Overall SAT</AcademicEligibility>
<AcademicEligibilityValue>750</AcademicEligibilityValue>
</Academics>
<Academics>
<AcademicEligibility>Minimum GPA</AcademicEligibility>
<AcademicEligibilityValue>2.1</AcademicEligibilityValue>
</Academics>
<!-- The NSPA Exchange search will treat listed citizenship statuses as a logical OR. -->
<CitizenshipStatuses>U.S. Citizen</CitizenshipStatuses>
<CitizenshipStatuses>Permanent Resident</CitizenshipStatuses>
<!-- The NSPA Exchange will treat listed colleges as a logical OR. -->
<CollegeAttendanceCriteria>
<College>
<SchoolName>The University of California at Santa Cruz</SchoolName>
<CEEBCode>4860</CEEBCode>
</College>
</CollegeAttendanceCriteria>
<CollegeAttendanceCriteria>
<College>
<SchoolName>The University of Texas at Austin</SchoolName>
<CEEBCode>6882</CEEBCode>
</College>
</CollegeAttendanceCriteria>
<!-- The NSPA Exchange search will treat listed degree-seeking criteria as a logical OR. -->
<DegreeSeeking>Bachelor's Degree</DegreeSeeking>
<!-- The NSPA Exchange search will treat listed demographics as a logical AND. -->
<Demographics>Gender - Female</Demographics>
<Demographics>Ethnicity - Hispanic</Demographics>
<!-- The NSPA Exchange search will treat listed fields of study/majors as a logical OR.
The CIP codes have general categories and fine-grained categories.
Snapp will treat general categories (like 50.01 - Art) as including finer-grained categories (like 50.0102 - Digital Art) -->
<FieldsOfStudy>
<FieldName>Art</FieldName>
<CIPCode>50.01</CIPCode>
</FieldsOfStudy>
<FieldsOfStudy>
<FieldName>Music</FieldName>
<CIPCode>50.09</CIPCode>
</FieldsOfStudy>
<!-- The NSPA Exchange search will treat listed financial criteria as a logical AND. If the intent is an OR, then list the most important or common test criteria -->
<FinancialInformation>
<FinancialEligibilityCriteria>Maximum EFC</FinancialEligibilityCriteria>
<FinancialEligibilityAmount>5000</FinancialEligibilityAmount>
</FinancialInformation>
<!-- The NSPA Exchange search will treat listed academic criteria as a logical OR.
If nothing is specified, the system assumes Graduating High School Senior -->
<GraduationStatuses>
<GraduationStatus>Graduating High School Senior</GraduationStatus>
</GraduationStatuses>
<!-- The NSPA Exchange search will treat listed locations as a logical OR. We match against both current and permanent address, plus the address of the student's college choices. -->
<Locations>
<State>Texas</State>
</Locations>
<Locations>
<State>California</State>
</Locations>
</EligibilityCriteria>
</ScholarshipApplicationInfo>
</ScholarshipProgramCollection>
</ScholarshipPrograms>
XSD Schema
The XSD Schema below provides the structure for the example listing above.
Program Information Exchange - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.scholarshipproviders.org/scholarshipprograminformation" xmlns:spi="http://www.scholarshipproviders.org/scholarshipprograminformation" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.scholarshipproviders.org/scholarshipprograminformation" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>===== Root Scholarship Program Information Entity =====</xs:documentation>
</xs:annotation>
<xs:element name="ScholarshipPrograms">
<xs:annotation>
<xs:documentation>The root scholarship program entity</xs:documentation>
</xs:annotation>
</xs:element>
<xs:annotation>
<xs:documentation>===== Primary Scholarship Program Entities =====</xs:documentation>
</xs:annotation>
<xs:element name="ScholarshipProgramCollection">
<xs:annotation>
<xs:documentation>The primary entry for a scholarship program</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="ScholarshipApplicationInfo" type="spi:ScholarshipProgram"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>===== Complex Types =====</xs:documentation>
</xs:annotation>
<xs:complexType name="AcademicEligibility">
<xs:annotation>
<xs:documentation>Academic and test information used to determine scholarship eligibility or qualification</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="AcademicEligibility" type="spi:AcademicEligibilityCriteriaList">
<xs:annotation>
<xs:documentation>The type of academic eligibility criteria</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AcademicEligibilityValue" type="xs:decimal">
<xs:annotation>
<xs:documentation>A numeric value representing a score or academic average</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ActivityEligibility">
<xs:annotation>
<xs:documentation>An activity, including a sport, hobby, avocation, or similar active pursuit. Contrast with Interest, which represents an enjoyment or spectator role.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Activity" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The activity in question. Values are defined by the NSPA Activity list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ActivityOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the activity if 'Other' Activity is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Address">
<xs:annotation>
<xs:documentation>An address for a person or organization in a standard format</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="AddressLine1" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The first line of the street address</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AddressLine2" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The second line of the street address</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="City" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The address city</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StateOrProvince" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The name of the state or province for the address (e.g., British Columbia, California, Durango)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ZipOrPostalCode" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The address zip code or postal code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Country" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>An ISO 3166-1 2-letter country code (e.g., CA, MX, US). Should be present for any entries with location criteria, but may be inferred from State or system context. Assumed to be 'US' if not present.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AffiliationEligibility">
<xs:annotation>
<xs:documentation>An affiliation or other relationship to an organization or entity</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="IndirectRelation" type="spi:RelationList" minOccurs="0">
<xs:annotation>
<xs:documentation>An optional, indirect relation. Used to indicate, for example, the Child Of an Employee Of an organization. The "Child Of" is, of course, the indirect relation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DirectRelation" type="spi:RelationList">
<xs:annotation>
<xs:documentation>The primary, direct relationship to an organization or entity (e.g., Employee Of, Member Of)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AffiliationEntity" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The proper-noun name of the organization or entity to which the relationship applies. Defined by the NSPA Affiliation Entity list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AffiliationEntityOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the affiliated entity if 'Other' AffiliationEntity is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AgeEligibility">
<xs:annotation>
<xs:documentation>Minimum and maximum age requirements for the program. Only used when age is notable and specifically indicated by the program. For the majority of programs, Current Grade Level is used as a proxy for age requirements.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="MinimumAgeRequirement" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>The minimum age requirement, in years, for the program. Inclusive (i.e., indicates NN years and older).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaximumAgeRequirement" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>The maximum age requirement, in years, for the program. Inclusive (i.e., indicates NN years and younger).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApplicationRestrictionEligibility">
<xs:annotation>
<xs:documentation>A restriction for applying to this scholarship program (e.g., indicating the application is by invitation only). Details should be provided in the Blurb or Eligibility Criteria Detail elements.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ApplicationRestriction" type="spi:ApplicationRestrictionList" minOccurs="0">
<xs:annotation>
<xs:documentation>The restriction for an application</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArmedServicesEligibility">
<xs:annotation>
<xs:documentation>A bundle of Armed Services criteria</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ArmedServiceBranch" type="spi:ArmedServicesList" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The armed service that determines eligibility. No value combined with other armed service elements assumes all services apply.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ArmedServiceStatus" type="spi:ArmedServicesStatusList" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The armed service duty status determines eligibility. No value assumes all statuses apply.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ArmedServiceRelation" type="spi:ArmedServicesRelationList" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The relation to an armed servicemember. No value assumes that the scholarship is for the servicemember.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Organization">
<xs:annotation>
<xs:documentation>Information about organizations affiliated with a program. Includes a type, a logo, and other details.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="OrganizationName" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The associated organization name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OrganizationReferenceId" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The ID the organization supplying the program information uses to uniquely identify the program. If the reference ID matches one previously supplied by this organization, the existing data will be updated (replaced by) the new information. There are no restrictions on the format of this id; it can be a number, a GUID, etc. It is simply matched as-is.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OrganizationType" type="spi:OrganizationTypeList" minOccurs="0">
<xs:annotation>
<xs:documentation>The type of associated organization (e.g., Community Foundation, Hosting Service)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OrganizationRole" type="spi:OrganizationRoleList" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The roles played by the organization in relation to the program (e.g., Program Funder, Application Hosting Service Provider)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LogoFile" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>An image of a logo file in MIME base64 encoding. By convention, constrained to PNG, JPG, GIF file types.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LogoFileName" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A file name for the logo. The name should include the file extension indicating type (e.g., .png, .jpg, .gif).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssociatedOrganizations">
<xs:annotation>
<xs:documentation>A list of organizations affiliated with the program aside from the primary organization.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Organization" type="spi:Organization" maxOccurs="4">
<xs:annotation>
<xs:documentation>The list of associated organizations.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AwardDuration">
<xs:annotation>
<xs:documentation>The period of time over which a scholarship award may be used or renewed</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="AwardDurationType" type="spi:AwardDurationTypeList">
<xs:annotation>
<xs:documentation>The type of award duration (e.g., Multiyear, Renewable)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DurationYears" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>The duration, in years, of the scholarship award (when 'Multiyear' is indicated) or the number of allowed renewals (when 'Renewable' is indicated). Should typically be an integer, may be a decimal to indicate partial year durations.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CollegeReadinessProgramParticipation">
<xs:annotation>
<xs:documentation>Participation or membership in a college readiness program</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="CollegeReadinessProgram" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The college readiness program in which the applicant participated. Defined by the NSPA College Readiness Program list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CollegeReadinessProgramDesc" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the college readiness program when the 'Other' CollegeReadinessProgram is selected</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CollegeAttendanceCriteria">
<xs:annotation>
<xs:documentation>College attendance eligibility criteria. Senders should supply either an NCES or CEEB code wherever possible. Implementations will typically try to match names without the codes, but will not include the college if no match is found.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="College" type="spi:School">
<xs:annotation>
<xs:documentation>The college at which a student must attend to be eligible for a scholarship</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ConditionCriteria">
<xs:annotation>
<xs:documentation>A condition, usually medical or physical, for which a scholarship is intended. Not necessarily a disability (e.g., Left Handedness).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Condition" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The condition in question. Values are defined by the NSPA Condition Criteria list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConditionOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the condition if 'Other' Condition is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CurrentSchoolCriteria">
<xs:annotation>
<xs:documentation>Any restrictions on the current high school, college, or education institution. Indicates, for example, programs that serve graduates of a certain high school or current underclassmen at a specific college. Senders should supply either an NCES or CEEB code wherever possible. Receiving systems will typcially try to match names without the codes, but will not include the school if no match is found.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="School" type="spi:School">
<xs:annotation>
<xs:documentation>The school or college the applicant is currently attending</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EligibilityCriteria">
<xs:annotation>
<xs:documentation>The set of eligibility criteria such as minimum GPA, location, and so forth.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Academics" type="spi:AcademicEligibility" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Activity" type="spi:ActivityEligibility" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Affiliation" type="spi:AffiliationEligibility" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Age" type="spi:AgeEligibility" minOccurs="0"/>
<xs:element name="ApplicationRestriction" type="spi:ApplicationRestrictionEligibility" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ArmedServices" type="spi:ArmedServicesEligibility" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CitizenshipStatuses" type="spi:USCitizenshipStatusEligibilityCriteriaList" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CollegeAttendanceCriteria" type="spi:CollegeAttendanceCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CollegeReadinessProgramParticipation" type="spi:CollegeReadinessProgramParticipation" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Condition" type="spi:ConditionCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CurrentGradeLevel" type="spi:GradeLevel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CurrentSchool" type="spi:CurrentSchoolCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DegreeSeeking" type="spi:DegreeSeekingCriteriaList" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Demographics" type="spi:ShortString" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FieldsOfStudy" type="spi:FieldOfStudy" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FinancialInformation" type="spi:EligibilityFinancialInformation" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="GraduationStatuses" type="spi:GraduationStatusCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Interests" type="spi:InterestCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Locations" type="spi:EligibilityLocation" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Miscellaneous" type="spi:MiscellaneousCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Profession" type="spi:ProfessionCriteria" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Situation" type="spi:SituationCriteria" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EligibilityFinancialInformation">
<xs:annotation>
<xs:documentation>Financial information used to determine scholarship eligibility or qualification.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="FinancialEligibilityCriteria" type="spi:FinancialEligibilityCriteriaList">
<xs:annotation>
<xs:documentation>The type of financial eligibility or qualification</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FinancialEligibilityAmount" type="xs:decimal">
<xs:annotation>
<xs:documentation>An amount related to the financial eligibility or qualification</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EligibilityLocation">
<xs:annotation>
<xs:documentation>A location used to determine scholarship eligibility or qualification</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="City" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A city name, if considered in determining eligibility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="County" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A county name, if considered in determining eligibility. Not abbreviated, should not include the word 'County.'</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="State" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A state or province name, if considered in determining eligibility. Should be present if City and/or County is present. Not abbreviated.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Country" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>An ISO 3166-1 2-letter country code (e.g., CA, MX, US). Should be present for any entries with location criteria, but may be inferred from State or system context. Assumed to be 'US' if not present.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FieldOfStudy">
<xs:annotation>
<xs:documentation>The college major or field of study a program supports</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="FieldName" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The common name of a field of study (e.g., Agriculture, English Literature)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CIPCode" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The NCES/IPEDS Classification of Instructional Programs (CIP) code for the field of study. Sending applications should include this where possible, but receiving systems will typically perform a text match on the field name, if necessary.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GradeLevel">
<xs:annotation>
<xs:documentation>The current grade level</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="CurrentGrade" type="spi:GradeLevelList" minOccurs="0">
<xs:annotation>
<xs:documentation>The current grade level requirement</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GraduationStatusCriteria">
<xs:annotation>
<xs:documentation>Graduation and alumnus eligibility criteria. Senders should enter either an NCES or CEEB code wherever possible. Receiving systems will typically try to match names without the codes, but will not include the college if no match is found.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="GraduationStatus" type="spi:GraduationStatusCriteriaList" minOccurs="0">
<xs:annotation>
<xs:documentation>The degree or other graduation status</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="School" type="spi:School" minOccurs="0">
<xs:annotation>
<xs:documentation>The school for which the status applies. If a degree is indicated in Graduation Status, this indicates the student must be an alumnus of the particular school or institution.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InterestCriteria">
<xs:annotation>
<xs:documentation>Interest qualifying criteria for the scholarship. Denotes an appreciation or enthusiasm for a subject. Contrast with Activity which indicates active participation or performance.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="InterestCriteria" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The interest criteria in question. Values are defined by the NSPA Interest Criteria list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InterestOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the interest criteria if 'Other' InterestCriteria is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MiscellaneousCriteria">
<xs:annotation>
<xs:documentation>Miscellaneous qualifying criteria for the scholarship</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="MiscellaneousCriteria" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The miscellaneous criteria in question. Values are defined by the NSPA Miscellaneous Criteria list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MiscellaneousOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the miscellaneous criteria if 'Other' MiscellaneousCriteria is indicated. 'Other' here will be truly esoteric, and will only be matched by prior arrangement.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProfessionCriteria">
<xs:annotation>
<xs:documentation>A profession or vocation a program supports.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Profession" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The name of the profession in question. Values are defined by the NSPA Profession Criteria list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProfessionOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the profession if 'Other' CurrentProfession is indicated. By convention, includes an SOCCode where possible.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SOCCode" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The Standard Occupational Classification (SOC) code for the profession, maintained by the U.S. Government. By convention, aligns with the SOC 2018 standard published November 2017. Generally used if 'Other' CurrentProfession is selected.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsCurrentProfession" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>An indicator whether the profession must be an applicant's current profession. If true, indicates that the applicant must currently be working in the field. If not present or false, indicates that the profession is a goal or future intention.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProgramCategories">
<xs:annotation>
<xs:documentation>The categories indicating a broad type of scholarship program (e.g., Academic, Contest, First-Generation)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ProgramCategory" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The program category. Values are defined by the NSPA Program Category list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramCategoryOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the category if 'Other' Program Category is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProgramContact">
<xs:annotation>
<xs:documentation>Public contact information related to this program. Generally empty if not specifically provided by the offering organization for the scholarship or scholarship program. Should not contain personal or private contact information.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="NameOrDepartment" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The name or department to contact for information about this program.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Email" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>An e-mail for the program contact. Often a general mailbox (e.g., programs@example.com)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Phone" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A phone number for the program contact</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="School">
<xs:annotation>
<xs:documentation>An educational institution such as a High School, College, Trade School, or similar</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="SchoolName" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The official name of the school</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NCESCode" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The National Center for Education Statistics (NCES) or Integrated Postsecondary Education Data System (IPEDS) code for the school</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CEEBCode" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The College Board registry number for the school</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SchoolType" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The type of school (e.g., College, High School). Values are defined by the NSPA School Type list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SchoolAddress" type="spi:Address" minOccurs="0">
<xs:annotation>
<xs:documentation>The full address of the school</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SituationCriteria">
<xs:annotation>
<xs:documentation>An applicant's situation qualifying the applicant for the scholarship. Situations are not necessarily negative (e.g., Mother, Married).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Situation" type="spi:ShortString">
<xs:annotation>
<xs:documentation>The situation in question (e.g., Homeless, Migrant, Married). Values are defined by the NSPA Situation Criteria list.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SituationOther" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>Free-text name of the situation if 'Other' Situation is indicated</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ScholarshipProgram">
<xs:annotation>
<xs:documentation>A single scholarship offering and its eligibility criteria</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ProgramOrganizationName" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The name of the organization sponsoring the program (e.g., the Michael & Susan Dell Foundation sponsors the Dell Scholars Program)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramReferenceId" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The ID the organization supplying the program information uses to uniquely identify the program. If the reference ID matches one previously supplied by this organization, the existing data will be updated (replaced by) the new information. There are no restrictions on the format of this id; it can be a number, a GUID, etc. It is simply matched as-is.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AdditionalAssociatedOrganizations" type="spi:AssociatedOrganizations" minOccurs="0" maxOccurs="4">
<xs:annotation>
<xs:documentation>An optional list of additional organizations related to this program. Used to indicate associations such as the community foundation administering the program or the hosting service for the program's online application. These additional organizations are provided for informational purposes only, and should not be used to infer eligibility or an application URL.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ApplicationCycle" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The scholarship application cycle during which this program was accepting applications. Should be formatted as a school academic year (e.g., 2019-2020). Usually precedes the academic year in which the award will be used (e.g., awards in the 2019-2020 application cycle will be used in the 2020-2021 academic year).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LastVerifiedOn" type="xs:date" minOccurs="0">
<xs:annotation>
<xs:documentation>The most recent date on which the scholarship program information was verified by a human. Null indicates that the information has never been formally verified.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LastVerifiedBy" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>The entity or organization that most recently verified the scholarship program information. May include both an organization name and an identifier for an individual (e.g., 'NSPA Exchange / JR'). Organizations sharing data should be consistent about their own name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramName" type="spi:MediumString">
<xs:annotation>
<xs:documentation>The full name of the program</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramCommonName" type="spi:MediumString" minOccurs="0">
<xs:annotation>
<xs:documentation>A common name, nickname, abbreviated name, or other alternate name for the program (e.g., Dell Scholarship, Coke Scholars)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramURL" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>The web page address for program information. By convention, should be specific to the scholarship program, not a general organization home page.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ApplicationURL" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>The web page address for the online application, if any</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramContact" type="ProgramContact" minOccurs="0">
<xs:annotation>
<xs:documentation>A public contact, if any, for the program. By convention, empty if no specific and public information is provided by the program organization.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OpenDate" type="xs:date" minOccurs="0">
<xs:annotation>
<xs:documentation>The open date of the application. By convention, the next open date in the application cycle (or the already passed open date in the current application cycle).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CloseDate" type="xs:date" minOccurs="0">
<xs:annotation>
<xs:documentation>The closing date of the application. By convention, the next closing date in the application cycle (or an already passed closing date in the current application cycle).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AnnouncementDate" type="xs:date" minOccurs="0">
<xs:annotation>
<xs:documentation>The date scholarship awards are announced. Typically, the date the announcement notification is made to applicants. May be the date recipients are posted on a public website if the notification date is unknown. By convention, the next announcement date in the application cycle (or an already passed announcement date in the current application cycle).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ScholarshipMaximumAward" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>If the scholarship provides a range, the maximum of the range. If the scholarship only awards one amount, this amount should be populated.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ScholarshipMinimumAward" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>If the scholarship provides a range, the minimum of the range. By convention, not present if the scholarship awards a single amount.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AwardDuration" type="spi:AwardDuration" minOccurs="0">
<xs:annotation>
<xs:documentation>The duration in which a scholarship award may be used. Indicates the number of years for a multiyear program, or the number of renewals for a renewable program.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfScholarshipsAwarded" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>The number of scholarships awarded by this program in a given cycle (generally between the open date and close date). If no date range specified, the NSPA Exchange assumes a 12-month cycle.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsNeedBased" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicator of whether or not the scholarship is need-based</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsMeritBased" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicator of whether or not the scholarship is merit-based</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsContest" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicator of whether or not the scholarship award is based on a contest or prize. These typically have few eligibility criteria. If true, contest or prize details should appear in the Blurb or Eligibility Criteria Detail elements.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramCategories" type="spi:ProgramCategories" minOccurs="0" maxOccurs="4">
<xs:annotation>
<xs:documentation>The general category or categories of the scholarship program. These are broad categories such as Academic, First Generation, Transfer Student, and so forth. Note that categories are often reflected or can be inferred by data elsewhere in the model (e.g., the Transfer Student category can be inferred by current grade and degree being sought and/or membership in an organization supporting transfer students).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Blurb" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>A short description of the scholarship program. Can include markdown. Should not include HTML or markup.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProgramSelfDescription" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>A short description of the program as described by the program or hosting organization itself. Analogous to the Blurb, but self-reported or based on original text. Can include markdown. Should not include HTML or markup.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EligibilityCriteriaDescription" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>An optional, human-readable Eligibility Criteria for the program. Usually present when the eligibility criteria for the program are not easily described or can't be encoded in the structured Eligibility Criteria element. Not necessarily inclusive of all criteria.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AwardVerificationCriteriaDescription" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>An optional list of verifications (e.g., proof of citizenship, tax return, Student Aid Report) required for the scholarship program. Typically entered if publicly available or supplied by program staff.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AllowedFundingUseDescription" type="spi:LongString" minOccurs="0">
<xs:annotation>
<xs:documentation>An optional list of purposes for which the scholarship award may be used (e.g., tuition, books, living expenses, travel). Typically present if publicly available or supplied by program staff.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LogoFile" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>An image of a logo file in MIME base64 encoding. By convention, constrained to PNG, JPG, GIF file types.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LogoFileName" type="spi:ShortString" minOccurs="0">
<xs:annotation>
<xs:documentation>A file name for the logo. The name should include the file extension indicating type (e.g., .png, .jpg, .gif).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EligibilityCriteria" type="spi:EligibilityCriteria" minOccurs="0">
<xs:annotation>
<xs:documentation>A set of eligibility criteria for this scholarship program</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PreferenceCriteria" type="spi:EligibilityCriteria" minOccurs="0">
<xs:annotation>
<xs:documentation>A set of eligibility preferences for this scholarship program. Preference Criteria indicate stated preferences that are not mandatory for an applicant to be eligible for the program. By definition, mirrors the structure of Eligibility Criteria exactly. Contrast with the Eligibility Criteria which are mandatory.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:annotation>
<xs:documentation>===== Simple Types =====</xs:documentation>
</xs:annotation>
<xs:simpleType name="ShortString">
<xs:annotation>
<xs:documentation>String used for short text fields</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MediumString">
<xs:annotation>
<xs:documentation>String used for mid-length text fields</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LongString">
<xs:annotation>
<xs:documentation>String used for long text fields, such as descriptions</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>===== Enumerations =====</xs:documentation>
</xs:annotation>
<xs:simpleType name="AcademicEligibilityCriteriaList">
<xs:annotation>
<xs:documentation>The list of academic eligibility and qualification criteria. By convention, 'other' values will be ignored unless agreed upon between sender and receiver.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Minimum GPA"/>
<xs:enumeration value="Minimum Overall SAT"/>
<xs:enumeration value="Minimum SAT Math"/>
<xs:enumeration value="Minimum SAT Evidence-Based Reading and Writing"/>
<xs:enumeration value="Minimum SAT Essay Reading"/>
<xs:enumeration value="Minimum SAT Essay Analysis"/>
<xs:enumeration value="Minimum SAT Essay Writing"/>
<xs:enumeration value="Minimum ACT Composite"/>
<xs:enumeration value="Minimum Class Rank Percentage"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ApplicationRestrictionList">
<xs:annotation>
<xs:documentation>The list of special restrictions on the application</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Invitation Only"/>
<xs:enumeration value="Recommendation Only"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ArmedServicesList">
<xs:annotation>
<xs:documentation>The list of Armed Services</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Army"/>
<xs:enumeration value="Navy"/>
<xs:enumeration value="Air Force"/>
<xs:enumeration value="Marine Corps"/>
<xs:enumeration value="Coast Guard"/>
<xs:enumeration value="National Guard"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ArmedServicesRelationList">
<xs:annotation>
<xs:documentation>The list of relations to a member of the armed services. If no relation is present, then assume self. Dependent includes Child. Family includes Dependent and Child.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Child Of"/>
<xs:enumeration value="Dependent Of"/>
<xs:enumeration value="Family Of"/>
<xs:enumeration value="Grandchild Of"/>
<xs:enumeration value="Parent Of"/>
<xs:enumeration value="Spouse Of"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ArmedServicesStatusList">
<xs:annotation>
<xs:documentation>The list of Armed Services Statuses</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Active Duty"/>
<xs:enumeration value="Reserve Duty"/>
<xs:enumeration value="Veteran"/>
<xs:enumeration value="Retired"/>
<xs:enumeration value="POW/MIA"/>
<xs:enumeration value="KIA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AwardDurationTypeList">
<xs:annotation>
<xs:documentation>The list of Award Duration options</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="One-Time"/>
<xs:enumeration value="Multiyear"/>
<xs:enumeration value="Renewable"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DegreeSeekingCriteriaList">
<xs:annotation>
<xs:documentation>The list of degrees being sought eligibility and qualification criteria</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Professional Certification"/>
<xs:enumeration value="1-year Certificate"/>
<xs:enumeration value="Associate's Degree"/>
<xs:enumeration value="Bachelor's Degree"/>
<xs:enumeration value="Graduate Degree"/>
<xs:enumeration value="Doctor of Medicine"/>
<xs:enumeration value="Law Degree"/>
<xs:enumeration value="MBA"/>
<xs:enumeration value="MFA"/>
<xs:enumeration value="PhD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FinancialEligibilityCriteriaList">
<xs:annotation>
<xs:documentation>The list of financial eligibility and qualification criteria. Most are assumed to be FAFSA amounts, but senders may use the closest equivalent if it's unclear. By convention, 'other' values will be ignored unless agreed upon between sender and receiver.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Minimum AGI"/>
<xs:enumeration value="Maximum AGI"/>
<xs:enumeration value="Minimum EFC"/>
<xs:enumeration value="Maximum EFC"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GradeLevelList">
<xs:annotation>
<xs:documentation>The list of grade level eligibility and qualification criteria. Represents current grade at time of application. Contrast with Graduation Status, which records past promotions and graduations.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="High School Freshman"/>
<xs:enumeration value="High School Sophomore"/>
<xs:enumeration value="High School Junior"/>
<xs:enumeration value="High School Senior"/>
<xs:enumeration value="Community College Freshman"/>
<xs:enumeration value="Community College Freshman - Attended College Previously"/>
<xs:enumeration value="Community College Sophomore"/>
<xs:enumeration value="College Freshman"/>
<xs:enumeration value="College Freshman - Attended College Previously"/>
<xs:enumeration value="College Sophomore"/>
<xs:enumeration value="College Junior"/>
<xs:enumeration value="College Senior"/>
<xs:enumeration value="5th Year College Undergraduate"/>
<xs:enumeration value="Nth Year College Undergraduate"/>
<xs:enumeration value="Graduate Student"/>
<xs:enumeration value="Doctoral Candidate"/>
<xs:enumeration value="Postgraduate Medical School"/>
<xs:enumeration value="Postgraduate Law School"/>
<xs:enumeration value="Not Enrolled"/>
<xs:enumeration value="On Academic Break"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GraduationStatusCriteriaList">
<xs:annotation>
<xs:documentation>The list of graduation status eligibility and qualification criteria.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Graduating High School Senior"/>
<xs:enumeration value="GED or High School Equivalency"/>
<xs:enumeration value="Certificate Program Graduate"/>
<xs:enumeration value="High School Graduate"/>
<xs:enumeration value="High School Graduate - No Prior College"/>
<xs:enumeration value="High School Graduate - No Prior Degrees"/>
<xs:enumeration value="Community College Freshman"/>
<xs:enumeration value="Community College Sophomore"/>
<xs:enumeration value="College Freshman"/>
<xs:enumeration value="College Sophomore"/>
<xs:enumeration value="Associate's Degree"/>
<xs:enumeration value="Bachelor's Degree"/>
<xs:enumeration value="Graduate Degree"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OrganizationRoleList">
<xs:annotation>
<xs:documentation>The list of organization roles in relation to the program</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Application Hosting Service Provider"/>
<xs:enumeration value="Eligibility - Alumnus Requirement"/>
<xs:enumeration value="Eligibility - Enrollment Requirement"/>
<xs:enumeration value="Listing Service"/>
<xs:enumeration value="Program Administrator"/>
<xs:enumeration value="Program Funder"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="OrganizationTypeList">
<xs:annotation>
<xs:documentation>The list of organization types</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="College or University"/>
<xs:enumeration value="Community Foundation"/>
<xs:enumeration value="High School"/>
<xs:enumeration value="Hosting Service"/>
<xs:enumeration value="Private Foundation"/>
<xs:enumeration value="Trade or Technical School"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RelationList">
<xs:annotation>
<xs:documentation>The list of relations. In some uses, may be chained (e.g., Child Of-Employee Of-ExampleCo Inc., which would indicate that children of ExampleCo employees were eligible for the scholarship in question). Dependent includes Child. Family includes Dependent, Child, Parent, and Spouse. Descendant includes Child.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="Child Of"/>
<xs:enumeration value="Customer Of"/>
<xs:enumeration value="Dependent Of"/>
<xs:enumeration value="Descendant Of"/>
<xs:enumeration value="Employee Of"/>
<xs:enumeration value="Family Of"/>
<xs:enumeration value="Member Of"/>
<xs:enumeration value="Parent Of"/>
<xs:enumeration value="Spouse Of"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="USCitizenshipStatusEligibilityCriteriaList">
<xs:annotation>
<xs:documentation>The list of U.S. citizenship eligibility and qualification criteria, roughly aligned with the FAFSA categories plus populations served by known providers. By convention, 'other' values will be ignored unless agreed upon between sender and receiver.</xs:documentation>
</xs:annotation>
<xs:restriction base="spi:ShortString">
<xs:enumeration value="U.S. Citizen"/>
<xs:enumeration value="Permanent Resident"/>
<xs:enumeration value="Conditional Permanent Resident"/>
<xs:enumeration value="Current DACA Status"/>
<xs:enumeration value="Pending DACA Application"/>
<xs:enumeration value="FAFSA-Eligible Non-Citizen"/>
<xs:enumeration value="Not a U.S. Citizen"/>
<xs:enumeration value="Asylum-Seeker or Asylee"/>
<xs:enumeration value="Cuban or Haitian Entrant"/>
<xs:enumeration value="Humanitarian Parolee"/>
<xs:enumeration value="Refugee"/>
<xs:enumeration value="California AB 540"/>
<xs:enumeration value="Other"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>