IMS Logo

IMS Shareable State Persistence XML Binding

Version 1.0 Final Specification

Copyright © 2004 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Shareable State Persistence XML Binding
Revision: 18 June 2004

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2004 IMS Global Learning Consortium. All Rights Reserved.

If you wish to copy or distribute this document, you must complete a valid Registered User license registration with IMS and receive an email from IMS granting the license to distribute the specification. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm.

This document may be copied and furnished to others by Registered Users who have registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS project group.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.


 

Table of Contents


1. Introduction
     1.1 Nomenclature
     1.2 References

2. Narrative Description of XML Schema Binding
     2.1 Shareable State Persistence: <bucket> Element and complexType
           2.1.1 Implementation Notes
           2.1.2 Examples

3. Bucket Allocation Element Mapping
     3.1 Shareable State Persistence Definition Elements
     3.2 Simple Types with Restricted Enumerations

4. Normative Points
     4.1 XML Schema File Naming Convention
     4.2 Namespace Universal Resource Identifier (URI)
           4.2.1 Location of Current IMS Shareable State Persistence Binding Instance
           4.2.2 Location of Versioned IMS Shareable State Persistence Binding Instances
     4.3 Namespace Name
     4.4 Versioning a Binding Instance
     4.5 Localization
           4.5.1 Localizing Binding Structure Names and Values
           4.5.2 Localizing this Document
     4.6 Extensibility

About This Document
     List of Contributors

Revision History

Index


1. Introduction

For additional introductory information, please see the Shareable State Persistence (SSP) Information Model [SSP,04a].

This document describes the XML binding for the declaration of a shared data bucket, as defined in the IMS Shareable State Persistence abstract API. In this binding, the Bucket Allocation class is mapped to an XML Schema binding (XSD) conformant to the W3C's XML Schema Recommendation of 2001 May 02, and parts of the SSP API are mapped to the CMI model.

An XML binding using the Document Type Definition (DTD) format is specifically excluded from this Binding specification. Other XML binding types such as Resource Description Format (RDF) may be added in the future.

The prose version of the SSP Information Model specification is the normative and definitive specification of SSP. All binding structures specified herein are not normative or definitive, with the exception of names for XSD structures. The XSD structure names as applied to the SSP Definition Model elements shall not be redefined, nor shall any XSD structures.

1.1 Nomenclature

 
ADL Advanced Distributed Learning
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force
ISO International Organization for Standardization
LOM Learning Object Metadata (usually used in "IEEE LOM")
LTSC Learning Technology Standards Committee
RFC Request for Comment (usually used in "IETF RFC xxxx")
SCORM Sharable Content Object Reference Model
SSP IMS Shareable State Persistence Specification
VDEX IMS Vocabulary Definition Exchange Specification
W3C World Wide Web Consortium
XML Extensible Mark-up Language

