Appendix A: Common Types

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

A.1 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.1-1: AbstractContentPackageType AbstractContentPackageType RefId XMLData Description TextData MIMEType FileName Description BinaryData MIMEType FileName Description Reference MIMEType Description URL SIF_Metadata SIF_ExtendedElements
 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
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table A.1-1: AbstractContentPackageType

A.2 BaseNameType

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

BaseNameType
Figure A.2-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.2-1: BaseNameType
Example A.2-1: BaseNameType

A.3 DefinedProtocolsType

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

A.4 ExtendedContentType

Allows for any mixed XML in an element.
ExtendedContentType
Figure A.4-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.4-1: ExtendedContentType

A.5 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.5-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.5-1: FSAmountType

A.6 FSCountType

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

FSCountType
Figure A.6-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.6-1: FSCountType

A.7 GUIDType

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

A.8 IdRefType

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

A.9 MonetaryAmountType

A monetary amount.

MonetaryAmountType
Figure A.9-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.9-1: MonetaryAmountType

A.10 MsgIdType

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

A.11 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.11-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.11-1: NameOfRecordType

A.12 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.12-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.12-1: OtherNameType

A.13 RefIdType

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

A.14 ReportDataObjectType

The SIF objects that can be included in SIF_ReportObject/ReportData, plus ReportPackage.
ReportDataObjectType
Figure A.14-1: ReportDataObjectType ReportDataObjectType ContactPersonal LAInfo LearnerAttendanceSummary LearnerContact LearnerExclusion LearnerGroupEnrolment LearnerPersonal LearnerSchoolEnrolment LearnerSpecialNeeds PersonPicture ReportAuthorityInfo ReportManifest SchoolGroup SchoolGroupType SchoolInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus TermInfo WorkforcePersonal ReportPackage
 Element/@AttributeCharDescriptionType
 ReportDataObjectType The SIF objects that can be included in SIF_ReportObject/ReportData, plus ReportPackagechoice of:

ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
TermInfo
WorkforcePersonal
ReportPackage
Table A.14-1: ReportDataObjectType

A.15 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.15-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.15-1: ReportPackageType

A.16 SIF_EventObjectType

The SIF objects that can be included in a SIF_Event message.
SIF_EventObjectType
Figure A.16-1: SIF_EventObjectType SIF_EventObjectType ContactPersonal LAInfo LearnerAttendanceSummary LearnerContact LearnerExclusion LearnerGroupEnrolment LearnerPersonal LearnerSchoolEnrolment LearnerSpecialNeeds PersonPicture ReportAuthorityInfo ReportManifest SchoolGroup SchoolGroupType SchoolInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus TermInfo WorkforcePersonal
 Element/@AttributeCharDescriptionType
 SIF_EventObjectType The SIF objects that can be included in a SIF_Event message. choice of:

ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
TermInfo
WorkforcePersonal
Table A.16-1: SIF_EventObjectType

A.17 SIF_ProvideObjectNamesType

The SIF object names that can be specified in a SIF_Provide message.
SIF_ProvideObjectNamesType
Figure A.17-1: SIF_ProvideObjectNamesType SIF_ProvideObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_ProvideObjectNamesType The SIF object names that can be specified in a SIF_Provide message. values:
ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_LogEntry
SIF_ReportObject
TermInfo
WorkforcePersonal
Table A.17-1: SIF_ProvideObjectNamesType

A.18 SIF_RequestObjectNamesType

The SIF object names that can be specified in a SIF_Request message, or every SIF object name.
SIF_RequestObjectNamesType
Figure A.18-1: SIF_RequestObjectNamesType SIF_RequestObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_RequestObjectNamesType The SIF object names that can be specified in a SIF_Request message, or every SIF object name. values:
ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
TermInfo
WorkforcePersonal
Table A.18-1: SIF_RequestObjectNamesType

A.19 SIF_ResponseObjectsType

The SIF objects that can be included, repeated, in a SIF_Response message.
SIF_ResponseObjectsType
Figure A.19-1: SIF_ResponseObjectsType SIF_ResponseObjectsType
 Element/@AttributeCharDescriptionType
 SIF_ResponseObjectsType The SIF objects that can be included, repeated, in a SIF_Response message. 
<xs:choice minOccurs="0"> <xs:sequence> <xs:element ref="sif:ContactPersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LAInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerAttendanceSummary" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerContact" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerExclusion" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerGroupEnrolment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerPersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerSchoolEnrolment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerSpecialNeeds" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:PersonPicture" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ReportAuthorityInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ReportManifest" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SchoolGroup" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SchoolGroupType" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SchoolInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_AgentACL" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_LogEntry" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_ReportObject" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_ZoneStatus" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TermInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:WorkforcePersonal" maxOccurs="unbounded" /> </xs:sequence> </xs:choice>
Table A.19-1: SIF_ResponseObjectsType

A.20 SIF_ResponseObjectType

The SIF objects that can be included in a SIF_Response message, or every SIF object.
SIF_ResponseObjectType
Figure A.20-1: SIF_ResponseObjectType SIF_ResponseObjectType ContactPersonal LAInfo LearnerAttendanceSummary LearnerContact LearnerExclusion LearnerGroupEnrolment LearnerPersonal LearnerSchoolEnrolment LearnerSpecialNeeds PersonPicture ReportAuthorityInfo ReportManifest SchoolGroup SchoolGroupType SchoolInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus TermInfo WorkforcePersonal
 Element/@AttributeCharDescriptionType
 SIF_ResponseObjectType The SIF objects that can be included in a SIF_Response message, or every SIF object. choice of:

ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
TermInfo
WorkforcePersonal
Table A.20-1: SIF_ResponseObjectType

A.21 SIF_SubscribeObjectNamesType

The SIF object names that can be specified in a SIF_Subscribe message.
SIF_SubscribeObjectNamesType
Figure A.21-1: SIF_SubscribeObjectNamesType SIF_SubscribeObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_SubscribeObjectNamesType The SIF object names that can be specified in a SIF_Subscribe message. values:
ContactPersonal
LAInfo
LearnerAttendanceSummary
LearnerContact
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
PersonPicture
ReportAuthorityInfo
ReportManifest
SchoolGroup
SchoolGroupType
SchoolInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
TermInfo
WorkforcePersonal
Table A.21-1: SIF_SubscribeObjectNamesType

A.22 URIOrBinaryType

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

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

A.23 VersionType

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

A.24 VersionWithWildcardsType

A SIF version number, with wildcards for matching multiple versions.
VersionWithWildcardsType
Figure A.24-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]+)?)
Table A.24-1: VersionWithWildcardsType

Valid XHTML 1.0 Transitional