Date: Thu, 28 Mar 2024 03:36:48 -0500 (CDT) Message-ID: <595230003.28326.1711615008293@PUBEDFIPRDWEB5.public.local> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_28325_798629854.1711615008292" ------=_Part_28325_798629854.1711615008292 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Enumerations define a =E2=80=9Ccontrolled vocabulary=E2= =80=9D for the value for an attribute. Enumerations enable standard categor= izations and tagging to enable standard reporting. In many cases, the contr= olled vocabulary is defined by rules or policies defined at the state or fe= deral level.
Enumerations are a base simple type in the XSD specification containing =
a list of possible values. Single-valued enumerations are shown as restrict=
ions of the base simple type xs:token
, as illustrated below:=
p>
<xs:s= impleType name=3D=E2=80=9DGraduationPlanTypeMapType=E2=80=9D> . . . =09<xs:restriction base=3D=E2=80=9Dxs:token=E2=80=9D> =09=09<xs:enumeration value=3D=E2=80=9DCareer and Technical Education=E2= =80=9D> . . . =09=09<xs:enumeration value=3D=E2=80=9DDistinguished=E2=80=9D> . . . =09=09<xs:enumeration value=3D=E2=80=9DMinimum=E2=80=9D> . . . =09=09<xs:enumeration value=3D=E2=80=9DRecommended=E2=80=9D> . . . =09=09<xs:enumeration value=3D=E2=80=9DStandard=E2=80=9D> . . . =09</xs:restriction> </xs:simpleType>
This convention was chosen in order to have descriptive enumerations ins= tead of codes. Either approach in XML is equally rigorous. The rationa= le is to make the interchange more auditable and reduce mistakes due to sim= ilar, but different, code tables. For example, if the sender sends a code o= f =E2=80=9C12=E2=80=9D the receiver will interpret that with the same meani= ng only if they both are using identical code tables.
Enumerations, particularly when codified in a standard = XML schema, pose several issues:
The Common Education Data Standards (CEDS) effort has l= ooked to define the superset of values for the various enumerations. Howeve= r, this limits validation of enumeration values to the ones actually u= sed at a point in time by a specific organization. This tends to make the e= numerations lists large and growing larger over time.
The Ed-Fi Data Standard addresses this inherent limitat= ion of enumerations in XML using a design pattern called Ed-Fi Descriptors.=
Descriptors provide a more malleable alternative to enu= merations. Descriptors are an expanded feature=E2=80=94first introduced in = Ed-Fi Data Standard v1.1=E2=80=94that are vital to accommodate the ways in = which users of the Ed-Fi Data Standard need to refer to enumerated col= lections of values.
Descriptors are enumeration vocabularies that are not = =E2=80=9Cfixed=E2=80=9D within the XML schema, but are defined in XML files= and linked to their source. Descriptors provide implementers with the flex= ibility to define their own enumerations. Key features of the Descriptor Pa= ttern are:
All Descriptors are an extension of the type Descriptor= Type, shown below:
<xs:c= omplexType name=3D=E2=80=9DDescriptorType=E2=80=9D abstract=3D=E2=80=9Dtrue= =E2=80=9D> . . . =09<xs:complexContent> =09=09<xs:extension base=3D=E2=80=9DComplexObjectType=E2=80=9D> =09=09=09<xs:sequence> =09=09=09=09<xs:element name=3D=E2=80=9DCodeValue=E2=80=9D type=3D=E2=80= =9DCodeValue=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DShortDescription=E2=80=9D type= =3D=E2=80=9DShortDescription=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DDescription=E2=80=9D type=3D=E2= =80=9DDescription=E2=80=9D minOccurs=3D=E2=80=9D0=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DEffectiveBeginDate=E2=80=9D type= =3D=E2=80=9Dxs:date=E2=80=9D minOccurs=3D=E2=80=9D0=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DEffectiveEndDate=E2=80=9D type= =3D=E2=80=9Dxs:date=E2=80=9D minOccurs=3D=E2=80=9D0=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DPriorDescriptor=E2=80=9D type=3D= =E2=80=9DDescriptorReferenceType=E2=80=9D minOccurs=3D=E2=80=9D0=E2=80=9D&g= t; . . . =09=09=09=09<xs:element name=3D=E2=80=9DNamespace=E2=80=9D type=3D=E2=80= =9DURI=E2=80=9D> . . . =09=09=09</xs:sequence> =09=09</xs:extension> =09</xs:complexContent> </xs:complexType>
Consider the example of PerformanceLevel for an Assessm= ent. The performance levels are custom to each assessment (e.g., Met Standa= rd, Commended, College Ready) and cannot be standardized. The PerformanceLe= velDescriptor is shown below.
<xs:c= omplexType name=3D=E2=80=9DPerformanceLevelDescriptor=E2=80=9D> . . . =09<xs:complexContent> =09=09<xs:extension base=3D=E2=80=9DDescriptorType=E2=80=9D> =09=09=09<xs:sequence> =09=09=09=09<xs:element name=3D=E2=80=9DPerformanceBaseConversion=E2=80= =9D type=3D=E2=80=9DPerformanceBaseConversionType=E2=80=9D minOccurs=3D=E2= =80=9D0=E2=80=9D> . . . =09=09=09</xs:sequence> =09=09</xs:extension> =09</xs:complexContent> </xs:complexType>
The entity PerformanceLevelDescriptor holds the CodeVal= ue and Description for each of the performance level enumerations specific = to an assessment, as well as other important attributes.
All Descriptor references are an extension of Descripto= rReferenceType, shown below.
<xs:c= omplexType name=3D=E2=80=9DDescriptorReferenceType=E2=80=9D> . . . =09<xs:complexContent> =09=09<xs:extension base=3D=E2=80=9DReferenceType=E2=80=9D> =09=09=09<xs:sequence> =09=09=09=09<xs:element name=3D=E2=80=9DCodeValue=E2=80=9D type=3D=E2=80= =9DCodeValue=E2=80=9D> . . . =09=09=09=09<xs:element name=3D=E2=80=9DNamespace=E2=80=9D type=3D=E2=80= =9DURI=E2=80=9D minOccurs=3D=E2=80=9D0=E2=80=9D> . . . =09=09=09</xs:sequence> =09=09</xs:extension> =09</xs:complexContent> </xs:complexType>
The entity PerformanceLevelDescriptorReferenceType hold= s the CodeValue and Namespace for the specified performance level enumerati= on.
As an example, for a state to define their own graduati= on codes for GraduationPlanType they would construct an XML file as follows= :
<?xml= version=3D"1.0" encoding=3D"utf-8" standalone=3D"yes"?> <InterchangeDescriptors xmlns=3D"http://ed-fi.org/0200" xmlns:ann=3D"ht= tp://www.ed-fi.org/annotation" xsi:schemaLocation=3D"http://ed-fi.org/0200 = Interchange-Descriptors.xsd" xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-= instance"> =09<GraduationPlanTypeDescriptor> =09=09<CodeValue>27</CodeValue> =09=09<ShortDescription>Minimum</ShortDescription> =09=09<Description>Minimum High School Program =09=09 TAC Chapter 74, revised September 1, 2005; including TAC =C2=A789.= 1070(b)(2) for students =09=09 receiving special education services, revised August 1, 2002. =09=09 (for students who entered grade 9 in 2007-2008 and thereafter)<= /Description> =09=09<EffectiveBeginDate>2007-09-30</EffectiveBeginDate> =09=09<Namespace>http://ritter.tea.state.tx.us/weds/index.html</Na= mespace> =09=09<GraduationPlanTypeMap>Minimum</GraduationPlanTypeMap> =09</GraduationPlanTypeDescriptor> =09<GraduationPlanTypeDescriptor> =09=09<CodeValue>28</CodeValue> =09=09<ShortDescription>Recommended</ShortDescription> =09=09<Description>Recommended High School Program =09=09 TAC Chapter 74, revised September 1, 2005; including TAC =C2=A789.= 1070(b)(2) for students =09=09 receiving special education services, revised August 1, 2002. =09=09 (for students who entered grade 9 in 2007-2008 and thereafter)<= /Description> =09=09<EffectiveBeginDate>2007-09-30</EffectiveBeginDate> =09=09<Namespace>http://ritter.tea.state.tx.us/weds/index.html</Na= mespace> =09=09<GraduationPlanTypeMap>Recommended</GraduationPlanTypeMap>= ; =09</GraduationPlanTypeDescriptor> =09<GraduationPlanTypeDescriptor> =09=09<CodeValue>29</CodeValue> =09=09<ShortDescription>Distinguished</ShortDescription> =09=09<Description>Distinguished High School Program =09=09 TAC Chapter 74, revised September 1, 2005; including TAC =C2=A789.= 1070(b)(2) for students =09=09 receiving special education services, revised August 1, 2002. =09=09 (for students who entered grade 9 in 2007-2008 and thereafter)<= /Description> =09=09<EffectiveBeginDate>2007-09-30</EffectiveBeginDate> =09=09<Namespace>http://ritter.tea.state.tx.us/weds/index.html</Na= mespace> =09=09<GraduationPlanTypeMap>Distinguished</GraduationPlanTypeMap&= gt; =09</GraduationPlanTypeDescriptor>=09 </InterchangeDescriptors>
The above example includes mappings to a GraduationPlanTypeMap enumerati= on.
Note that for Descriptors, the N= amespace is required so the source for the Descriptor definition can be uni= quely determined. An optional AsOfDate may be supplied to give temporal con= text to the Descriptor value reference.
Because each value/code for a Descriptor is defined wit= h a namespace, the controlled vocabulary may be defined combining values fr= om more than one namespace. This allows a state to add codes to a Federally= -defined set or to combine two vocabularies from different contexts. For ex= ample, two code lists might be combined for the DisabilityDescriptor, the I= ndividuals with Disabilities Education Act (IDEA) set of disabilities, and = the Section 504 set of disabilities, with each set referencing a different = namespace.
Find out more about how to develop solutions based on the Ed-Fi Data Sta= ndard v2.0: