IMS Logo

IMS Simple Sequencing XML Binding

Version 1.0 Final Specification

Copyright © 2003 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Simple Sequencing XML Binding
Revision: 03 March 2003

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 © 2003 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 Simple Sequencing Specification Overview
     1.2 Scope and Context
     1.3 Structure of this Document
     1.4 Nomenclature
     1.5 References

2. XML Basics
     2.1 Elements
           2.1.1 Element Contents
           2.1.2 Element Attributes
           2.1.3 Element Names
     2.2 Document Type Definitions
     2.3 XML Schemas
     2.4 Valid Character Sets

3. Narrative Description of the XML Binding
     3.1 <sequencingCollection> Element
     3.2 <sequencing> Element
     3.3 <controlMode> Element
     3.4 <sequencingRules> Element
           3.4.1 <preConditionRule> Element
           3.4.2 <exitConditionRule> Element
           3.4.3 <postConditionRule> Element
           3.4.4 <ruleConditions> Element (for all rule types)
           3.4.5 <ruleCondition> Element (for all rule types)
     3.5 <limitConditions> Element
     3.6 <auxiliaryResources> Element
           3.6.1 <auxiliaryResource> Element
     3.7 <rollupRules> Element
           3.7.1 <rollupRule> Element
           3.7.2 <rollupConditions> Element
           3.7.3 <rollupCondition> Element
           3.7.4 <rollupAction> Element
     3.8 <objectives> Element
           3.8.1 <primaryObjective> Element
           3.8.2 <objective> Element
           3.8.3 <minNormalizedMeasure> Element
           3.8.4 <mapInfo> Element
     3.9 <randomizationControls> Element
     3.10 <deliveryControls> Element
     3.11 #wildCard

4. Sequencing Definition Element Mapping
     4.1 Mapping Sequencing Definition Elements to XSD Entities of
simpleType


5. Physical Realization of the XML Binding

6. Normative Points
     6.1 XML Schema File Naming Convention
     6.2 Namespace URI (Namespace Identifier)
           6.2.1 Location of Current IMS Sequencing Binding Instance
           6.2.2 Location of Versioned IMS Sequencing Binding Instances
     6.3 Namespace Name
     6.4 Versioning a Binding Instance
     6.5 Localization
           6.5.1 Localizing Binding Structure Names and Values
           6.5.2 Localizing this Document
     6.6 Extensibility

About this Document
     List of Contributors

Revision History

Index

1. Introduction

1.1 Simple Sequencing Specification Overview

This document describes the XML Binding for the IMS Simple Sequencing Information Model. It specifies an XML Schema binding conformant with the W3C's XML Schema Recommendation of 02 May 2001.

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 copy of the Sequencing Definition Model and Tracking Information Model contained within the Simple Sequencing Information and Behavior Model document are the normative and definitive specification of IMS Simple Sequencing. 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 Sequencing Definition Model elements may not be redefined, nor may any XSD structures.

1.2 Scope and Context

This document is the IMS Simple Sequencing XML Binding v1.0 Final Specification document and is derived from the corresponding Information and Behavior Model [SS, 03a]. As such it will be used as the basis for the development of the following document:

1.3 Structure of this Document

The structure of this document is:

2. XML Basics
A brief description of the key basics of XML. XML is the implementation language for the realization of the IMS Simple Sequencing Information and Behavioral Model;
3. Narrative Description of the XML Binding
A detailed description of the realization of the IMS Simple Sequencing Information and Behavioral Model in XML;
4. Sequencing Definition Element Mapping
The mapping of the XML binding elements and attributes to the information model data objects;
5. Physical Realization of the XML Binding
The mapping of the XML binding elements and attributes to the different XML schema definition files (XSDs);
6. Normative Points
Important normative statements that must be maintained by implementations of this XML binding.

1.4 Nomenclature

CP
Content Packaging
DTD
Document Type Definition
RDF
Resource Description Format
SS
Simple Sequencing
W3C
World Wide Web Consortium
XML
Extensible Mark-up Language
XSD
XML Schema

1.5 References

[SS, 03a]
IMS Simple Sequencing Information and Behavior Model v1.0 Final Specification, March 2003.
[SS, 03c]
IMS Simple Sequencing Best Practice and Implementation Guide v1.0 Final Specification, March 2003.

2. XML Basics

The conceptual model for expressing sequencing definitions is a hierarchy. Hierarchical models are convenient for representing data consisting of many elements and sub-elements. XML is perfectly suited for representing hierarchical models. An XML document is a hierarchy comprised of elements that have contents and attributes.

2.1 Elements

An element is a component of a document that has been identified in a way a computer can understand. Each element has a tag name. When a tag name is shown as "<TAGNAME>", with less-than and greater-than symbols before and after the tag name, it serves as the start-tag to mark the beginning of an element. When that same tag name has a forward slash "/" added, it serves as an end-tag such as "</TAGNAME>". An element may have contents between its start and end-tags, and may have one or more attributes. When an XML element has a start and end-tag (also called an opening and closing tag) with a common name, it is considered to be "well-formed" XML. The contents of an element are placed between the start and end-tags as shown below:

<TAGNAME>contents</TAGNAME>

2.1.1 Element Contents

An element may contain other elements, Parsed Character Data (PCDATA), Character Data (CDATA), or a mixture of PCDATA and elements. The allowable contents of an element are its content model. XML parsers treat PCDATA with their special or reserved meaning unless they are specifically marked (or "escaped"). In contrast, CDATA can use special or reserved characters without having to escape them, as CDATA is not read by XML parsers.

2.1.2 Element Attributes

An attribute provides additional information about an element. Attributes are a way of attaching characteristics or properties to the elements of a document. An element may have more than one attribute. Attributes are contained within the start tag of an element. Attributes are represented by an attribute name followed by an equal sign and the attribute value in quotation marks:

<timeframe>
   <begin restrict="1"> 1999-07-23 </begin>
</timeframe>

In this example, the timeframe element contains another element: the begin element. The begin element has one attribute "restrict", with the value "1". The value for the element BEGIN is "1999-07-23". These two elements then make up a timeframe begin date.

2.1.3 Element Names

Each element has a unique name, referred to as the tag name. XML is case-sensitive in its processing of tag names. The IMS Simple Sequencing XML Binding Specification adheres to the following tag name rules:

2.2 Document Type Definitions

The tag name, content model, and attributes of elements were historically defined in a Document Type Definition (DTD) statement. A DTD is a kind of schema. It may exist as an external file or a block of text internal to an XML document. However, the DTD schema was developed before object-oriented programming concepts became prevalent within software development communities and before the use of entities drawn from multiple namespaces became a requirement. Those communities began working on other schema representations to provide more object-like structures and procedures and to support the flexible use of multiple namespaces than could be realized within the constraints of the DTD schema for describing and structuring the contents of XML documents. One such schema language has become today's preferred representation language: XML Schema produced by the Worldwide Web Consortium (W3C).

2.3 XML Schemas

A schema is a formal specification of element names that indicates which elements are allowed in an XML instance, and in which combinations. New schema languages, such as those defined in the XML-Schemas Working Group, provide the same baseline functionality as a DTD. However, because these schema languages are extensible, developers can augment them with additional information, such as data types, inheritance, and presentation rules. This makes schema languages far more powerful than DTDs. For more information about XML schemas, visit http://www.w3.org/TR/smlschema-0/.

This specification defines a W3C XML Schema (imsss_bindv1p0.xsd) as a non-normative reference. Some XML editors may make use of these schemas to help guide the developer in creating the proper elements at the proper locations in an XML file. Other developers will make use of the schemas to validate their XML instances and/or to define extensions to the IMS Meta-Data Binding. Details of the construction of schemas are outside the scope of this document.

2.4 Valid Character Sets

An IMS Sequencing definition instance must use UTF-8 encoding of the character sets as defined in ISO 10646. See the XML Version 1.0 for more details on the specification of well-formed XML.

3. Narrative Description of the XML Binding

This section of the specification uses a series of graph segments, accompanied by simple narrative, to describe the XML format of the XML Schema definition (XSD) binding for the Sequencing Definition Model. XSD 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 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 XSD.

The Sequencing Definition 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 structuring entities 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 (.xsd) for the full lexical representation of all structures and values.

Key to graphical elements:

Red Branching lines = XML Schema grouping model connector

3.1 <sequencingCollection> Element

Description: This is a container for individual sequencing instructions. If used, references to the contained sequencing instructions are embedded in the IMS content package at the appropriate points. The actual sequencing details are then all collected and placed under the <sequencingCollection> element that is itself located at an agreed place within the content package.

<sequencingCollection> element

Figure 3.1 - <sequencingCollection> element.

Multiplicity: Appears as a child of the <manifest> element within an IMS content package. Occurs zero or one times within any given manifest.

Attributes: None.

Elements:

Example:

The following minimal IMS CP manifest (stripped of namespace definitions for clarity) shows how an <organization> can reference sequencing information that is stored at the top level of the manifest.

<manifest identifier = "IMSSS.TestManifest.1">
   <organizations default = "IMSSS.TestManifest.1.Org.1">
      <organization identifier = "IMSSS.TestManifest.1.Org.1">
         <item identifier = "IMSSS.TestManifest.1.Item.1"/>
         <imsss:sequencing IDRef = "IMSSS.TestManifest.1.Seq.1"/>
      </organization>
   </organizations>
   <resources/>
   <imsss:sequencingCollection>
      <imsss:sequencing ID = "IMSSS.TestManifest.1.Seq.1">
         <!-- Sequencing info goes here -->
      </imsss:sequencing>
   </imsss:sequencingCollection>
</manifest>

The following minimal IMS CP manifest (stripped of namespace definitions for clarity) shows how locally defined information overrides referenced information when using both in the same <sequencing> element.

<manifest identifier = "IMSSS.TestManifest.1">
   <organizations default = "IMSSS.TestManifest.1.Org.1">
      <organization identifier = "IMSSS.TestManifest.1.Org.1">
         <item identifier = "IMSSS.TestManifest.1.Item.1"/>
         <imsss:sequencing IDRef = "IMSSS.TestManifest.1.Seq.1">
            <imsss:limitConditions attemptLimit="1"/>
            <!-- This element has a limit of 1 attempt, and the begin time limit is 
                undefined, because the inline element overrides the referenced element. 
                However, this element has choice and choiceExit both false, because of the 
                referenced element. -->
      </organization>
   </organizations>
   <resources/>
   <imsss:sequencingCollection>
      <imsss:sequencing ID = "IMSSS.TestManifest.1.Seq.1">
         <imsss:controlMode choice="false" choiceExit="false"/>
         <imsss:limitConditions attemptLimit="2" beginTimeLimit="2002-10-16T12:00:00"/>
      </imsss:sequencing>
   </imsss:sequencingCollection>
</manifest>

3.2 <sequencing> Element

Description: Sequencing information is associated with items in a hierarchical structure by associating a single <sequencing> element with the hierarchical item. In the context of IMS CP, this is done by including the <sequencing> element within either an <item> element or an <organization> element.

Sequencing information can be reused across multiple items. This is done by using the "IDRef" attribute of the <sequencing> element, and assigning the ID of the <sequencing> element to use to the "IDRef" attribute. The <sequencing> elements that are referred to using this mechanism may be stored in a <sequencingCollection> element placed at the top level of the manifest.

Note the following restrictions on the use of "IDRef" attributes. <sequencing> elements that are children of the <sequencingCollection> element may not have an "IDRef" attribute. Further, the "IDRef" attribute, when used, must reference a <sequencing> element that is a child of the <sequencingCollection> element in the same manifest.

Note that the in-line definition of sequencing information (using the various elements contained within the <sequencing> element) and the referencing of sequencing information (using the "IDRef" attribute) are not mutually exclusive for any particular element in the hierarchical structure. If a <sequencing> element uses both the "IDRef" attribute and in-line definition, any top-level element defined in-line overrides any similar element defined in the referenced element. Note that this override is for the entire top-level element, and not for individual parts of the top-level element.

<sequencing> element

Figure 3.2 - <sequencing> element.

Multiplicity: Occurs once or more within the <sequencingCollection> element, if the <sequencingCollection> element is present. Occurs zero or once for each <item> or <organization> within an IMS content package.

Attributes:

Elements:

Example:

<manifest identifier = "IMSSS.TestManifest.1">
   <organizations default = "IMSSS.TestManifest.1.Org.1">
      <organization identifier = "IMSSS.TestManifest.1.Org.1">
         <item identifier = "IMSSS.TestManifest.1.Item.1"/>
         <imsss:sequencing IDRef = "IMSSS.TestManifest.1.Seq.1">
            <imsss:limitConditions attemptLimit="1"/>
            <!-- This element has a limit of 1 attempt, and the begin time limit is 
                undefined, because the inline element overrides the referenced element. 
                However, this element has choice and choiceExit both false, because of the 
                referenced element. -->
      </organization>
   </organizations>
   <resources/>
   <imsss:sequencingCollection>
      <imsss:sequencing ID = "IMSSS.TestManifest.1.Seq.1">
         <imsss:controlMode choice="false" choiceExit="false"/>
         <imsss:limitConditions attemptLimit="2" beginTimeLimit="2002-10-16T12:00:00"/>
      </imsss:sequencing>
   </imsss:sequencingCollection>
</manifest>

3.3 <controlMode> Element

Description: This is the container for the sequencing control mode information including descriptions of the types of sequencing behaviors specified for an activity. Simple Sequencing processes may reference the sequencing control modes for any activity in the activity tree and the default values are used if the data is not defined for a given activity.

<controlMode> element

Figure 3.3 - <controlMode> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes:

Elements: None.

3.4 <sequencingRules> Element

Description: The container for a sequencing rule description. Each rule describes the sequencing behavior for an activity. Each activity may have an unlimited number of sequencing rules and within any grouping the rules are evaluated in the order in which they are listed.

<sequencingRules> element

Figure 3.4 - <sequencingRules> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes: None.

Elements:

3.4.1 <preConditionRule> Element

Description: The container for the description of actions that control sequencing decisions and delivery of a specific activity. Rules that include such actions are used to determine if the activity will be delivered.

<preConditionRule> element

Figure 3.5 - <preConditionRule> element.

Multiplicity: Occurs zero or more times in the <sequencingRules> element.

Attributes: None.

Elements:

Example:

The following example shows a precondition rule that causes the associated item to be disabled if it is either completed or satisfied:

<sequencing>
   <sequencingRules>
      <preConditionRule>
         <ruleConditions conditionCombination = "any">
            <ruleCondition condition = "completed"/>
            <ruleCondition condition = "satisfied"/>
         </ruleConditions>
         <ruleAction action = "disabled"/>
      </preConditionRule>
   </sequencingRules>
</sequencing>

3.4.1.1 <ruleAction> Element (within a <preConditionRule> element)

