Appendix A: Common Types

Common and supporting types referenced in this specification are included here as a reference.

A.1 AbstractContentElementType

AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.

AbstractContentElementType
Figure A.1-1: AbstractContentElementType AbstractContentElementType XMLData Description TextData MIMEType FileName Description BinaryData MIMEType FileName Description Reference MIMEType Description URL
 Element/@AttributeCharDescriptionType
 AbstractContentElementType 

AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.

 
 
 XMLDataC

Contains an arbitary XML element, encoded in UTF-8.

 
<xs:any processContents="lax" />
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 TextDataC

Contains arbitrary text, encoded in UTF-8.

 
xs:string
@MIMETypeO

Optional MIME type to specifically indicate the text type. Otherwise text/plain can be assumed.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 BinaryDataC

Contains the base64Binary encoding of binary or text data not encoded in UTF-8.

 
xs:base64Binary
@MIMETypeM

MIME type to indicate the content type.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 ReferenceC

References external content via a URL.

 
 
@MIMETypeM

MIME type to indicate the content type to be expected when retrieving the external content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 Reference/URLM

Location of external content.

 
xs:anyURI
Table A.1-1: AbstractContentElementType

A.2 AbstractContentPackageType

An abstract type for derived content package types, elements and objects. This structure may be used verbatim, optionally extending with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML contained in XMLData. Only one instance of XMLData, TextData, BinaryData or Reference can occur in a single instance.

AbstractContentPackageType
Figure A.2-1: AbstractContentPackageType AbstractContentPackageType RefId XMLData Description TextData MIMEType FileName Description BinaryData MIMEType FileName Description Reference MIMEType Description URL
 Element/@AttributeCharDescriptionType
 AbstractContentPackageType 

An abstract type for derived content package types, elements and objects. This structure may be used verbatim, optionally extending with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML contained in XMLData. Only one instance of XMLData, TextData, BinaryData or Reference can occur in a single instance.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the package.

 
RefIdType
 XMLDataC

Contains an arbitary XML element, encoded in UTF-8.

 
<xs:any processContents="lax" />
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 TextDataC

Contains arbitrary text, encoded in UTF-8.

 
xs:string
@MIMETypeO

Optional MIME type to specifically indicate the text type. Otherwise text/plain can be assumed.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 BinaryDataC

Contains the base64Binary encoding of binary or text data not encoded in UTF-8.

 
xs:base64Binary
@MIMETypeM

MIME type to indicate the content type.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 ReferenceC

References external content via a URL.

 
 
@MIMETypeM

MIME type to indicate the content type to be expected when retrieving the external content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 Reference/URLM

Location of external content.

 
xs:anyURI
Table A.2-1: AbstractContentPackageType

A.3 BaseNameType

Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.

BaseNameType
Figure A.3-1: BaseNameType BaseNameType Prefix LastName FirstName MiddleName Suffix PreferredName SortName FullName
 Element/@AttributeCharDescriptionType
 BaseNameType 

Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.

 
 
 PrefixO

A prefix associated with the name like Mr., Ms., etc.

 
xs:normalizedString
 LastNameM

The last name.

 
LastName
 FirstNameM

The first name.

 
FirstName
 MiddleNameO

The middle name or initial.

 
MiddleName
 SuffixO

Generation of suffix like II, Jr., etc.

 
xs:normalizedString
 PreferredNameO

This is a name that the person prefers to be called by.

 
xs:normalizedString
 SortNameO

This is the name to be used for sorting purposes.

 
xs:normalizedString
 FullNameO

A free text field for the complete name.

 
xs:normalizedString
Table A.3-1: BaseNameType
<Name Type="04"> <Prefix>Mr.</Prefix> <LastName>Woodall</LastName> <FirstName>Charles</FirstName> <MiddleName>William</MiddleName> <PreferredName>Chuck</PreferredName> </Name>
Example A.3-1: BaseNameType

A.4 DefinedProtocolsType

The transport protocols defined in SIF.
DefinedProtocolsType
Figure A.4-1: DefinedProtocolsType DefinedProtocolsType
 Element/@AttributeCharDescriptionType
 DefinedProtocolsType The transport protocols defined in SIF. values:
HTTPS
HTTP
Table A.4-1: DefinedProtocolsType

