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 © IMS Global Learning Consortium 2006. All Rights Reserved.

If you wish to distribute this document or use this document to implement a product or service, you must complete a valid license registration with IMS and receive an email from IMS granting the license. 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 Licensee organizations 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 work 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/simplesequencing/ssv1p0/ssv1p0seclicense.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