...
The Ed-Fi Unifying Data Model maps to all of the data required, except whether the submission is official or unofficial. For this, a the EXTENSION-Ed-Fi-Extended-Core.xsd file to contain the types extending the Ed-Fi Core is created, including the Ed-Fi-Core.xsd as follows:
Code Block |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ed-fi.org/0200" targetNamespace="http://ed-fi.org/0200" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Ed-Fi-Core.xsd"/>
<xs:annotation>
<xs:documentation>===== Ed-Fi 2.0 Extensions =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Domain Entities =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Descriptors =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Associations =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Extended Reference Types =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Extended Descriptor Reference Types =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Common Types =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Enumerations =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== String Simple Types =====</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>===== Numeric Simple Types =====</xs:documentation>
</xs:annotation>
</xs:schema> |
The new enumeration type is created, as follows:
Code Block |
---|
|
. . .
<xs:annotation>
<xs:documentation>===== Enumerations =====</xs:documentation>
</xs:annotation>
<xs:simpleType name=”EXTENSION-SubmissionCertificationType”>"EXTENSION-SubmissionCertificationType">
<xs:restriction base=”xs:token”>"xs:token">
<xs:enumeration value=”Official”"Official"/>
<xs:enumeration value=”Unofficial”"nofficial"/>
</xs:restriction>
</xs:simpleType>
. . . |
Using this new type, the StudentAcademicRecord is extended as follows:
Code Block |
---|
|
. . .
<xs:annotation>
<xs:documentation>===== Domain Entities =====</xs:documentation>
</xs:annotation>
<xs:complexType name=”EXTENSION-StudentAcademicRecordExtension”>'EXTENSION-StudentAcademicRecordExtension'>
<xs:complexContent>
<xs:extension base=”StudentAcademicRecord”>'StudentAcademicRecord'>
<xs:sequence>
<xs:element name=”SubmissionCertification”'SubmissionCertification' type=”EXTENSION'EXTENSION-SubmissionCertificationType”SubmissionCertificationType'/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
. . . |
Step 6: Validate Extended Reference Types for External References.
...
With the required entities and associations identified, the interchange schema file is created, including the EXTENSION-Ed-Fi-Extended-Core.xsd. As described earlier, an element is created for the interchange with an unbounded OR for each of the required complex types, as depicted below:
...
Code Block |
---|
|
<?xml version=”1"1.0”0" encoding=”UTF"UTF-8”?8"?>
<!-- (c)2015 Ed-Fi Alliance, LLC. All Rights Reserved. -->
<xs:schema xmlns:xs=”http"http://www.w3.org/2001/XMLSchema”XMLSchema" xmlns=”http"http://ed-fi.org/0200”0200" targetNamespace=”http"http://ed-fi.org/0200”0200" elementFormDefault=”qualified”"qualified" attributeFormDefault=”unqualified”>"unqualified">
<xs:include schemaLocation=”Ed"EXTENSION-Ed-Fi-Extended-Core.xsd”xsd"/>
<xs:element name=”InterchangeHSGeneratedStudentTranscript”>"InterchangeHSGeneratedStudentTranscript">
<xs:complexType>
<xs:choice maxOccurs=”unbounded”>"unbounded">
<xs:element name=”Student”'Student' type=”Student”'Student' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”StudentSchoolAssociation”'StudentSchoolAssociation' type=”StudentSchoolAssociation”'StudentSchoolAssociation' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”StudentAcademicRecord”'StudentAcademicRecord' type=”EXTENSION'EXTENSION-StudentAcademicRecordExtension”StudentAcademicRecordExtension' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”CourseTranscript”'CourseTranscript' type=”CourseTranscript”'CourseTranscript' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded' />
<xs:element name=”ReportCard”'ReportCard' type=”ReportCard”'ReportCard' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”Grade”'Grade' type=”Grade”'Grade' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”StudentSectionAssociation”'StudentSectionAssociation' type=”StudentSectionAssociation”'StudentSectionAssociation' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”Section”'Section' type=”Section”'Section' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”Course”'Course' type=”Course”'Course' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”StudentAssessment”'StudentAssessment' type=”StudentAssessment”'StudentAssessment' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
<xs:element name=”School”'School' type=”School”'School' minOccurs=”0”'0' maxOccurs=”unbounded”'unbounded'/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name=”EXTENSION-StudentAcademicRecordEExtension”>
<xs:complexContent>
<xs:extension base=”StudentAcademicRecord”>
<xs:sequence>
<xs:element name=”SubmissionCertification” type=”EXTENSION-SubmissionCertification”/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name=”EXTENSION-SubmissionCertificationType”>
<xs:annotation>
<xs:documentation>The indication of whether the submission is official or not.
</xs:documentation>
</xs:annotation>
<xs:restriction base=”xs:token”>
<xs:enumeration value=”Official”/>
<xs:enumeration value=”Unofficial”/>
</xs:restriction>
</xs:simpleType>
</xs:schema> |