A.5 ExtendedContentType

Allows for any mixed XML in an element.
ExtendedContentType
Figure A.5-1: ExtendedContentType ExtendedContentType
 Element/@AttributeCharDescriptionType
 ExtendedContentType Allows for any mixed XML in an element. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.5-1: ExtendedContentType

A.6 FSAmountType

This provides information about the value of a food service transaction amount. When credits are specified the value is the total cash value of all the credits.

FSAmountType
Figure A.6-1: FSAmountType FSAmountType Type Credits
 Element/@AttributeCharDescriptionType
 FSAmountType  MonetaryAmountType
@Type 

Type of amount. Note that when this common element is used not all of the following values apply. There are notes to indicate values that are applicable.

The type Value is used to denote the value of the amount.

 
values:
Cash
BreakfastCredit
LunchCredit
Check
CreditCard
ACH
Value
@Credits 

Number of credits. This attribute does not apply to Cash or Value and hence has a value 0. It only applies to types BreakfastCredit and LunchCredit.

 
xs:decimal
Table A.6-1: FSAmountType

A.7 FSCountType

Reports aggregate counts and, optionally, received funds for individual combinations of student or staff meal status and meal type.

FSCountType
Figure A.7-1: FSCountType FSCountType MealStatus EarnedStatus MealType Amount Tax Value
 Element/@AttributeCharDescriptionType
 FSCountType 

Reports aggregate counts and, optionally, received funds for individual combinations of student or staff meal status and meal type.

 
 
 MealStatusC

Student meal status. If a meal status applies, either MealStatus (for students), or EarnedStatus (for staff) is specified.

 
MealStatus
 EarnedStatusC

Staff meal status.

 
EarnedStatus
 MealTypeO MealType
 AmountO FSAmountType
 TaxO

Value of tax collected.

 
MonetaryAmountType
 ValueM

The value of the count.

 
xs:decimal
Table A.7-1: FSCountType

A.8 GUIDType

SIF format for a GUID.
GUIDType
Figure A.8-1: GUIDType GUIDType
 Element/@AttributeCharDescriptionType
 GUIDType SIF format for a GUID. xs:token
xs:pattern[0-9A-F]{32}
Table A.8-1: GUIDType

A.9 IdRefType

A reference to a RefId.
IdRefType
Figure A.9-1: IdRefType IdRefType
 Element/@AttributeCharDescriptionType
 IdRefType A reference to a RefId. RefIdType
Table A.9-1: IdRefType

A.10 MonetaryAmountType

A monetary amount.

MonetaryAmountType
Figure A.10-1: MonetaryAmountType MonetaryAmountType Currency
 Element/@AttributeCharDescriptionType
 MonetaryAmountType 

A monetary amount.

 
xs:decimal
@CurrencyOCurrency code. Where omitted, defaults to implementation-defined local currency, typically USD in the United States. ISO4217CurrencyNamesAndCodeElementsType
Table A.10-1: MonetaryAmountType

A.11 MsgIdType

A message identifier.
MsgIdType
Figure A.11-1: MsgIdType MsgIdType
 Element/@AttributeCharDescriptionType
 MsgIdType A message identifier. GUIDType
Table A.11-1: MsgIdType

A.12 NameOfRecordType

Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record; serves as the primary name in some SIF objects, including StudentPersonal.

NameOfRecordType
Figure A.12-1: NameOfRecordType NameOfRecordType Type
 Element/@AttributeCharDescriptionType
 NameOfRecordType 

Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record; serves as the primary name in some SIF objects, including StudentPersonal.

 
BaseNameType
@TypeM

Code that specifies what type of name this is.

 
values:
04
Name of Record
Table A.12-1: NameOfRecordType

A.13 ObjectNameType

An unenumerated SIF object name.

ObjectNameType
Figure A.13-1: ObjectNameType ObjectNameType
 Element/@AttributeCharDescriptionType
 ObjectNameType 

An unenumerated SIF object name.

 
xs:NCName
xs:maxLength64
Table A.13-1: ObjectNameType

A.14 ObjectType

A SIF XML object.

ObjectType
Figure A.14-1: ObjectType ObjectType
 Element/@AttributeCharDescriptionType
 ObjectType 