Description: The desired sequencing behavior if the precondition rule evaluates to 'True'.

<ruleAction> element

Figure 3.6 - <ruleAction> element.

Multiplicity: Occurs once and only once within a <preConditionRule> element.

Attributes:

Elements: None.

3.4.2 <exitConditionRule> Element

Description: The container for the description of actions that terminate an activity. Rules that include such actions are applied when a descendent of an activity exits.

<exitConditionRule> element

Figure 3.7 - <exitConditionRule> element.

Multiplicity: Occurs zero or more times in the <sequencingRules> element.

Attributes: None.

Elements:

3.4.2.1 <ruleAction> Element (within a <exitConditionRule> element)

Description: The desired sequencing behavior if the exit rule evaluates to 'True'.

<ruleAction> element

Figure 3.8 - <ruleAction> element.

Multiplicity: Occurs once and only once within a <exitConditionRule> element.

Attributes:

Elements: None.

3.4.3 <postConditionRule> Element

Description: The container for the description of actions that control sequencing flow by issuing sequencing requests. Rules that include such actions are applied when an activity exits.

<postConditionRule> element

Figure 3.9 - <postConditionRule> element.

Multiplicity: Occurs zero or more times in the <sequencingRules> element.

Attributes: None.

Elements:

3.4.3.1 <ruleAction> Element (within a <postConditionRule> element)

Description: The desired sequencing behavior if the postcondition rule evaluates to 'True'.

<ruleAction> element

Figure 3.10 - <ruleAction> element.

Multiplicity: Occurs once and only once within a <postConditionRule> element.

Attributes:

Elements: None.

3.4.4 <ruleConditions> Element (for all rule types)

Description: The container for the set of conditions that are to be applied either the pre/post/exit condition rules.

<ruleConditions> element

Figure 3.11 - <ruleConditions> element.

Multiplicity: Occurs zero or one times within the <preConditionRule>, <exitConditionRule>, and <postConditionRule> elements.

Attributes:

Elements:

3.4.5 <ruleCondition> Element (for all rule types)

Description: Identification of a condition to be applied as part of the sequencing pre/post/exit rule.

<ruleCondition> element

Figure 3.12 - <ruleCondition> element.

Multiplicity: Occurs once or more times within the <ruleConditions> element.

Attributes:

Elements: None.

3.5 <limitConditions> Element

Description: Defines the constraints on the access to an activity based on the time of day, time spent on the activity and number of attempts.

<limitConditions> element

Figure 3.13 - <limitConditions> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes:

Elements: None.

3.6 <auxiliaryResources> Element

Description: The container for the set of references to the set of auxiliary resources. When an activity is delivered to the learner the auxiliary resources are also made available. The order in which the auxiliary resources are described is not significant.

<auxiliaryResources> element

Figure 3.14 - <auxiliaryResources> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes: None.

Elements:

3.6.1 <auxiliaryResource> Element

Description: The container for the information describing a single auxiliary resource.

<auxiliaryResource> element

Figure 3.15 - <auxiliaryResource> element.

Multiplicity: Occurs zero or more times in the <auxiliaryResources> element.

Attributes:

Elements: None.

3.7 <rollupRules> Element

Description: The container for the set of rollup rules that are to be applied to an activity. Each activity may have an unlimited number of rollup rules and the order in which they are defined is not significant.

<rollupRules> element

Figure 3.16 - <rollupRules> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes:

Elements:

3.7.1 <rollupRule> Element

Description: The container for each rollup rule that is to be applied to an activity. The general format for a rule can be expressed informally as 'If child-activity set, condition set Then action'. Multiple conditions are permitted.

<rollupRule> element

Figure 3.17 - <rollupRule> element.

Multiplicity: Occurs zero or more times in the <rollupRules> element.

Attributes:

Elements:

Example:

The following rollup rule, if attached to an item, states that the item is satisfied if at least three of its children are either satisfied or completed.

<sequencing>
   <rollupRules>
      <rollupRule childActivitySet = "atLeastCount" minimumCount = "3">
         <rollupConditions conditionCombination = "any">
            <rollupCondition condition = "satisfied"/>
            <rollupCondition condition = "completed"/>
         </rollupConditions>
         <rollupAction action = "satisfied"/>
      </rollupRule>
   </rollupRules>
</sequencing>

3.7.2 <rollupConditions> Element

Description: The container for the set of conditions that are applied within a single rollup rule.

<rollupConditions> element

Figure 3.18 - <rollupConditions> element.

Multiplicity: Occurs once in the <rollupRule> element.

Attributes:

Elements:

3.7.3 <rollupCondition> Element

Description: Identification of a condition to be applied in the rollup rule.

<rollupCondition> element

Figure 3.19 - <rollupCondition> element.

Multiplicity: Occurs once or more in the <rollupConditions> element.

Attributes:

Elements: None.

3.7.4 <rollupAction> Element

Description: The action that is to be undertaken if the rollup rule is declared as 'True'.

<rollupAction> element

Figure 3.20 - <rollupAction> element.

