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.
2. Narrative Description of XML Schema Binding
2.1 Shareable State Persistence: <bucket> Element and complexType
2.1.1 Implementation Notes
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.1 Localizing Binding Structure Names and Values
4.5.2 Localizing this Document
About This Document
List of Contributors
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.
|[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)|
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"
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.
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>
<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>
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.
|No.||XSD Name||XSD Enumeration Value||XSD Data Type||Shareable State Persistence Definition Model Value|
[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:
- "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.
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.
<imsssp:Shareable State Persistence></imsssp:Shareable State Persistence>
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.
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.
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.
- 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
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.
|Title||IMS Shareable State Persistence XML Binding|
|Editor||Alex Jackl (IMS), Brendon Towle (Thomson NETg)|
|Team Co-Lead||Robert Todd (DigitalThink)|
|Version Date||18 June 2004|
|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.|
|To register any comments or questions about this specification please visit: http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=21|
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