A SIF XML object.

 
<xs:sequence> <xs:any processContents="lax" minOccurs="1" maxOccurs="unbounded" namespace="##any" /> </xs:sequence>
Table A.14-1: ObjectType

A.15 OrganizationRelationshipType

Provides information about a student's relationship to an organization.

OrganizationRelationshipType
Figure A.15-1: OrganizationRelationshipType OrganizationRelationshipType ResidencyStatus Code OtherCodeList ProvidingInstruction ProvidingServices FinanciallyResponsible
 Element/@AttributeCharDescriptionType
 OrganizationRelationshipType 

Provides information about a student's relationship to an organization.

 
 
 ResidencyStatusM  
 ResidencyStatus/CodeM

Location of an individual's legal residence relative to (within or outside) the boundaries of the organization.

 
NCES0598PublicSchoolResidenceStatusType
 ResidencyStatus/OtherCodeList
     
O OtherCodeList
 ProvidingInstructionM

Flag that indicates if the reporting organization is providing instruction to the student.

 
xs:boolean
 ProvidingServicesM

Flag that indicates if the reporting organization is providing services that are not related to instruction to the student. An example of a non-instructional service is transportation.

 
xs:boolean
 FinanciallyResponsibleM

Flag that indicates if the reporting organization is financially responsible for the student.

 
xs:boolean
Table A.15-1: OrganizationRelationshipType

A.16 OtherNameType

Extends BaseNameType to allow for Type attribute values excluding "name of record." Used for other names to be included in addition to the name of record in objects like StudentPersonal.

OtherNameType
Figure A.16-1: OtherNameType OtherNameType Type
 Element/@AttributeCharDescriptionType
 OtherNameType 

Extends BaseNameType to allow for Type attribute values excluding "name of record." Used for other names to be included in addition to the name of record in objects like StudentPersonal.

 
BaseNameType
@TypeM

Code that specifies what type of name this is, excluding "name of record."

 
values:
01
Given Name (Name at Birth)
02
Current Legal
03
Alias
05
Previous Name (sometimes called Maiden Name of Female Persons)
07
Married Name
08
Professional Name
Table A.16-1: OtherNameType

A.17 PartialDateType

A year, with an optional month/day, or an optional month by itself.

PartialDateType
Figure A.17-1: PartialDateType PartialDateType
 Element/@AttributeCharDescriptionType
 PartialDateType 

A year, with an optional month/day, or an optional month by itself.

 
union of:

xs:date
xs:gYearMonth
xs:gYear
Table A.17-1: PartialDateType

A.18 RefIdType

An object or element identifier.
RefIdType
Figure A.18-1: RefIdType RefIdType
 Element/@AttributeCharDescriptionType
 RefIdType An object or element identifier. GUIDType
Table A.18-1: RefIdType

A.19 ReportDataObjectType

A SIF XML object.

ReportDataObjectType
Figure A.19-1: ReportDataObjectType ReportDataObjectType
 Element/@AttributeCharDescriptionType
 ReportDataObjectType 

A SIF XML object.

 
<xs:sequence> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence>
Table A.19-1: ReportDataObjectType

A.20 ReportPackageType

This package has exactly the same structure as AbstractContentPackageType. ReportPackage can be used in addition to SIF objects specifically in reporting situations within SIF_ReportObject. At this time, it is not a SIF object. It cannot be requested via SIF_Query or SIF_ExtendedQuery in a ReportManifest. It may be included in SIF_ReportObject as part of an external report definition.
ReportPackageType
Figure A.20-1: ReportPackageType ReportPackageType
 Element/@AttributeCharDescriptionType
 ReportPackageType  This package has exactly the same structure as AbstractContentPackageType. ReportPackage can be used in addition to SIF objects specifically in reporting situations within SIF_ReportObject. At this time, it is not a SIF object. It cannot be requested via SIF_Query or SIF_ExtendedQuery in a ReportManifest. It may be included in SIF_ReportObject as part of an external report definition.  AbstractContentPackageType
Table A.20-1: ReportPackageType

A.21 SelectedContentType