Multiplicity: Occurs once in the <rollupRule> element.

Attributes:

Elements: None.

3.8 <objectives> Element

Description: The container for the set of objectives that are to be associated with an activity. Each activity must have at least one primary objective and may have an unlimited number of objectives.

<objectives> element

Figure 3.21 - <objectives> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes: None.

Elements:

3.8.1 <primaryObjective> Element

Description: Identifies the objective that contributes to the rollup associated with the activity.

<primaryObjective> element

Figure 3.22 - <primaryObjective> element.

Multiplicity: Occurs once in the <objectives> element.

Attributes:

Elements:

3.8.2 <objective> Element

Description: Identifies objectives that do not contribute to rollup associated with the activity.

<objective> element

Figure 3.23 - <objective> element.

Multiplicity: Occurs zero or once in the <objectives> element.

Attributes:

Elements:

3.8.3 <minNormalizedMeasure> Element

Description: Defines the minimum satisfaction measure for the objective normalized between -1 and 1. If the objective value of 'Objective Normalized Measure' exceeds this value, the objective value of 'Objective Data Status' is set to 'true' and the objective value of 'Objective Satisfied Status' is set to 'true'. It has a real number in the range -1.0000 to 1.000 with a precision of at least four decimal places and has a default value of 1.0000.

Multiplicity: Occurs zero or once on the <primaryObjective> and <objective> elements.

Attributes: None.

Elements: None.

3.8.4 <mapInfo> Element

Description: The container for the objective map description. This defines the mapping of an activity's local objective information to and from a shared global objective. Each activity may have an unlimited number of objective maps.

Note that the information model defines constraints on how objectives may be mapped to and from global objectives, to assure that there is never an indeterminate state on any objective. While the XSD document does not enforce these constraints, they are still normative on all binding instances.

<mapInfo> element

Figure 3.24 - <mapInfo> element.

Multiplicity: Occurs zero, once, or an unlimited number of times on the <primaryObjective> and <objective> elements.

Attributes:

Elements: None.

3.9 <randomizationControls> Element

Description: The container for the descriptions of how children of an activity should be ordered during the sequence process. Simple Sequencing processes may reference the randomization control data for any activity in the activity tree and when this is absent the default values should be used.

<randomizationControls> element

Figure 3.25 - <randomizationControls> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes:

Elements: None.

3.10 <deliveryControls> Element

Description: This contains the description of the actions and controls used when an activity is delivered. Simple Sequencing processes may reference the delivery control data for any activity in the activity tree. The delivery controls are optional and if these are absent then the default values must be used.

<deliveryControls> element

Figure 3.26 - <deliveryControls> element.

Multiplicity: Occurs zero or once in the <sequencing> element.

Attributes:

Elements: None.

3.11 #wildCard

Description: This is the Simple Sequencing Binding extension facility.

Multiplicity: Occurs zero or more times in the <sequencing> element.

Attributes: None.

Elements: None.

4. Sequencing Definition Element Mapping

This section contains several tables. Table 4.1 maps a Sequencing Definition element by its number and name as listed in the Simple Sequencing Information Model specification 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.

The Sequencing Definition and Tracking Definition Models identify data elements in a dot-delimited enumeration and by a name. The dot-delimited enumeration typifies the relationship of elements to each other, where elements with a numeral following a dot are subordinate to elements who share the same numeric value to the left of a dot. The enumeration within a table is separated from the enumeration of the table by a colon character; thus, element 2.1 in table SM.2 is identified as "SM.2:2.1". The enumeration typically does not imply a strict sequence or order of occurrence. It merely implies a group relationship.

In some cases, two Information Model elements map to the same XML Schema entity. Unless otherwise noted, the following rules apply:

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

XSD elements of type 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 Sequencing Definition or Tracking Definition model and the XML Schema element name are used to associate a nested Schema structuring entity with the appropriate element from the Sequencing Definition model.

Table 4.1 - Sequencing Definition elements mapped to XML Schema (XSD) structures.

No. SD/TD Element Name XSD Entity Name XSD Structure XSD Type




sequencingCollection
element
complexType
SM.12
Sequencing Description
sequencing
element
complexType
SM.12
Sequencing Description
sequencingRef
element
complexType
SM.1
Sequencing Control Modes
controlMode
element
complexType
:1
Sequencing Control Choice
choice
attribute
boolean
:2
Sequencing Control Choice Exit
choiceExit
attribute
boolean
:3
Sequencing Control Flow
flow
attribute
boolean
:4
Sequencing Control Forward Only
forwardOnly
attribute
boolean
:5
Use Current Attempt Objective Progress Information
useCurrentAttemptObjectiveInfo
attribute
boolean
:6
Use Current Attempt Progress Information
useCurrentAttemptProgressInfo
attribute
boolean




sequencingRules
element
complexType
SM.2
Sequencing Rule Description
preConditionRule
postConditionRule
exitConditionRule
element
complexType
:1
Condition Combination
conditionCombination
element
complexType
:2
Rule Conditions
ruleConditions
element
complexType




