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 DefinedProtocolsType

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

A.3 ExtendedContentType

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

A.4 GUIDType

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

A.5 IdRefType

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

A.6 MonetaryAmountType

A monetary amount.

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

A.7 MsgIdType

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

A.8 ObjectNameType

An unenumerated SIF object name.

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

An unenumerated SIF object name.

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

A.9 RefIdType

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

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

A.11 SelectedContentType

Allows an XML fragment selected from an object to be used in an element with XML validation skipped.
SelectedContentType
Figure A.11-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.11-1: SelectedContentType

A.12 SIF_EventObjectType

The SIF objects that can be included in a SIF_Event message.
SIF_EventObjectType
Figure A.12-1: SIF_EventObjectType SIF_EventObjectType AssessmentLearnerSet AssessmentResultComponent AssessmentResultComponentGroup AssessmentResultGradeSet AssessmentSession ContactPersonal Cycle Identity Junction LAInfo LearnerAssessmentResponseSet LearnerAssessmentResult LearnerAttendance LearnerAttendanceSummary LearnerBehaviourIncident LearnerContact LearnerEntitlement LearnerExclusion LearnerGroupEnrolment LearnerPersonal LearnerSchoolEnrolment LearnerSpecialNeeds Lesson NonTeachingActivity PersonDietaryPreference PersonPicture SchoolGroup SchoolGroupType SchoolInfo SchoolMealStatus Scope SIF_AgentACL SIF_LogEntry SIF_ZoneStatus TeachingGroup TermInfo TTRoom TTSite TTSubject TTTeacher WorkforcePersonal
 Element/@AttributeCharDescriptionType
 SIF_EventObjectType The SIF objects that can be included in a SIF_Event message. choice of:

AssessmentLearnerSet
AssessmentResultComponent
AssessmentResultComponentGroup
AssessmentResultGradeSet
AssessmentSession
ContactPersonal
Cycle
Identity
Junction
LAInfo
LearnerAssessmentResponseSet
LearnerAssessmentResult
LearnerAttendance
LearnerAttendanceSummary
LearnerBehaviourIncident
LearnerContact
LearnerEntitlement
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
Lesson
NonTeachingActivity
PersonDietaryPreference
PersonPicture
SchoolGroup
SchoolGroupType
SchoolInfo
SchoolMealStatus
Scope
SIF_AgentACL
SIF_LogEntry
SIF_ZoneStatus
TeachingGroup
TermInfo
TTRoom
TTSite
TTSubject
TTTeacher
WorkforcePersonal
Table A.12-1: SIF_EventObjectType

A.13 SIF_ExampleObjectType

The SIF objects that can be included in SIF_Query/SIF_Example.
SIF_ExampleObjectType
Figure A.13-1: SIF_ExampleObjectType SIF_ExampleObjectType
 Element/@AttributeCharDescriptionType
 SIF_ExampleObjectType The SIF objects that can be included in SIF_Query/SIF_ExampleEMPTY
Table A.13-1: SIF_ExampleObjectType

A.14 SIF_LogEntryExtendedContentType

Allows for any mixed XML in an element. XSD content processing is set to skip.
SIF_LogEntryExtendedContentType
Figure A.14-1: SIF_LogEntryExtendedContentType SIF_LogEntryExtendedContentType
 Element/@AttributeCharDescriptionType
 SIF_LogEntryExtendedContentType Allows for any mixed XML in an element. XSD content processing is set to skip. 
<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.14-1: SIF_LogEntryExtendedContentType

A.15 SIF_ProvideObjectNamesType

The SIF object names that can be specified in a SIF_Provide message.
SIF_ProvideObjectNamesType
Figure A.15-1: SIF_ProvideObjectNamesType SIF_ProvideObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_ProvideObjectNamesType The SIF object names that can be specified in a SIF_Provide message. values:
AssessmentLearnerSet
AssessmentResponseComponent
AssessmentResponseComponentGroup
AssessmentResultComponent
AssessmentResultComponentGroup
AssessmentResultGradeSet
AssessmentSession
ContactPersonal
Cycle
Identity
Junction
LAInfo
LearnerAssessmentResponseSet
LearnerAssessmentResult
LearnerAttendance
LearnerAttendanceSummary
LearnerBehaviourIncident
LearnerContact
LearnerEntitlement
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
Lesson
NonTeachingActivity
PersonDietaryPreference
PersonPicture
SchoolGroup
SchoolGroupType
SchoolInfo
SchoolMealStatus
Scope
SIF_LogEntry
TeachingGroup
TermInfo
TTRoom
TTSite
TTSubject
TTTeacher
WorkforcePersonal
Table A.15-1: SIF_ProvideObjectNamesType

A.16 SIF_RequestObjectNamesType

The SIF object names that can be specified in a SIF_Request message, or every SIF object name.
SIF_RequestObjectNamesType
Figure A.16-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:
AssessmentLearnerSet
AssessmentResponseComponent
AssessmentResponseComponentGroup
AssessmentResultComponent
AssessmentResultComponentGroup
AssessmentResultGradeSet
AssessmentSession
ContactPersonal
Cycle
Identity
Junction
LAInfo
LearnerAssessmentResponseSet
LearnerAssessmentResult
LearnerAttendance
LearnerAttendanceSummary
LearnerBehaviourIncident
LearnerContact
LearnerEntitlement
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
Lesson
NonTeachingActivity
PersonDietaryPreference
PersonPicture
SchoolGroup
SchoolGroupType
SchoolInfo
SchoolMealStatus
Scope
SIF_AgentACL
SIF_LogEntry
SIF_ZoneStatus
TeachingGroup
TermInfo
TTRoom
TTSite
TTSubject
TTTeacher
WorkforcePersonal
Table A.16-1: SIF_RequestObjectNamesType