Allows an XML fragment selected from an object to be used in an element with XML validation skipped.
SelectedContentType
Figure A.21-1: SelectedContentType SelectedContentType
 Element/@AttributeCharDescriptionType
 SelectedContentType Allows an XML fragment selected from an object to be used in an element with XML validation skipped. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.21-1: SelectedContentType

A.22 ServiceNameType

An unenumerated SIF object name.

ServiceNameType
Figure A.22-1: ServiceNameType ServiceNameType
 Element/@AttributeCharDescriptionType
 ServiceNameType 

An unenumerated SIF object name.

 
xs:NCName
Table A.22-1: ServiceNameType

A.23 StaffParametersType

Characteristics of the staff person identified by the district which the state uses to perform its matching logic.

StaffParametersType
Figure A.23-1: StaffParametersType StaffParametersType StateProvinceId LocalId SIF_RefId SSN Names Name Addresses Address Demographics Contacts Contact Relationship Names Name OtherIdList EducationalLevel EffectiveDate StartDate EndDate OtherIdList TimeElement
 Element/@AttributeCharDescriptionType
 StaffParametersType 

Characteristics of the staff person identified by the district which the state uses to perform its matching logic.

 
 
 StateProvinceIdO

Specified if the requesting agency believes it knows the person’s state Id.

 
StateProvinceId
 LocalIdO

This is the requesting agent’s unique Id for the person.

 
LocalId
 SIF_RefIdO

Requesting agency’s local zone’s GUID of the person’s data source object.

 
IdRefType
 SSNO

Social security number of the person.

 
SSN
 NamesO

The name(s) of the person.

 
List
 Names/NameOR

The name(s) of the person.

 
Name
 AddressesO

The address(es) of the person.

 
List
 Addresses/AddressOR

The address(es) of the person.

 
Address
 DemographicsO

Demographic information about the person. This will typically be the core matching information. Privacy considerations may mean that it is filled differently here than it might be in a local object, but it must include enough to drive the state's matching algorithms.

 
Demographics
 ContactsO

Typically used to provide the state information about a person's parents and legal guardians.

 
List
 Contacts/ContactOR

Typically used to provide the state information about a person's parents and legal guardians.

 
 
 Contacts/Contact/Relationship
     
M

Relationship to the person.

 
Relationship
 Contacts/Contact/NamesO

The name(s) of the contact.

 
List
 Contacts/Contact/Names/Name
     
OR

The name(s) of the contact.

 
Name
 Contacts/Contact/OtherIdList
     
O

OtherIds associated with the contact .

 
OtherIdList
 Contacts/Contact/EducationalLevel
     
O

The highest level of education completed by the contact person.

 
EducationalLevel
 EffectiveDateO

This should match StudentSchoolEnrollment/EntryDate.

 
xs:date
 StartDateO

Start date for a range that is being requested. In most cases this will correspond to the school entry date.

 
xs:date
 EndDateO

End date for a range that is being requested. In most cases this will correspond to the school exit date.

 
xs:date
 OtherIdListO