ruleCondition
element
complexType
:2.1
Rule Condition
condition
attribute
simpleType
:2.2
Rule Condition Referenced Objective
referencedObjective
attribute
string
:2.3
Rule Condition Measure Threshold
measureThreshold
attribute
simpleType
:2.4
Rule Condition Operator
operator
attribute
simpleType




ruleAction
element
complexType
:3
Rule Action
action
attribute
simpleType
SM.3
Limit Conditions Description
limitConditions
element
complexType
:1
Limit Condition Attempt Control
attemptLimit
element
boolean *
:2
Limit Condition Attempt Limit
attemptLimit
element
nonNegativeInteger
:3
Limit Condition Attempt Absolute Duration Control
attemptAbsoluteDurationLimit
element
boolean *
:4
Limit Condition Attempt Absolute Duration Limit
attemptAbsoluteDurationLimit
element
duration
:5
Limit Condition Attempt Experienced Duration Control
attemptExperiencedDurationLimit
element
boolean *
:6
Limit Condition Attempt Experienced Duration Limit
attemptExperiencedDurationLimit
element
duration
:7
Limit Condition Activity Absolute Duration Control
activityAbsoluteDurationLimit
element
boolean *
:8
Limit Condition Activity Absolute Duration Limit
activityAbsoluteDurationLimit
element
duration
:9
Limit Condition Activity Experienced Duration Control
activityExperiencedDurationLimit
element
boolean *
:10
Limit Condition Activity Experienced Duration Limit
activityExperiencedDurationLimit
element
duration
:11
Limit Condition Begin Time Limit Control
beginTimeLimit
element
boolean *
:12
Limit Condition Begin Time Limit
beginTimeLimit
element
dateTime
:13
Limit Condition End Time Limit Control
endTimeLimit
element
boolean *
:14
Limit Condition End Time Limit Limit
endTimeLimit
element
dateTime




auxiliaryResources
element
complexType
SM.4
Auxiliary Resource Description
auxiliaryResource
element
complexType
:1
Resource ID
auxiliaryResourceID
attribute
string
:2
Purpose
purpose
attribute
string




rollupRules
element
complexType
SM.5
Rollup Rule Description
rollupRule
element
complexType
:1
Rollup Child Activity Set
childActivitySet
attribute
simpleType
:1.1
Rollup Minimum Count
minimumCount
attribute
integer
:1.2
Rollup Minimum Percent
minimumPercent
attribute
decimal
:2
Condition Combination
conditionCombination
attribute
simpleType
:3
Rollup Conditions
rollupConditions
element
complexType




rollupCondition
element
complexType
:3.1
Rollup Condition
condition
attribute
simpleType
:3.2
Rollup Condition Operator
operator
attribute
simpleType




rollupAction
element
complexType
:4
Rollup Action
action
attribute
simpleType




objectives
element
complexType
SM.6
Objective Description
primaryObjective
objective
element
complexType
:1
Objective ID
objectiveID
attribute
string
:2
Objective Satisfied By Measure
satisfiedByMeasure
attribute
boolean
:3
Objective Minimum Satisfied Normalized Measure
minNormalizedMeasure
element
simpleType
:4
Objective Contributes To Rollup
primaryObjective
element
boolean *




objectives
element
complexType
SM.7
Objective Map
mapInfo
element
complexType
:1
Activity Objective ID
objectiveID
attribute
string
:2
Target Objective ID
targetObjectiveID
attribute
string
:3
Read Objective Satisfied Status
readSatisfiedStatus
attribute
boolean
:4
Write Objective Satisfied Status
writeSatisfiedStatus
attribute
boolean
:5
Read Objective Normalized Measure
readNormalizedMeasure
attribute
boolean
:6
Write Objective Normalized Measure
writeNormalizedMeasure
attribute
boolean
SM.8
Rollup Controls
rollupRules
element
complexType
:1
Rollup Objective Satisfied
rollupObjectiveSatisfied
attribute
boolean
:2
Rollup Objective Measure Weight
objectiveMeasureWeight
attribute
simpleType
:3
Rollup Progress Completion
rollupProgressCompletion
attribute
boolean
SM.9
Selection Controls
randomizationControls
element
complexType
:1
Selection Timing
selectionTiming
attribute
simpleType
:2
Selection Count Status
selectCount
attribute
boolean *
:3
Selection Count
selectCount
attribute
nonNegativeInteger
SM.10
Randomization Controls
randomizationControls
element
complexType
:1
Randomization Timing
randomizationTiming
attribute
simpleType
:2
Randomize Children
reorderChildren
attribute
boolean
SM.11
Delivery Controls
deliveryControls
element
complexType
:1
Tracked
tracked
attribute
boolean
:2
Completion Set By Content
completionSetByContent
attribute
boolean
:3
Objective Set By Content
objectiveSetByContent
attribute
boolean

4.1 Mapping Sequencing Definition Elements to XSD Entities of simpleType

Table 4.2 - Simple Types with Restricted Enumerations.

No. XSD Name XSD Enumeration Value XSD Data Type Sequencing Definition Model Values
SM.2:1
conditionCombination
all
token
All




