This section presents the XML structure for SIF Data Model common elements and objects in a tabular format for readers less versed in parsing formal XML schema definitions, along with conventions that typically apply in the data model for easy reference.
The Char(acteristics) column for all of the tables in this section use the following codes:
Code | Characteristic |
M | Mandatory element or attribute |
O | Optional element or attribute |
C | Conditional element or attribute |
MR | Mandatory and repeatable element |
OR | Optional and repeatable element |
CR | Conditional and repeatable element |
Mandatory elements MUST be present in Add events, and
in non-empty and non-error responses to requests for entire SIF objects (e.g., no SIF_Query/SIF_QueryObject/SIF_Element
elements supplied in the request).
Mandatory attributes MUST always be present if their corresponding element is present.
SIF Agents and Zone Integration Servers MUST supply data according to the types specified in the Type columns and their corresponding equivalents in the most recent schema files associated with this specification. If there is a discrepancy between object and element definitions in this specification and the corresponding schema files, the definition in the schema files takes precedence; every effort will be made to note discrepancies in the errata for this document as they are identified.
XML attributes in SIF are primarily used to provide additional information regarding the associated element content. In addition, attributes at the root level of an object can have special significance. These root-level attributes often serve as the primary key or identifier for the object. In many cases this is no more than a RefId
GUID of RefIdType
, though these object key components may consist solely of foreign key references to other SIF objects and include school years, dates, etc. These object key components (root-level attributes) are immutable over the lifetime of an object and serve the purpose of uniquely identifying an object, especially in Change
and Delete
events. Some Working Groups also include non-object key components in object attributes: e.g., mandatory foreign key references to other objects or attributes that provide additional processing information regarding the object. As SIF currently does not mandate that all object attributes be included in all messages, when a SIF Association Working Group or Task Force places a non-primary key attribute
in the object's attribute definitions (typically out of historical query conventions), they are indicating that this value must still be accessible
to systems in Change
and, more notably, Delete
events. Also, all object key component attributes must be supplied to identify the object
in Change
and Delete
events.
As stated elsewhere, SIF primarily uses GUIDs as object identifiers, primary keys, or RefId
s. References to primary keys (foreign key references)
follow certain conventions in SIF in most objects:
IdRefType
can be defined that consists of the referenced object name
concatenated with RefId
, e.g.,
LearnerPersonalRefId
(a reference to the object identifier/primary key/RefId
of a
LearnerPersonal
object);
IdRefType
, has an element name of a group's choosing (or generically SIF_RefId
) and enumerates all possible object types that can be referenced
in the SIF_RefObject
attribute; or
IdRefType
containing the referenced object's RefId
, the other enumerating
all possible object types that can be referenced; generically these are named SIF_RefId
and SIF_RefObject
, respectively;
naming conventions that programmatically allow identification of the pair beyond the generic names will be documented when the need arises.
For those accustomed to normalized relational databases, the SIF Data Model will appear to be not especially normalized, especially with regard to
repeating groups of data not separated into their own "tables," or in SIF's case, "objects" with primary/foreign keys to maintain the
relationship. Bear in mind that SIF is not a format for storing
data; it is a format for transmitting data asynchronously between disparate and distributed systems needing to share data for
interoperability; the format this data takes in different systems can vary greatly, and the data related to any given "entity" may
come from a variety of sources and systems.
The goals of normalization—eliminating redundancy, organizing data efficiently, reducing inconsistencies, etc.—take on a different meaning in
a message queuing system. Of primary importance is transmitting the data needed for interoperability in a minimum number of messages. The need to "join" together
a great number of separate objects is kept to a minimum in SIF, as individual systems do not have access to all the data required and due to the asynchronous
nature of SIF, any one of these systems may take a fair amount of time before returning data necessary for joins (SIF_ExtendedQuery
has been
developed to communicate a join to a single system that may have direct access to the all the data necessary to efficiently accomplish this task). It's one
thing to make a separate request for a student's picture or enrollment information, another entirely to request every available phone number, address and e-mail
address separately from the SIF Zone. As such, it is often the case in SIF that repeating data is stored directly in an object, rather than being separated
out into a separate object.
Repeating data is very analogous to objects, though, within any given object. In SIF's Publish/Subscribe model, repeating elements in objects
can be added to, changed in or deleted from an object, much like objects can be added to, changed in or deleted from a Zone. Within an existing object, all of these
actions take place within a Change
event, and repeating elements—if any exist initially—are first made available within an object in an Add
event or can be obtained directly via requests. Repeatable elements are contained within a parent List element in most SIF objects
whether or not they support events, e.g.:
Two types of list are currently defined in SIF, ActionList and List; both consist of a list container element and a single repeatable child element. Each type of list serves different needs and has associated conventions for communication and processing in the SIF Publish/Subscribe Model. List or ActionList is specified in the Type column in tables in this section for each list; when an ActionList the key, possibly compound, is also indicated in the Type column. ActionList key values must be unique within an instance of an ActionList.
An ActionList has a key that uniquely identifies each child element within the list. This type of list is primarily used when it is
desirable or necessary for systems to support or refer to a subset of the list, either due to functionally only being able to support a subset
or because specifying a subset in Change
events is more efficient than transmitting a whole list as in List.
While one system may support the
School
and
Personal
e-mail address types above, another may additionally support
Alternate1
addresses.
The second system
is able to communicate the addition, change or deletion of an
Alternate1
address without
the first system inadvertently interpreting
that to mean a student or staff member's
School
and
Personal
addresses have been deleted.
Systems communicate the whole list as a cohesive unit consisting of the parent list container element and all child elements in an Add
event; if the container is present with no child elements, the list is empty; the same is implied when an optional list is not present in an
Add
event. In a Change
event, systems SHOULD only transmit those elements that have been added, changed or deleted. Deletion
is not implied by the omission of a child element, but rather explicitly communicated with a SIF_Action
attribute of Delete
added to the deleted element, along with the element's key attribute(s)/element(s) at a minimum. An empty list in a Change
event implies
no changes have occurred in the list, as does the omission of the list. Systems storing ActionList data should set/replace/delete any
existing values identified by primary keys in the Change
event they support.
A system that supports an
Alternate1
e-mail makes no changes to its value for that address type.
While a unique, primary key may still be identifiable in its child elements, a List is used primarily when:
Lists are always transmitted as a cohesive unit consisting of the parent list container element and all child elements. If no child
elements exist in the list, the list consists of the container element alone. Omission of an optional List in an Add
event
also implies no list items. In a Change
event, omission of the List indicates no changes have been made; otherwise the
parent container element and all child elements, if any, are included. Systems storing
List data should replace all corresponding data in their systems when persisting the list; likewise when a change is made to one or more
list items or when all items in the list are deleted, systems should send the whole list in a Change
event.
A system that supports CountriesOfCitizenship
updates its local data to reflect
United Kingdom and German citizenship.
Some agents follow the convention of supplying an optional element as empty (e.g. <BirthDate></BirthDate>
or <BirthDate/>
to indicate
that the application supports the element, but that it currently has no value available within a given object. To allow for this convention within SIF—as in this example
an empty string does not satisfy the xs:date
type definition of BirthDate
—all optional elements in SIF
are defined as nillable
[SCHEMA]. To satisfy type constraints on an element while still supplying an empty or "nil"
value, agents MUST tag the element with a true
value for the nil
attribute from namespace
http://www.w3.org/2001/XMLSchema-instance
[SCHEMA] (e.g. <BirthDate xsi:nil="true"/>
where the prefix xsi
has been mapped to
the namespace http://www.w3.org/2001/XMLSchema-instance
), unless an empty value is valid with regard to the element's type definition,
in which case supplying the nil
attribute value of true
is optional.
See SIF and XML Namespaces for more details on namespaces, and SIF and XML Schema
for more details on SIF's use of XML Schema.
Note that XML not defined within SIF does not necessarily support ad hoc omission of XML elements at will to conform with the conventions of the SIF Publish/Subscribe Model (where unchanged elements are typically omitted in Change events, and where non-key elements are often omitted in Delete events) or of the SIF Request/Response Model (where a subset of elements can be retrieved from objects with requests). If externally-defined XML occurs within a SIF data object, SIF conventions do not extend to that XML unless that XML is defined to accommodate SIF conventions; the XML, when transmitted, must only conform to any external definitions dictating its structure, if any. Applications should be prepared for the possibility of receiving whole externally-defined XML structures in Change events (regardless of how little or much of the external XML has changed) and possibly also Delete events, likewise in responses even when a subset of the XML structure's child elements may have explicitly been requested.
Element/@Attribute | Char | Description | Type | |||||
---|---|---|---|---|---|---|---|---|
Address | This element contains address data, some of which is defined by the BS7666 International Address and Geographic Location Specification. Other elements are present for support of international addresses. Applications storing address information in the traditional line format must translate this information into the appropriate data elements below. | |||||||
@ | Type | M | Code that defines the address type. | values:
| ||||
LocalId | O | The locally assigned identifier for this address in the publishing system. | xs:normalizedString | |||||
StartDate | O | Date person began using this address. | xs:date | |||||
EndDate | O | Date person stopped using this address. | xs:date | |||||
PAON | M | An element defining the Primary Addressable Object Name (PAON), typically a building number or house name. | ||||||
PAON/Description | C | Dwelling name, or at least a general description of the location in lieu of having any other information. This is required when no other PAON information is provided. | xs:normalizedString | |||||
PAON/StartNumber | O | Start (single) dwelling number. | xs:normalizedString | |||||
PAON/StartNumberSuffix | O | Start (single) dwelling number suffix. | xs:normalizedString | |||||
PAON/EndNumber | O | End dwelling number. | xs:normalizedString | |||||
PAON/EndNumberSuffix | O | End dwelling number suffix. | xs:normalizedString | |||||
SAON | O | The Secondary Addressable Object Name (SAON), identifying a sub-division of the PAON, typically a flat number, room number or unit in a commerical property. | ||||||
SAON/Description | C | Sub-dwelling name, or other descriptive information in lieu of having any other information. This is required when no other SAON data is provided. | xs:normalizedString | |||||
SAON/StartNumber | O | Start (single) dwelling number. | xs:normalizedString | |||||
SAON/StartNumberSuffix | O | Start (single) dwelling number suffix. | xs:normalizedString | |||||
SAON/EndNumber | O | End dwelling number. | xs:normalizedString | |||||
SAON/EndNumberSuffix | O | End dwelling number suffix. | xs:normalizedString | |||||
Street | O | The name of the street. | xs:normalizedString | |||||
Locality | C | The locality name refers to a neighbourhood, suburb, district, village, estate, settlement, or parish that may form part of a town, or stand in its own right within the context of an administrative area. Where an industrial estate contains streets it is defined as a locality in its own right. At least one of Locality, Town, or AdministrativeArea must be specified. | xs:normalizedString | |||||
Town | C | The city name refers to a city or town that is not an adminstrative area, a suburb of an administrative area that does not form part of another town or a London district. At least one of Locality, Town, or AdministrativeArea must be specified. | xs:normalizedString | |||||
AdministrativeArea | C | The administrative area is a geographic area that may be the highest level local administrative area, and may be a county or a unitary authority, an island or island group, or London. At least one of Locality, Town, or AdministrativeArea must be specified | xs:normalizedString | |||||
County | O | Where applicable, the name of the county. | xs:normalizedString | |||||
PostTown | O | Post Office usually assigns these based on Sorting Office. | xs:normalizedString | |||||
PostCode | O |
The code allocated by the Post Office (within GBR) to identify a group of postal delivery points.
Valid Postcode formats are:
A9 9AA | xs:normalizedString | |||||
Country | O | Country where physical address is located, if known. Usually this is going to be 'GBR' but could be outside the UK. | Country | |||||
UniquePropertyReferenceNumber | O | The unique Property and Land Reference Number (UPRN) for this address. Numeric: 1 to 12 digits. | xs:integer
| |||||
UniqueStreetReferenceNumber | O | The unique Property Street Reference Number (USRN) for this address. Numeric: 1 to 8 digits. | xs:integer
| |||||
LocationContext | O | The physical location of an address in terms of Census District, LA Electoral Ward, Parliamentary Constituency, and other defining location-centric characteristics. | LocationContext | |||||
GridLocation | O | The physical property location coordinates. | GridLocation |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
AddressList | A list of Address elements. | ActionList (Address/@Type) | ||
Address | MR | Address | ||
@ | SIF_Action | O | In a Change event, this flag can be used to indicate an element has been deleted from the parent list container. At a minimum the key for the list must also be present. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
ContactList | A list of contact persons associated with a school or LA. | |||
Contact | MR | Information for a single contact. | ||
@ | SIF_RefId | M | The ID (GUID) of the person listed as a contact. Note that this is any person listed as a contact through either a ContactPersonal, WorkforcePersonal, or even a LearnerPersonal record. | IdRefType |
@ | SIF_RefObject | M | The object type being referred to. | values:
|
Contact/PositionTitle | O | The contact person's position title within the school or LA. | xs:normalizedString | |
Contact/Role | O | Role played by this contact in the school or LA. Any descriptive text is allowed here. | xs:normalizedString | |
Contact/PublishInDirectory | O | Indicates whether or not this contact's information should be published in a directory of school or LA information. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
Country | The 3-character alphabetic country code defined by ISO 3166-1. Given this code all other code and name information can be obtained directly from the standard. | TeachernetNationStatesAndCountriesType |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
Demographics | Demographic information about a learner, contact, workforce member, etc. This element occurs within objects such as LearnerPersonal, LearnerContact, etc. | |||
EthnicityList | O | A list of the person's ethnicities by proportion. | EthnicityList | |
Gender | O | Person's gender. | values:
| |
BirthDate | C | The person's date of birth. Required for learners. Optional for others. | xs:date | |
BirthDateVerification | O | Means by which the person's birth date was validated. | UKBirthDateVerificationLevelType | |
PlaceOfBirth | O | The person's place of birth--like village, town, city etc. | xs:normalizedString | |
CountyOfBirth | O | The county in which the person was born. | xs:normalizedString | |
CountryOfBirth | O | The individual's country of birth. | Country | |
CountriesOfCitizenship | O | A list of the countries in which this person has legal nationality. | ||
CountriesOfCitizenship/CountryOfCitizenship | MR | The country of legal nationality (i.e. the country which issued the individual's passport). | Country | |
CountriesOfResidency | O | A list of countries in which this person has residency status. | ||
CountriesOfResidency/CountryOfResidency | MR | A person's country of residence. | Country | |
CountryArrivalDate | O | Date the person first arrived in the UK. | xs:date | |
EnglishProficiency | O | Assessment of a learner's progress in English as an Additional Language. | ||
EnglishProficiency/EALSteps | O | Based on QCA Steps. (England) | values:
| |
EnglishProficiency/EALAcquisition | O | Based on a differing scale from QCA Steps. (Wales) | values:
| |
LanguageList | O | A list of languages spoken by the person The person must be at least somewhat familiar with the language to have it listed here. | ||
LanguageList/Language | MR | |||
LanguageList/Language/Code | M | This is the code that specifies the person's language. | TeachernetLanguagesType | |
LanguageList/Language/Fluent | O | Indicates that the person is fluent in this language. | values:
| |
LanguageList/Language/TypeList | M | A list of the person's language types. | List | |
LanguageList/Language/TypeList/ Type | MR | A typification of the language. i.e. how is this language used? | values:
| |
LanguageList/Language/Source | O | Source of data on use of the specified language. | UKSourceCodeType | |
LanguageList/Language/Study | O | The level in which the learner is taught this language at school. | UKLanguageStudyType | |
LanguageList/Language/StudyOther | O | Indicates whether the learner studies subjects in this language at school separate from studying the language itself. | values:
| |
MaritalStatus | O | The person's marital status. | UKMaritalStatusType | |
NonUKSystemImmigrant | O | Indicates the learner has recently arrived from a non-English or other common UK language system. (Wales) | values:
| |
Refugee | O | Indicates the person's refugee/asylum seeker status as defined by the United Nations (Article 1 of the 1951 Refugee Convention). | values:
| |
Religion | O | Definition of a person's religious faith. | ||
Religion/AffiliationCode | M | Person's religious faith. | UKReligiousAffiliationType | |
Religion/EducationStatus | O | Indicates whether the person is actively attending religious education classes. | values:
| |
Religion/CollectiveWorshipStatus | O | Indicates whether the person is participating in religious collective worship. | values:
| |
Religion/Source | O | Source of person's religious affiliation code. | UKSourceCodeType | |
Traveller | O | Identifying information for traveller/gypsy status. | ||
Traveller/Code | M | Code to identify type of traveller/gypsy. | UKTravellerGypsyCodeType | |
Traveller/Source | M | Source of individual's recorded traveller/gypsy code. | UKSourceCodeType |
Based on feedback from publishers, instructional management and system integrator vendors,
EducationFilter
was developed to provide the ability to tag objects with metadata that allows for categorization,
sorting, and filtering, to empower teaching and learning SIF usage. There exist two main business cases:
The use cases for EducationFilter
require a contract and choreography to be understood between both sides of
the transaction as is the case with all SIF_Metadata
.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
EducationFilter | ||||
MediaTypes | O | Allows an object or query to be tagged with MIME types. | List | |
MediaTypes/MediaType | MR | xs:token | ||
NCYearGroupList | O | Applicable National Curriculum (NC) Year Group. | NCYearGroupList | |
SubjectAreaList | O |
This allows subject areas to be associated with an object or query.
Although there could be overlap with LearningStandardItems , it is anticipated
there will be use cases where LearningStandardItem objects may not exist or may not be available, and data may need to be tagged with high-level subject areas.
| SubjectAreaList | |
InterestLevels | O | InterestLevels is designed to represent the NC Year Group for which the content is created. For example a year-10 learner is at a year-3 level in Algebra. You would want to present the content at year-3 level, but in a year-10 context or interest level.
| List | |
InterestLevels/InterestLevel | MR | NCYearGroup | ||
LearningStandardItems | O | Allows any SIF object to be correlated to learning standards. | List | |
LearningStandardItems/LearningStandardItemRefId | MR | IdRefType | ||
BloomsTaxonomyLevels | O | This is a taxonomy of educational objectives based on three "domains:" Affective, Psychomotor, and Cognitive. For the purposes of assigning attributes to learning resources, the SIF specification is limited to the cognitive domain, including knowledge, comprehension, application, analysis, synthesis and evaluation. | List | |
BloomsTaxonomyLevels/BloomsTaxonomyLevel | OR | values:
| ||
MultipleIntelligences | O | An educational theory that describes at least eight different kinds of "intelligences." These include linguistic, logical-mathematical, spatial, bodily-kinesthetic, musical intelligence, interpersonal, intrapersonal and naturalist. | List | |
MultipleIntelligences/MultipleIntelligence | OR | values:
| ||
InstructionalStrategies | O | The various ways that instruction is delivered to achieve learning objectives and concepts. | List | |
InstructionalStrategies/InstructionalStrategy | OR | values:
| ||
Title | O | The title of the content. | xs:normalizedString | |
Summary | O | A summary of the content. | xs:normalizedString | |
LearningObjectives | O | Description of learning objective(s) for this lesson, i.e., "Student will be able to use Pythagorean Theorem."—equates to 'benchmark' or 'goal' or other terminology | List | |
LearningObjectives/LearningObjective | MR | xs:normalizedString | ||
ResourceTypes | O | Type of resource | List | |
ResourceTypes/ResourceType | MR | values:
|
Common element used to specify entity identifiers that are read by electronic equipment. It is used in objects such as LearnerPersonal, StaffPersonal, and LibraryPatronStatus.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
ElectronicId | Common element used to specify entity identifiers that are read by electronic equipment. It is used in objects such as LearnerPersonal, StaffPersonal, and LibraryPatronStatus. | xs:normalizedString | ||
@ | Type | M | Electronic ID type. | values:
|
A list of electronic identifiers associated with an entity.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
ElectronicIdList | A list of electronic identifiers associated with an entity. | List | ||
ElectronicId | MR | ElectronicId |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
This element represents an e-mail address of one of a number of types. | xs:normalizedString | |||
@ | Type | M | This attribute specifies the type of e-mail address. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
EmailList | A list of e-mail addresses associated with an individual. | ActionList (Email/@Type) | ||
MR | ||||
@ | SIF_Action | O | In a Change event, this flag can be used to indicate an element has been deleted from the parent list container. At a minimum the key for the list must also be present. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
EstablishmentId | The DfES assigned identifier for a school or other educational establishment. The list of all known Establishment ID's is extensive and available online. | xs:token |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
EthnicityList | ||||
Ethnicity | MR | |||
Ethnicity/Code | M | The general ethnic category which reflects the individual's recognition of his or her community or with which the individual most identifies. | TeachernetEthnicityCodeType | |
Ethnicity/Source | M | Source of inidividual's recorded ethnic code. | UKSourceCodeType |
A person's first name.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
FirstName | A person's first name. | xs:normalizedString |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
GridLocation | This element contains a map location. The GridLocation element is utilised within other objects and elements. | |||
PropertyEasting | M | Easting coordinate format. | xs:decimal | |
PropertyNorthing | M | Northing coordinate for mapping an address. Required when PropertyEasting is also specified. This is best represented in a 7.1 format. | xs:decimal | |
Latitude | O | Geographical coordinate. | xs:decimal | |
Longitude | C | Geographical coordinate. Required when Latitude is also specified. | xs:decimal |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LAId | The 3-digit number assigned to the LA by the DfES. | TeachernetLAIdType |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LAName | The official name of the LA. | TeachernetLANameType |
A person's last name.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LastName | A person's last name. | xs:normalizedString |
This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LifeCycle | This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM]. | |||
Created | O |
When the object was created by whom. This is a more persistent creation date than
the date/time in the object's SIF_Header .
Depending on the use case being implemented, this value could contain the date the data in the object first entered the zone or was actually created.
| ||
Created/DateTime | M | xs:dateTime | ||
Created/Creators | O | List | ||
Created/Creators/Creator | MR | |||
Created/Creators/Creator/ Name | M | Human-readable name of the data's creator. If the object contains system-generated data, the name should identify the creating service or application. | xs:normalizedString | |
Created/Creators/Creator/ ID | M | Unique identifier of the creator. An email address or URI could be used here. | xs:normalizedString | |
ModificationHistory | O |
An ordered set of Modified elements describing which system modified the data, when
the modification took place, and a brief description of the modification.
| List | |
ModificationHistory/Modified | OR | A single modification event. | ||
ModificationHistory/Modified/ By | M | Identifier of the system or person that modified the data. | xs:normalizedString | |
ModificationHistory/Modified/ DateTime | M | The date/time the modification occurred. | xs:dateTime | |
ModificationHistory/Modified/ Description | O | Human readable description of the data modifications. | xs:string | |
TimeElements | O | List | ||
TimeElements/TimeElement | OR | TimeElement |
This is a common element used to define the locally assigned identifier associated with an entity. It is used in LearnerPersonal, WorkforcePersonal, SchoolInfo, and other objects.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LocalId | This is a common element used to define the locally assigned identifier associated with an entity. It is used in LearnerPersonal, WorkforcePersonal, SchoolInfo, and other objects. | xs:normalizedString |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
LocationContext | The physical location of an address in terms of Census District, LA Electoral Ward, Parliamentary Constituency, and other defining location-centric characteristics. | |||
CensusDistrict | O | National Population Census Enumeration District. | xs:normalizedString | |
WardCode | M | ONS Ward Code | ONSWardCodeType | |
WardName | M | ONS Ward Name | ONSWardNameType | |
ConstituencyCode | O | ONS Parliamentary Constituency Code | ONSParliamentaryConstituencyCodeType | |
ConstituencyName | O | ONS Parliamentary Constituency Name | ONSParliamentaryConstituencyNameType | |
Parish | O | ONS Parish Council Name | ONSParishCouncilNameType | |
ChurchOfEnglandDiocese | O | Church of England Diocese Code | TeachernetChurchOfEnglandDioceseType | |
ChurchOfEnglandParish | O | Church of England Parish Code | xs:normalizedString | |
RomanCatholicDiocese | O | Roman Catholic Diocese Code | TeachernetRomanCatholicDioceseType | |
RomanCatholicParish | O | Roman Catholic Parish | xs:normalizedString | |
LSCouncilCode | O | Learning and Skills Council area code | TeachernetLearningAndSkillsCouncilAreaCodeType | |
CatchmentArea | O | School catchment area description | xs:normalizedString |
A person's middle name or initial.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
MiddleName | A person's middle name or initial. | xs:normalizedString |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
Name | The Name element defines name information for a person and occurs within the PersonalInformation element. | |||
@ | Type | M | Code that specifies what type of name this is. | values:
|
Title | O | A title or prefix associated with the name. If any of: Mr, Mrs, Ms, Miss, Rev, Fr, Dr, Prof, Hon, Sir, Lord, Lady - these must be as shown, otherwise free text. Note that title is not applicable to learners. | xs:normalizedString | |
FamilyName | C | Full legal family name. That part of the person's name which is used to describe family, clan, tribal group, or marital association. Note that this element is always required. However, when associated with a contact it may not be possible to know the family name in which case you should add the available information to the FullName element. | xs:normalizedString | |
GivenName | C | Full given name (forename) of the person. Note that this element is always required. However, when associated with a contact it may not be possible to know the given name in which case you should add the available information to the FullName element. | xs:normalizedString | |
MiddleNames | O | All other given or middle names, each separated with a single space character. | xs:normalizedString | |
FamilyNameFirst | O | An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. | values:
| |
PreferredFamilyName | O | The family name preferred most by the person (as written). | xs:normalizedString | |
PreferredFamilyNameFirst | O | An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. | values:
| |
PreferredGivenName | O | The given name preferred most by the person (as written). | xs:normalizedString | |
Suffix | O | Textual suffix like PHD, JP, BSc. | xs:normalizedString | |
FullName | C | A free text field for the complete name for display purposes. If this is associated with a ContactPersonal record and the FamilyName and GivenName are not both specified, then this becomes mandatory. | xs:normalizedString |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
NCYearGroup | Code representing a National Curriculum Year Group. | UKNCYearGroupType |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
NCYearGroupList | This is a common element used to specify a collection of supported National Curriculum Year Groups. It is used in SchoolInfo and assessment-related objects. | List | ||
NCYearGroup | MR | Code representing a National Curriculum year group. | NCYearGroup |
Element/@Attribute | Char | Description | Type | |||
---|---|---|---|---|---|---|
Period | ||||||
PeriodIndex | M | Ordinal position of period within the day (1,2,3,etc) | xs:integer | |||
ShortName | M | A short period label | xs:normalizedString
| |||
LongName | M | A long period label | xs:normalizedString
| |||
StartTime | O | Time the period starts | xs:time | |||
EndTime | O | Time the period ends | xs:time | |||
Type | M | What this period represents. Note that currently some programs represent registration, breaks and lunches as a "period" and some don't. This Type could differ from the lesson Type (see section C4) if this teacher is doing something in this period which differs from the majority of the school. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
PersonalInformation | This element contains basic personal and demographic information related to a person. This element is part of all "personal" objects, including LearnerPersonal, WorkforcePersonal, and ContactPersonal. | |||
Name | M | Name information for this person. | Name | |
OtherNames | O | A list of other names associated with this person. | List | |
OtherNames/Name | MR | Another name associated with this person. | Name | |
Demographics | O | This element contains demographic data. | Demographics | |
O | The person's preferred e-mail address. | |||
OtherEmailList | O | The person's other e-mail address(es). | EmailList | |
Address | O | The person's current physical address. | Address | |
OtherAddressList | O | The person's other address(es). | AddressList | |
PhoneNumber | O | The person's preferred phone number. | PhoneNumber | |
OtherPhoneNumberList | O | The person's other phone number(s). | PhoneNumberList | |
ElectronicIdList | O | Electronic identifier(s) associated with this person. | ElectronicIdList | |
OtherIdList | O | A list of all "other" IDs associated with this person. | List | |
OtherIdList/OtherId | MR | An "other" identifier associated with this person. | xs:normalizedString | |
@ | Type | M | Text that describes the type of this other ID. | xs:normalizedString |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
PhoneNumber | This element represents a phone number and occurs within objects such as LearnerPersonal, WorkforcePersonal, etc. | |||
@ | Type | M | Code that specifies the phone number type. | UKPhoneTypeType |
Number | M | Phone number. Validation: 0-9 and a leading '+' (for international calls). | xs:normalizedString | |
Extension | O | Phone number extension. | xs:normalizedString | |
ListedStatus | O | Indicates whether or not the phone number is available to the public. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
PhoneNumberList | Lists phone numbers associated with an entity. | ActionList (PhoneNumber/@Type) | ||
PhoneNumber | MR | PhoneNumber | ||
@ | SIF_Action | O | In a Change event, this flag can be used to indicate an element has been deleted from the parent list container. At a minimum the key for the list must also be present. | values:
|
A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM].
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
RightsElement | A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM]. | |||
Cost | O | xs:boolean | ||
FeesForUse | O | A container for fees for use of the content in the object. | List | |
FeesForUse/FeeForUse | OR | Description of one fee structure applying to the use of this resource. | ||
FeesForUse/FeeForUse/UseType | M | A description of the fee structure for this resource. Some resources may be licensed differently depending upon their context. For example, a content provider might charge one fee structure for resources used in the classroom and a separate fee for those resources available to parents from home. | xs:string | |
FeesForUse/FeeForUse/MeteringType | M | xs:token | ||
FeesForUse/FeeForUse/MeteringURL | O | xs:anyURI | ||
FeesForUse/FeeForUse/PerUseCharge | O | MonetaryAmountType | ||
CopyrightStatement | O | xs:string | ||
TermsOfUse | O | xs:string |
URL for a school.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SchoolURL | URL for a school. | xs:anyURI |
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SchoolURN | The alternate DfES assigned identifier for a school or other educational establishment. | EstablishmentId |
Common element used to designate the academic school year to which an object relates.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SchoolYear | School year for which this information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2004" for the 2003-04 school year). | xs:gYear |
This element is supported at the end of all SIF objects. The element is used to extend existing SIF objects with locally-defined elements. Extended elements SHOULD NOT be used to duplicate data that can be obtained from other SIF objects.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SIF_ExtendedElements | Allows an agent to include data not yet defined within a SIF data object as name/value pairs. | ActionList (SIF_ExtendedElement/@Name) | ||
SIF_ExtendedElement | OR | A name/value pair, the name being contained in the Name attribute, the value being the element content. | ExtendedContentType | |
@ | Name | M | The name of the extended element. As it is possible that names for extended elements may collide from agent to agent, it is recommended that the names of extended elements be configurable in an agent, or that agents use URIs for the names of extended elements. | xs:normalizedString |
@ | xsi:type | O | Allows type of element to be explicitly communicated. | |
@ | SIF_Action | O |
In a | values:
|
Metadata is commonly referred to as data about data and includes information such as author, grade level, or keywords relating to a learning object, as examples.
Metadata can be used to structure and contain any of this kind of information in a consistent manner.
In the context of SIF, SIF_Metadata
provides a consistent structure to appropriate SIF objects for the purpose of cataloging and object discovery,
as well as other metadata functions and purposes. One recurring use case within the SIF data model is the requirement for some form of temporal constraints and tagging
on objects (see TimeElement
). Other metadata elements are based on needs brought to the Data Standards Working Goup.
IMPORTANT NOTE ON PERSISTENCE
This data is not designed to be permanent. It is designed to frame an object instance and could dissolve as soon as it leaves the SIF framework for the application space. A data warehouse could be used to store metadata for later tracking.
IMPORTANT NOTE ON USAGE
Any usage of metadata is optional unless made a requirement within individual SIF objects, or if a SIF or local profile or zone installation mandates it. SIF_Metadata allows for the usage of metadata in agents and applications that choose to support it.
This element is designed to operate much like SIF_ExtendedElements. It is an approved common element that is part of any data object.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SIF_Metadata | A commonly defined container for metadata elements defined within SIF. | |||
TimeElements | O | List | ||
TimeElements/TimeElement | OR | TimeElement | ||
LifeCycle | O | LifeCycle | ||
RightsElements | O | List | ||
RightsElements/RightsElement | OR | RightsElement | ||
EducationFilter | O | EducationFilter | ||
ImpactLevelElevation | O | Identifies an object as having an Impact Level (UK Data Protection Act 1998) that is more sensitive than the default for the zone. | ||
ImpactLevelElevation/ImpactLevel | M | The Impact Level that the object has been raised to. | values:
|
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
SubjectAreaList | A list of subject areas. | List | ||
SubjectArea | MR | Subject matter. | UKGeneralSubjectType |
A common metadata element designed to contain time data, both self-defined and by type.
Element/@Attribute | Char | Description | Type | |
---|---|---|---|---|
TimeElement | A common metadata element designed to contain time data, both self-defined and by type. | |||
Type | M | This element is designed to contain the time period attached to an object. Very long periods (school year, quarter, etc.) and very small periods (second, millisecond, etc.) can be defined. This element provides a scoping description of the time metadata enclosed. Because the educational environment varies so greatly we are including here a suggested but not prescriptive list of values. Although there may be unique needs for values not covered here—and we may have missed a major one—a best practice would be to utilize the examples here to enhance interoperability. Examples | xs:normalizedString | |
Code | M |
This element provides a place for the application to send structured data (code values, unique identifier, timestamps).
This code value can, depending upon the use case agreement between agents, be used to qualify the data in the Value element.
Examples | xs:token | |
Name | M |
Contains a human-readable description of the value in Value .
Examples | xs:normalizedString | |
Value | M | Contains the human-readable value. Examples | xs:normalizedString | |
StartDateTime | O | xs:dateTime | ||
EndDateTime | O | xs:dateTime | ||
SpanGaps | O | A container element for holding multiple possible span gaps. | List | |
SpanGaps/SpanGap | OR |
This structure duplicates much of the structure of TimeElement and is designed to represent a gap in the parent time period
defined by StartDateTime and EndDateTime above.
| ||
SpanGaps/SpanGap/Type | M | xs:normalizedString | ||
SpanGaps/SpanGap/Code | M | xs:token | ||
SpanGaps/SpanGap/Name | M | xs:normalizedString | ||
SpanGaps/SpanGap/Value | M | xs:normalizedString | ||
SpanGaps/SpanGap/StartDateTime | O | xs:dateTime | ||
SpanGaps/SpanGap/EndDateTime | O | xs:dateTime | ||
IsCurrent | M |
This element allows for the system to tag an object as being explicitly current.
Although the baseline assumption in SIF is that objects are always current (default value is typically true ),
there are use cases when that is not the case.
| xs:boolean |