Additional person identifiers not represented elsewhere in Characteristics (e.g. the driver's license number of the person ).

 
OtherIdList
 TimeElementO

SIF_Metadata’s TimeElement may be specified to indicate a time duration to which the characteristics apply (as opposed to adding new elements to Characteristics). This metadata may be supplied by systems that know a student existed in a district during a certain time period (e.g. a system initiating a student record exchange). If the responder is able to make use of the metadata, it may do so to narrow down the student look-up; otherwise the metadata can be ignored or logged.

 
TimeElement
Table A.23-1: StaffParametersType

A.24 StudentParametersType

Characteristics of the student identified by the district which the state uses to perform its locator matching logic.

StudentParametersType
Figure A.24-1: StudentParametersType StudentParametersType StateProvinceId LocalId SIF_RefId GradeLevel SSN Names Name Addresses Address Demographics Contacts Contact Relationship Names Name OtherIdList EducationalLevel EffectiveDate StartDate EndDate GraduationDate SchoolAttendedName SchoolAttendedLocation OtherIdList TimeElement
 Element/@AttributeCharDescriptionType
 StudentParametersType 

Characteristics of the student identified by the district which the state uses to perform its locator matching logic.

 
 
 StateProvinceIdO

Specified if the requesting agency believes it knows the person’s state Id.

 
StateProvinceId
 LocalIdO

This is the requesting agent’s unique Id for the person.

 
LocalId
 SIF_RefIdO

Requesting agency’s local zone’s GUID of the student's data source object.

 
IdRefType
 GradeLevelO

The student’s current grade level.

 
GradeLevel
 SSNO

Social security number of the person.

 
SSN
 NamesO

The name(s) of the person.

 
List
 Names/NameOR

The name(s) of the person.

 
Name
 AddressesO

The address(es) of the person.

 
List
 Addresses/AddressOR

The address(es) of the person.

 
Address
 DemographicsO

Demographic information about the person. This will typically be the core matching information. Privacy considerations may mean that it is filled differently here than it might be in a local object, but it must include enough to drive the state's matching algorithms.

 
Demographics
 ContactsO

Typically used to provide the state information about a person's parents and legal guardians.

 
List
 Contacts/ContactOR

Typically used to provide the state information about a person's parents and legal guardians.

 
 
 Contacts/Contact/Relationship
     
M

Relationship to the person.

 
Relationship
 Contacts/Contact/NamesO

The name(s) of the contact.

 
List
 Contacts/Contact/Names/Name
     
OR

The name(s) of the contact.

 
Name
 Contacts/Contact/OtherIdList
     
O

OtherIds associated with the contact .

 
OtherIdList
 Contacts/Contact/EducationalLevel
     
O

The highest level of education completed by the contact person.

 
EducationalLevel
 EffectiveDateO

This should match StudentSchoolEnrollment/EntryDate.

 
xs:date
 StartDateO

Start date for a range that is being requested. In most cases this will correspond to the school entry date.

 
xs:date
 EndDateO

End date for a range that is being requested. In most cases this will correspond to the school exit date.

 
xs:date
 GraduationDateO

Indicates the date the person's graduated Year, Year and Month, or Year, Month and Day may be specified. Intended to facilitate locating persons that may not be currently enrolled in a school or district, particularly in the context of locating student identifiers for initiating a request for a student's academic record. Supplied date values may often be approximations made by the entity endeavoring to request a student's academic record.

 
GraduationDate
 SchoolAttendedNameO

The name of the school last attended by the person.

 
xs:normalizedString
 SchoolAttendedLocationO

The location of the school last attended by the person (e.g. city or county name, district name, etc.).

 
xs:normalizedString
 OtherIdListO

Additional person identifiers not represented elsewhere in Characteristics (e.g. the driver's license number of the person ).

 
OtherIdList
 TimeElementO

SIF_Metadata’s TimeElement may be specified to indicate a time duration to which the characteristics apply (as opposed to adding new elements to Characteristics). This metadata may be supplied by systems that know a student existed in a district during a certain time period (e.g. a system initiating a student record exchange). If the responder is able to make use of the metadata, it may do so to narrow down the student look-up; otherwise the metadata can be ignored or logged.

 
TimeElement
Table A.24-1: StudentParametersType

A.25 URIOrBinaryType

Allows for a URL or a Base-64 encoding.
URIOrBinaryType
Figure A.25-1: URIOrBinaryType URIOrBinaryType
 Element/@AttributeCharDescriptionType
 URIOrBinaryType Allows for a URL or a Base-64 encoding. union of:

xs:anyURI
xs:base64Binary
Table A.25-1: URIOrBinaryType

A.26 VersionType

A SIF version number.
VersionType
Figure A.26-1: VersionType VersionType
 Element/@AttributeCharDescriptionType
 VersionType A SIF version number. xs:token
xs:pattern[0-9]+[.][0-9]+(r[0-9]+)?
xs:maxLength12
Table A.26-1: VersionType

A.27 VersionWithWildcardsType

A SIF version number, with wildcards for matching multiple versions.
VersionWithWildcardsType
Figure A.27-1: VersionWithWildcardsType VersionWithWildcardsType
 Element/@AttributeCharDescriptionType
 VersionWithWildcardsType A SIF version number, with wildcards for matching multiple versions. xs:token
xs:pattern\*|([0-9]+[.]\*)|([0-9]+[.][0-9]+r\*)|([0-9]+[.][0-9]+(r[0-9]+)?)
xs:maxLength12
Table A.27-1: VersionWithWildcardsType

Valid XHTML 1.0 Transitional