any
token
Any
SM.2:2.1
condition
satisfied
token
Satisfied




objectiveStatusKnown
token
Objective Status Known




objectiveMeasureKnown
token
Objective Measure Known




objectiveMeasureGreaterThan
token
Objective Measure Greater Than




objectiveMeasureLessThan
token
Objective Measure Less Than




completed
token
Completed




activityProgressKnown
token
Activity Progress Known




attempted
token
Attempted




attemptLimitExceeded
token
Attempt Limit Exceeded




timeLimitExceeded
token
Time Limit Exceeded




outsideAvailableTimeRange
token
Outside Available Time Range




always
token
Always
SM.2:2.4
operator
not
token
Not




noOp
token
NO-OP
SM.2:3
action
skip
token
Skip




disabled
token
Disabled




hiddenFromChoice
token
Hidden from Choice




stopForwardTraversal
token
Stop Forward Traversal




exitParent
token
Exit Parent




exitAll
token
Exit All




retry
token
Retry




retryAll
token
Retry All




continue
token
Continue




previous
token
Previous




exit
token
Exit
SM.5:1
childActivitySet
all
token
All




any
token
Any




none
token
None




atLeastCount
token
At Least Count




atLeastPercent
token
At Least Percent
SM.5:2
conditionCombination
all
token
All




any
token
Any
SM.5:3.1
condition
satisfied
token
Satisfied




objectiveStatusKnown
token
Objective Status Known




objectiveMeasureKnown
token
Objective Measure Known




completed
token
Completed




activityProgressKnown
token
Activity Progress Known




attempted
token
Attempted




attemptLimitExceeded
token
Attempt Limit Exceeded




timeLimitExceeded
token
Time Limit Exceeded




outsideAvailableTimeRange
token
Outside Available Time Range
SM.5:3.2
operator
not
token
Not




noOp
token
NO-OP
SM.5:4
action
satisfied
token
Satisfied




notSatisfied
token
Not Satisfied




completed
token
Completed




incomplete
token
Incomplete
SM.9:1
selectionTiming
never
token
Never




once
token
Once




onEachNewAttempt
token
On Each New Attempt
SM.10:1
randomTiming
never
token
Never




once
token
Once




onEachNewAttempt
token
On Each New Attempt

Table 4.3 - Simple Types with Restricted Numerical Types.

No. XSD Name XSD Base Type MinInclusive MaxInclusive
SM.2:2.3
measureThreshold
decimal
-1
1
SM.5:1.2
minimumPercent
decimal
0
1
SM.6:3
minNormalizedMeasure
decimal
-1
1
SM.8:2
objectiveMeasureWeight
decimal
0
1

5. Physical Realization of the XML Binding

The XML Binding has been released as a set of XSDs. The binding is implemented as a series of files which are linked using the XML XSD 'include' statement; the hierarchical relationship is shown in Figure 5.1. The XSD files created to realize the binding are:

The hierarchical relationship of the SS XSD files

Figure 5.1 - The hierarchical relationship of the SS XSD files.

6. Normative Points

6.1 XML Schema File Naming Convention

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

Non-normative examples of XML Schema file names for IMS SS:

6.2 Namespace URI (Namespace Identifier)

The namespace URI for IMS Simple Sequencing shall be: http://www.imsglobal.org/xsd/imsss/

6.2.1 Location of Current IMS Sequencing Binding Instance

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

6.2.2 Location of Versioned IMS Sequencing Binding Instances

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

For example, the non-normative examples of XML Schema files named for various binding instances of IMS Simple Sequencing v1.0 would be held at this location: http://www.imsglobal.org/xsd/imsss/v1p0/ .

6.3 Namespace Name

The namespace Name used as the prefix of an XML Namespace Qualified Name instance of an IMS Simple Sequencing binding instance used in other XML documents shall be imsss.

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

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

An element of the IMS Simple Sequencing declared in an XML document where the imsss namespace is declared would appear like this:

   <imsss:sequencing></imsss:sequencing>

6.4 Versioning a Binding Instance

A binding version of the IMS Simple Sequencing Specification shall always reflect the current version number of the IMS Simple Sequencing 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 Simple Sequencing 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 http://www.imsglobal.org/xsd/imsss/. The obsolete binding shall be moved to its place within the imsss file path structure based on the value of its version level component, excluding the revision level component.

6.5 Localization

6.5.1 Localizing Binding Structure Names and Values

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

US English annotations and comment strings within an IMS binding shall occur in all binding instances of an IMS Simple Sequencing 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.

6.5.2 Localizing this Document

This binding document may be rendered into different lingual representations except for the US English representations of:

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

6.6 Extensibility

The IMS Simple Sequencing Binding provides one and only one mechanism for extending binding instances: the "wildcard" element contained in the top level of the "sequencing" element. All other extensions to binding instances are prohibited. This means:

The IMS Simple Sequencing XML Schema Definition file enforces these restrictions by defining block="#all" on all elements in the IMS Simple Sequencing namespace.