1.2 References

 
[SSP, 04a] IMS Shareable State Persistence Information Model v1.0, A.Jackl, A.Panar, B.Towle, IMS Global Learning Consortium, Inc., June 2004.
[SSP, 04c] IMS Shareable State Persistence Best Practice and Implementation Guide v1.0, A.Jackl, IMS Global Learning Consortium, Inc., June 2004.
[SSP, 04d] IMS Shareable State Persistence SCORM Application Profile v1.0, A.Jackl, A.Panar, B.Towle, IMS Global Learning Consortium, Inc., June 2004.
[IEEE LOM] IEEE 1484-12:2002, Standard for Learning Object Metadata, (http://ltsc.ieee.org)
[IMSBUND] Using IMS Content Packaging to Package Instances of LIP and Other IMS Specifications v1.0, B.Olivier, M.McKell, IMS Global Learning Consortium, Inc., August 2001.
[IMSPLID] IMS Persistent, Location-Independent, Resource Identifier Implementation Handbook v1.0, M.McKell, IMS Global Learning Consortium, Inc., April 2001.
[RFC 1766] Tags for the Identification of Languages, (http://www.ietf.org)
[URI] IETF RFC 2396:1998, Universal Resource Identifiers (URI): Generic Syntax (http://www.ietf.org)

2. Narrative Description of XML Schema Binding

This section of the specification uses a series of graph segments, table structures, and simple narrative, to describe the XML format of the XML Schema binding for the Bucket Allocation Class. XML Schema documents that implement this abstract format are referenced as non-normative parts of this specification.

These data elements and their relationships from the Information Model are expressed in XML Schema by means of structuring entities called elements, attributes, and groups. These structuring entities are further typified as complex types or simple types. The XML Schema structuring entities comprise a binding of an information model when expressed in a special instance of an XML document - an XML Schema definition (XSD).

The SSP Information Model also defines values or vocabulary terms required by certain data model elements. These controlled lists of terms or values can be expressed in XML Schema as restrictions placed on the values that may be declared for a given structuring element.

It is often necessary for bindings to create structuring entities with names that are not present in an information or data model that is being expressed in XML Schema. These special structurings enable the grouping and use of elements as defined in a data model.

The graphs below show individual elements encapsulated within larger structures, like complex types. Structures without child elements are not represented separately. The reader is referred to a binding document instance for the full lexical representation of all structures and values. Key to graphical elements:
Rectangle with square corners = element
Rectangle with rounded corners, enclosed in red outline area = attribute
Bold name in upper half of rectangle: element/attribute name
Regular weight name in lower half of rectangle: type name
Circled Multiplicity indicator to left of element, attribute, or group:
? = 0..1
* = 0..n
+ = 1..n
D = 0..1, with default value if absent (attributes only)
(no indicator) = 1 and only 1
Red Branching lines = XML Schema grouping model connector
Square bracket = "Sequence"
Angle bracket = "Choice"

2.1 Shareable State Persistence: <bucket> Element and complexType

SSP <bucket> element.

 

Figure 3.1 SSP <bucket> element.

2.1.1 Implementation Notes

Note that the SSP Binding does not specify any location for the <bucket> element. It is left up to the discretion of individual application profiles to specify where the <bucket> element must be placed to conform to the requirements of that application profile.

2.1.2 Examples

The following example shows a call to allocate() that is requesting an untyped bucket of at least 10K bytes, preferably 20K bytes, to persist for the duration of the learner's session with the containing package:

<bucket xmlns = "http://www.imsglobal.org/xsd/imsssp" 
      bucketID = "http://www.imsglobal.org/SSP/example1" persistence = "session">
   <size minimum = "10240" requested = "20480" reducible = "0"/>
</bucket>

The following example shows a call to allocate() that is requesting a bucket exactly as above, except with type http://www.imsglobal.org/SSP/Types/exampleType:

<bucket xmlns = "http://www.imsglobal.org/xsd/imsssp"
      bucketID = "http://www.imsglobal.org/SSP/example2"
      bucketType = "http://www.imsglobal.org/SSP/Types/exampleType" persistence = "session">
   <size minimum = "10240" requested = "20480" reducible ="0"/>
</bucket>

Finally, the following example shows a call to allocate() that is requesting a bucket exactly as above, except with preferred size of 1M bytes, and to persist for the duration of the learner's active registration with the system:

<bucket xmlns = "http://www.imsglobal.org/xsd/imsssp"
      bucketID = "http://www.imsglobal.org/SSP/example3"
      bucketType = "http://www.imsglobal.org/SSP/Types/exampleType" persistence = "learner">
   <size minimum = "10240" requested = "1048576" reducible = "0"/>
</bucket>

3. Bucket Allocation Element Mapping

This section contains several tables. Table 4.1 maps a the defintion of the Bucket Allocation Class number and name as listed in the Information Model to the XML Schema entity used to represent it in the XML Schema Binding. The Schema entity's name, kind of structure, and type are provided.

Table 4.1 also includes references to additional XML Schema structures used to properly express the relationships or controlled lists of SSP Definition element values. These additional XML Schema structures are inserted into Table 4.1 in proximity to the Definition elements they describe.

XSD elements of types complexType and simpleType may be nested. Table 4.1 does not show this nesting. Separate tables in this section provide the further details for nested elements defined as complexType or simpleType. In those tables, the element number from the SSP Definition Model and the XML Schema element name are used to associate a nested Schema structuring entity with the appropriate element from the Definition Model.

3.1 Shareable State Persistence Definition Elements

These elements from the SSP Information Model are mapped to XML Schema (XSD) structures.

 

Table 4.1 - Shareable State Persistence Definition Elements.

 
No. SSP Element Name XSD Entity Name XSD Structure XSD Type

 
BucketAllocation bucket element complexType

 
bucketID bucketID attribute anyURI

 
bucketType bucketType attribute anyURI

 
persistence persistence attribute */token

 
size size element complexType

 
minimum minimum attribute nonNegativeInteger

 
requested requested attribute nonNegativeInteger

 
reducible reducible attribute Boolean

3.2 Simple Types with Restricted Enumerations

This table maps the <persistence> element's closed vocabulary of tokens to XSD entities of simpleType.

 

Table 4.2 - Simple Types with Restricted Enumerations.

 
No. XSD Name XSD Enumeration Value XSD Data Type Shareable State Persistence Definition Model Value

 
persistence session token session

 

 
course token course

 

 
learner token learner

4. Normative Points

4.1 XML Schema File Naming Convention

Conformant with IMS file naming conventions, an IMS Shareable State Persistence XML Schema binding instance shall be named according to this syntactical model: imsssp_vmpn[pr[ps]].xsd, where:

"imsssp_" signifies that the file pertains to the IMS Shareable State Persistence (IMS SSP) specification,

"vm" is a major version of the IMS SSP specification defined by a binding instance, where "m" is the major version number, and is always followed by

"pn", which signifies a minor version of the IMS SSP specification defined by a binding instance, where "n" is minor version number, and where

[pr[ps]] is an optional set of major release and minor release numbers (as indicated by the brackets which are not part of the file name), depending on changes to schema instances themselves that are not driven by a change to a normative instance of the IMS SSP specification, with:

"pr" representing a major release component without an additional minor release part, where "r" is the major release number, and with

"ps" representing a minor release component modifying an major release component, where "s" is the minor release number.

Some examples of XML Schema file names for IMS SSP:
  • "imsssp_v1p0.xsd" is a binding tied to IMS SSP v1.0;
  • "imsssp_v1p0p1.xsd" is a 'major' revision of the imsssp_v1p0.xsd binding instance;
  • "imsssp_v1p0p1p1.xsd" is 'minor' revision of imsssp_v1p0p1.xsd binding instance.

4.2 Namespace Universal Resource Identifier (URI)

The namespace URI for IMS SSP shall be http://www.imsglobal.org/xsd/imsssp/.

4.2.1 Location of Current IMS Shareable State Persistence Binding Instance

The .xsd file found at http://www.imsglobal.org/xsd/imsssp/ shall be the current XML Schema binding instance of the IMS SSP Information Model normative elements and values. This file will change.

4.2.2 Location of Versioned IMS Shareable State Persistence Binding Instances

Versioned instances of each binding for IMS SSP, including all major or minor release instances of that version's binding, can be found at http://www.imsglobal.org/xsd/imsssp/vmpn/, where "vmpn" is a folder named for a versioned instance of the specification. These instances will not change.

For example, some examples of XML Schema files named for various binding instances of IMS SSP v1.0 would be held at this location -- http://www.imsglobal.org/xsd/imsssp/v1p0/.

4.3 Namespace Name

The namespace name used as the prefix of an XML Namespace Qualified Name instance of an IMS SSP binding instance used in other XML documents shall be imsssp.

For example, when declaring the IMS SSP namespace URI in an IMS manifest, this attribute representation would be used:

   xmlns:imsssp="http://www.imsglobal.org/xsd/imsssp"

An element of the IMS SSP declared in an XML document where the imsssp namespace is declared would appear like this:

   <imsssp:Shareable State Persistence></imsssp:Shareable State Persistence>

4.4 Versioning a Binding Instance

A binding version of the IMS SSP specification shall always reflect the current version number of the IMS SSP specification, whether or not binding structures change across specification instances. That is, the file name of the current binding instance shall share the same major and minor version number of the IMS SSP specification.

A change to binding structures without a related change to a specification version shall result in an increment of the major or minor revision level component of a binding's file name.

Changes to binding structures without a related change in a specification shall result in an increment of the major revision level.

Changes to structure names or values without changes in structures themselves or the meaning associated with a value shall result in an increment of the minor revision level.

All versioning and revisioning shall be reflected in a binding's file name and complete version information. This new binding shall become the current binding found at the URI (http://www.imsglobal.org/xsd/imsssp). The obsolete binding shall be moved to its place within the imsssp file path structure based on the value of its version level component, excluding the revision level component.

4.5 Localization

4.5.1 Localizing Binding Structure Names and Values

An IMS SSP binding's structure names and values shall be represented as depicted in the Tables in section 3 of this document. This will ensure machine-level interoperability of SSP information.

US English annotations and comment strings within an IMS binding shall occur in all binding instances of an IMS SSP binding. Localized annotations and comments may be added to the US English annotations and comment strings within an IMS binding as deemed necessary by IMS stakeholders. Such localization activity in a binding shall promote a binding instance to the next increment in minor revision level.

4.5.2 Localizing this Document

This binding document may be rendered into different lingual representations except for the US English representations of:
  • binding structure names
  • binding structure values
  • file naming syntax and examples
  • binding namespace URI
  • binding file path representation
  • binding namespace name
  • API function names
  • API parameter values

Localization of this document shall not cause any change in specification version numbering or binding revision instance numbering.

4.6 Extensibility

The IMS SSP Binding provides a mechanism to extend the definition of bucket allocation requests. This mechanism is represented by the <wildcard> element in the XML binding. Implementers shall not extend the binding in any other way.

About This Document

 
Title IMS Shareable State Persistence XML Binding
Editor Alex Jackl (IMS), Brendon Towle (Thomson NETg)
Team Co-Lead Robert Todd (DigitalThink)
Version 1.0
Version Date 18 June 2004
Status Final Specification
Summary This document describes the Shareable State Persistence Binding.
Revision Information June 2004
Purpose This document has been approved by the IMS Technical Board and is made available for adoption.
Document Location http://www.imsglobal.org/ssp/sspv1p0/imsssp_bindv1p0.html

 
To register any comments or questions about this specification please visit: http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=21

List of Contributors

The following individuals contributed to the development of this document:

 
Name Organization Name Organization
Brandt Dargue Boeing Angelo Panar ADL
Jeff Falls ADL James Simon Sun Microsystem
Fabrizio Giorgini GIUNTI Martin Spence Act E-Learning
Alex Jackl IMS Robert Todd DigitalThink
Steve Jeyes CETIS Brendon Towle Thomson NETg
Owen McGrath UCBerkeley Edith Wells Boeing
Claude Ostyn Click2learn, Inc.
 

 

Revision History

 
Version No. Release Date Comments
Base Document 1.0 16 November 2003 Initial version of the SSP specification.
Public Draft 1.0 25 March 2004 First public version of the specification.
a) Removed definition elements <contentScope> and <learnerScope>.
Final Specification 1.0 18 June 2004 Formal Final Release of the specification.

Index

B
Binding 1, 2, 3, 4, 5
Bucket
     element 1, 2
 

D
Data bucket 1
Definition 1, 2

I
IEEE 1
IMS Specifications
     Content Packaging 1
     Learner Information Package 1
 

L
LOM 1
LTSC 1

P
Profile 1

R
RFC 1

S
Schema 1
SCORM 1
Structure 1, 2, 3

U
URI 1, 2

V
Vocabulary 1

W
W3C 1

X
XML 1, 2, 3, 4, 5
     XSD 1, 2, 3
 

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Shareable State Persistence XML Binding ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS would appreciate receiving your comments and suggestions.

Please contact IMS through our website at http://www.imsglobal.org

Please refer to Document Name:
IMS Shareable State Persistence XML Binding Revision: 18 June 2004