A.17 SIF_ResponseObjectsType

The SIF objects that can be included, repeated, in a SIF_Response message.
SIF_ResponseObjectsType
Figure A.17-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:AssessmentLearnerSet" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentResponseComponent" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentResponseComponentGroup" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentResultComponent" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentResultComponentGroup" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentResultGradeSet" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentSession" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ContactPersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Cycle" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Identity" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Junction" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LAInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerAssessmentResponseSet" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerAssessmentResult" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerAttendance" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerAttendanceSummary" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerBehaviourIncident" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerContact" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearnerEntitlement" 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:Lesson" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:NonTeachingActivity" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:PersonDietaryPreference" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:PersonPicture" 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:SchoolMealStatus" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Scope" 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_ZoneStatus" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TeachingGroup" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TermInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TTRoom" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TTSite" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TTSubject" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TTTeacher" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:WorkforcePersonal" maxOccurs="unbounded" /> </xs:sequence> </xs:choice>
Table A.17-1: SIF_ResponseObjectsType

A.18 SIF_ResponseObjectType

The SIF objects that can be included in a SIF_Response message, or every SIF object.
SIF_ResponseObjectType
Figure A.18-1: SIF_ResponseObjectType SIF_ResponseObjectType AssessmentLearnerSet AssessmentResponseComponent AssessmentResponseComponentGroup AssessmentResultComponent AssessmentResultComponentGroup AssessmentResultGradeSet AssessmentSession ContactPersonal Cycle Identity Junction LAInfo LearnerAssessmentResponseSet LearnerAssessmentResult LearnerAttendance LearnerAttendanceSummary LearnerBehaviourIncident LearnerContact LearnerEntitlement LearnerExclusion LearnerGroupEnrolment LearnerPersonal LearnerSchoolEnrolment LearnerSpecialNeeds Lesson NonTeachingActivity PersonDietaryPreference PersonPicture SchoolGroup SchoolGroupType SchoolInfo SchoolMealStatus Scope SIF_AgentACL SIF_LogEntry SIF_ZoneStatus TeachingGroup TermInfo TTRoom TTSite TTSubject TTTeacher WorkforcePersonal
 Element/@AttributeCharDescriptionType
 SIF_ResponseObjectType The SIF objects that can be included in a SIF_Response message, or every SIF object. choice of:

AssessmentLearnerSet
AssessmentResponseComponent
AssessmentResponseComponentGroup
AssessmentResultComponent
AssessmentResultComponentGroup
AssessmentResultGradeSet
AssessmentSession
ContactPersonal
Cycle
Identity
Junction
LAInfo
LearnerAssessmentResponseSet
LearnerAssessmentResult
LearnerAttendance
LearnerAttendanceSummary
LearnerBehaviourIncident
LearnerContact
LearnerEntitlement
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
Lesson
NonTeachingActivity
PersonDietaryPreference
PersonPicture
SchoolGroup
SchoolGroupType
SchoolInfo
SchoolMealStatus
Scope
SIF_AgentACL
SIF_LogEntry
SIF_ZoneStatus
TeachingGroup
TermInfo
TTRoom
TTSite
TTSubject
TTTeacher
WorkforcePersonal
Table A.18-1: SIF_ResponseObjectType

A.19 SIF_SubscribeObjectNamesType

The SIF object names that can be specified in a SIF_Subscribe message.
SIF_SubscribeObjectNamesType
Figure A.19-1: SIF_SubscribeObjectNamesType SIF_SubscribeObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_SubscribeObjectNamesType The SIF object names that can be specified in a SIF_Subscribe message. values:
AssessmentLearnerSet
AssessmentResultComponent
AssessmentResultComponentGroup
AssessmentResultGradeSet
AssessmentSession
ContactPersonal
Cycle
Identity
Junction
LAInfo
LearnerAssessmentResponseSet
LearnerAssessmentResult
LearnerAttendance
LearnerAttendanceSummary
LearnerBehaviourIncident
LearnerContact
LearnerEntitlement
LearnerExclusion
LearnerGroupEnrolment
LearnerPersonal
LearnerSchoolEnrolment
LearnerSpecialNeeds
Lesson
NonTeachingActivity
PersonDietaryPreference
PersonPicture
SchoolGroup
SchoolGroupType
SchoolInfo
SchoolMealStatus
Scope
SIF_AgentACL
SIF_LogEntry
SIF_ZoneStatus
TeachingGroup
TermInfo
TTRoom
TTSite
TTSubject
TTTeacher
WorkforcePersonal
Table A.19-1: SIF_SubscribeObjectNamesType

A.20 URIOrBinaryType

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

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

A.21 VersionType

A SIF version number.
VersionType
Figure A.21-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.21-1: VersionType

A.22 VersionWithWildcardsType

A SIF version number, with wildcards for matching multiple versions.
VersionWithWildcardsType
Figure A.22-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.22-1: VersionWithWildcardsType

Valid XHTML 1.0 Transitional