Further, extensions to the IMS Simple Sequencing namespace are prohibited. This means:

The IMS Simple Sequencing XML Schema Definition file enforces this restriction by defining namespace="##other" on the wildcard element defined within the sequencing element in the IMS Simple Sequencing namespace.

As a potential aid to implementers, the types defined in the IMS Simple Sequencing XML Schema Definition file may be imported into other namespaces and reused within those other namespaces. However, any such reuse shall be consistent with the restrictions defined in the IMS Simple Sequencing Specification document.

About this Document

Title
IMS Simple Sequencing XML Binding
Editors
Mark Norton (IMS), Brendon Towle (Thomson NETg), Colin Smythe (IMS)
Team Co-Leads
Ron Ball (ADL), Brandt Dargue (Boeing)
Version
1.0
Version Date
03 March 2003
Status
Final Specification
Summary
This document describes the XML binding definition model for the IMS Simple Sequencing Specification.
Purpose
Defines the IMS Simple Sequencing XML Binding.
Document Location
http://www.imsglobal.org/simplesequencing/ssv1p0/imsss_bindv1p0.html

List of Contributors

The following individuals contributed to the development of this document:

Name Organization
Thor Anderson
IMS Global Learning Consortium, Inc.
Bill Blackmon
Carnegie Mellon University
Fabrizio Cardinali
Giunti Interactive Labs
Travis Carlton
Boeing
Thomas Dinger
IBM
Philip Dodds
Advanced Distributed Learning (ADL)
Leonard Greenberg
Pathlore
Michael Korcuska
DigitalThink
Jon McCarty
Docent
Boyd Nielsen
Thomson NETg
Land Ormiston
Saba
Claude Ostyn
Click2learn
Angelo Panar
Advanced Distributed Learning (ADL)
Dan Rehak
Carnegie Mellon University
GianLuca Rolandelli
Giunti Interactive Labs
Brian Taliesin
Microsoft
Schawn Thropp
Advanced Distributed Learning (ADL)
Robert Todd
DigitalThink
Ed Walker
IMS Global Learning Consortium, Inc.
Michael Vax
WebCT
Jonathan Zempel
IBM

Revision History

Version No. Release Date Comments
0.7.5 Public Draft
12 April 2002
First Public Draft released to the public.
1.0 Public Draft
17 October 2002
Numerous editorial updates and additional clarifications. Updated pseudo code. Added introduction section and several diagrams.
1.0 Final
03 March 2003
Made many changes to resolve various technical issues. See the Issues List document for a detailed description of the changes.
Added Normative section.

Index

A
Absolute Duration 1
Activity 1, 2, 3
Attempt 1, 2, 3, 4
Auxiliary Resource 1

B
Binding
     Attributes

action 1, 2, 3, 4, 5, 6, 7

childActivitySet 1, 2, 3

condition 1, 2, 3, 4, 5, 6

ID 1, 2, 3, 4, 5

IDRef 1, 2, 3

minimumCount 1, 2

minimumPercent 1, 2, 3

objectiveID 1, 2, 3

objectiveMeasureWeight 1, 2, 3

operator 1, 2, 3

rollupObjectiveSatisfied 1, 2

rollupProgressCompletion 1, 2

satisfiedByMeasure 1, 2, 3      Elements

auxiliaryResource 1, 2

auxiliaryResources 1, 2, 3, 4

controlMode 1, 2, 3, 4, 5

deliveryControls 1, 2, 3, 4

exitConditionRule 1, 2, 3

limitConditions 1, 2, 3, 4, 5, 6

mapInfo 1, 2, 3

minNormalizedMeasure 1, 2, 3, 4

objective 1, 2, 3

objectives 1, 2, 3, 4, 5

postConditionRule 1, 2, 3

preConditionRule 1, 2, 3

primaryObjective 1, 2

randomizationControls 1, 2, 3, 4

rollupAction 1, 2, 3

rollupCondition 1, 2

rollupRule 1, 2, 3

rollupRules 1, 2, 3, 4, 5

ruleAction 1, 2, 3, 4

ruleCondition 1

ruleConditions 1, 2, 3, 4

sequencing 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

sequencingCollection 1, 2, 3, 4, 5

sequencingRules 1, 2, 3, 4, 5

C
CDATA 1
conditionCombination 1, 2, 3, 4, 5, 6
Content Package 1, 2

D
Delivery Controls 1
DTD 1

E
Experienced Duration 1
Extensibility 1

I
IMS Specifications
     Content Packaging 1

L
Limit Conditions 1

M
Model 1, 2, 3, 4
     Sequencing Definition 1, 2

O
Objective 1, 2, 3, 4
Objective Map 1

P
PCDATA 1
Progress Information 1

R
Randomization Controls 1
Resource 1, 2
Rollup Controls 1
Rollup Rule 1

S
Selection Controls 1
Sequencing 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Sequencing Control 1
Sequencing Definition Model 1, 2
Sequencing Rule 1

W
W3C 1, 2

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

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Simple Sequencing 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 Simple Sequencing XML Binding Revision: 03 March 2003