1EdTech Shareable State Persistence XML Binding Version 1.0 Final Specification |
Copyright © 2004 1EdTech Consortium, Inc. All Rights Reserved.
The 1EdTech Logo is a trademark of 1EdTech Consortium, Inc.
Document Name: 1EdTech 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.
1EdTech 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 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
Copyright © 2004 1EdTech Consortium. All Rights Reserved.
If you wish to copy or distribute this document, you must complete a valid Registered User license registration with 1EdTech and receive an email from 1EdTech granting the license to distribute the specification. To register, follow the instructions on the 1EdTech website: http://www.imsglobal.org/specificationdownload.cfm.
This document may be copied and furnished to others by Registered Users who have registered on the 1EdTech 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 1EdTech, except as needed for the purpose of developing 1EdTech specifications, under the auspices of a chartered 1EdTech project group.
Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.imsglobal.org/license.html.
The limited permissions granted above are perpetual and will not be revoked by 1EdTech 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 1EdTech Shareable State Persistence Binding Instance
4.2.2 Location of Versioned 1EdTech 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 1EdTech 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
1.2 References
[SSP, 04a] | 1EdTech Shareable State Persistence Information Model v1.0, A.Jackl, A.Panar, B.Towle, 1EdTech Consortium, Inc., June 2004. |
[SSP, 04c] | 1EdTech Shareable State Persistence Best Practice and Implementation Guide v1.0, A.Jackl, 1EdTech Consortium, Inc., June 2004. |
[SSP, 04d] | 1EdTech Shareable State Persistence SCORM Application Profile v1.0, A.Jackl, A.Panar, B.Towle, 1EdTech Consortium, Inc., June 2004. |
[IEEE LOM] | IEEE 1484-12:2002, Standard for Learning Object Metadata, (http://ltsc.ieee.org) |
[IMSBUND] | Using 1EdTech Content Packaging to Package Instances of LIP and Other 1EdTech Specifications v1.0, B.Olivier, M.McKell, 1EdTech Consortium, Inc., August 2001. |
[IMSPLID] | 1EdTech Persistent, Location-Independent, Resource Identifier Implementation Handbook v1.0, M.McKell, 1EdTech 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
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.
3.2 Simple Types with Restricted Enumerations
This table maps the <persistence> element's closed vocabulary of tokens to XSD entities of simpleType.
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 1EdTech file naming conventions, an 1EdTech 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 1EdTech Shareable State Persistence (1EdTech SSP) specification,
"vm" is a major version of the 1EdTech 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 1EdTech 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 1EdTech 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.
- "imsssp_v1p0.xsd" is a binding tied to 1EdTech 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 1EdTech SSP shall be http://www.imsglobal.org/xsd/imsssp/.
4.2.1 Location of Current 1EdTech 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 1EdTech SSP Information Model normative elements and values. This file will change.
4.2.2 Location of Versioned 1EdTech Shareable State Persistence Binding Instances
Versioned instances of each binding for 1EdTech 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 1EdTech 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 1EdTech SSP binding instance used in other XML documents shall be imsssp.
For example, when declaring the 1EdTech SSP namespace URI in an 1EdTech manifest, this attribute representation would be used:
xmlns:imsssp="http://www.imsglobal.org/xsd/imsssp"
An element of the 1EdTech 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 1EdTech SSP specification shall always reflect the current version number of the 1EdTech 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 1EdTech 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 1EdTech 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 1EdTech binding shall occur in all binding instances of an 1EdTech SSP binding. Localized annotations and comments may be added to the US English annotations and comment strings within an 1EdTech binding as deemed necessary by 1EdTech 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
- 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 1EdTech 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 | 1EdTech Shareable State Persistence XML Binding |
Editor | Alex Jackl (1EdTech), 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 1EdTech 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:
Revision History
Index
B
Binding 1, 2, 3, 4, 5
Bucket
element 1, 2
D
Data bucket 1
Definition 1, 2
I
IEEE 1
1EdTech Specifications
Content Packaging 1
Learner Information Package 1
P
Profile 1
R
RFC 1
S
Schema 1
SCORM 1
Structure 1, 2, 3
V
Vocabulary 1
W
W3C 1
X
XML 1, 2, 3, 4, 5
XSD 1, 2, 3
1EdTech Consortium, Inc. ("1EdTech") is publishing the information contained in this 1EdTech Shareable State Persistence XML Binding ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.
1EdTech 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.
1EdTech would appreciate receiving your comments and suggestions.
Please contact 1EdTech through our website at http://www.imsglobal.org
Please refer to Document Name: 1EdTech Shareable State Persistence XML Binding Revision: 18 June 2004