IMS Logo IMS Enterprise XML Binding
Version 1.1 Final Specification
Copyright © 2002 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Enterprise XML Binding
Date: 01 July 2002

 

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

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

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 Enterprise 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 XML Schema Definition (XSD)
     2.3 Document Type Definitions (DTD)
           2.3.1 Declaring Element Contents
           2.3.2 Declaring Element Attributes
           2.3.3 Use of Attributes
     2.4 Special Handling Requirements
           2.4.1 XML Reserved Characters
           2.4.2 White Space Handling
     2.5 Extensibility

3. Normative Description of the XML Binding
     3.1 <enterprise> Elements
           3.1.1 <comments>
           3.1.2 <properties>
           3.1.3 <person>
           3.1.4 <group>
           3.1.5 <membership>
     3.2 <properties> Elements
           3.2.1 <comments>
           3.2.2 <datasource>
           3.2.3 <target>
           3.2.4 <type>
           3.2.5 <datetime>
           3.2.6 <extension>
     3.3 <person> Elements
           3.3.1 <comments>
           3.3.2 <sourcedid>
           3.3.3 <userid>
           3.3.4 <name>
           3.3.5 <n>
           3.3.6 <demographics>
           3.3.7 <email>
           3.3.8 <url>
           3.3.9 <tel>
           3.3.10 <adr>
           3.3.11 <photo>
           3.3.12 <systemrole>
           3.3.13 <institutionrole>
           3.3.14 <datasource>
           3.3.15 <extension>
     3.4 <group> Elements
           3.4.1 <comments> Elements
           3.4.2 <sourcedid>
           3.4.3 <grouptype> Elements
           3.4.4 <description> Elements
           3.4.5 <org> Elements
           3.4.6 <timeframe>
           3.4.7 <enrollcontrol> Elements
           3.4.8 <email>
           3.4.9 <relationship> Elements
           3.4.10 <datasource>
           3.4.11 <extension>
     3.5 <membership> Elements
           3.5.1 <comments>
           3.5.2 <sourcedid>
           3.5.3 <member> Elements
           3.5.4 <role> Elements
           3.5.5 <interimresult> Elements
           3.5.6 <finalresult> Elements
     3.6 Common Data Elements
           3.6.1 <comments> Element
           3.6.2 <sourcedid> Element
           3.6.3 <userid> Element
           3.6.4 <timeframe> Element

4. Examples in Enterprise XML Instance
     4.1 Person Instance
     4.2 Group Instance
     4.3 Membership Instance

Appendix A - Listing of the V1.1 DTD

Appendix B - Summary of Changes in this Document

About This Document
     List of Contributors

Revision History

Index


1. Introduction

1.1 Enterprise Specification Overview

The original IMS Enterprise V1.0 Specification was released in September 1999 with the errata V1.01 release following in December 1999 [Ent, 99a], [Ent, 99b], [Ent, 99c]. In August 2001 there was an IMS Enterprise Specification Validation meeting hosted by WebCT and held in Vancouver, Canada. At this meeting a review was held of the many successfully installed interoperable Enterprise systems based upon the IMS Enterprise Specification. The result of this meeting was the development and acceptance of the IMS Enterprise V1.1/V2.0 Scoping document [Ent, 01].

The V1.1 IMS Enterprise Specification is fully backwards compatible with the V1.01 specification1. The core amendments for this version are:

  • Support for a number of the proprietary extensions used to extend interoperability for the v1.01 release. These extensions cover the <person>, <group> and <membership> data objects;
  • Support for multiple <sourcedid> and <userid> structures. Password support has been added to the <userid> structure;
  • Provision of enumerated non-numeric vocabularies. V1.0 uses numeric-based vocabularies. Wherever possible the vocabularies are to be extended to reflect common usage;
  • 'Internationalization' of the core data objects including:
    • Name structure to support non-English conventions
    • Telephony and electronic contact numbers to be extended.

1.2 Scope and Context

This document is the IMS Enterprise XML Binding V1.1 Final Specification document and is derived from the corresponding Information Model [Ent, 2a]. As such it will be used as the basis for the development of the following documents:

  • IMS Enterprise Best Practice and Implementation Guide v1.1 [Ent, 02b].

This requirement has been derived from the agreed IMS Enterprise V1.1/2.0 Scoping document [Ent, 01].

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 Enterprise Information Model;
3. Narrative Description of the XML Binding A detailed description of the realization of the IMS Enterprise Information Model in XML;
4. Examples of Enterprise XML Instances A series of examples of the <person>, <group> and <membership> XML instances.
Appendix A - Listing of the V1.1 DTD The uncommented listing of the V1.1 DTD;
Appendix B - Summary of Changes in this Document The details of all of the changes made for the production of this version of the specification document.

1.4 Nomenclature

API Application Programming Interface
CBT Computer Based Training
DTD Document Type Definition
LMS Learning Management System
VLE Virtual Learning Environment
W3C World Wide Web Consortium
XML Extensible Mark-up Language
XSD XML Schema

1.5 References

[Ent, 01] IMS Enterprise V1.1/V2.0 Scoping Document, C.Smythe, G.Collier and C.Etesse, IMS, November 2001.
[Ent, 02a] IMS Enterprise Information Model V1.1 Final Specification, C.Smythe, G.Collier and C.Etesse, IMS Specification, July 2002.
[Ent, 02b] IMS Enterprise Best Practice & Implementation Guide V1.1 Final Specification, C.Smythe, G.Collier and C.Etesse, IMS Specification, July 2002.
[Ent, 99a] IMS Enterprise Information Model V1.01 Final Specification, G.Collier and W.Veres, IMS Specification, December 1999.
[Ent, 99b] IMS Enterprise XML Binding V1.01 Final Specification, G.Collier and W.Veres, IMS Specification, December 1999.
[Ent, 99c] IMS Enterprise Best Practice & Implementation Guide V1.01 Final Specification, G.Collier and W.Veres, IMS Specification, December 1999.
[IMS, 01a] IMS Persistent Location-independent Resource Identifier Implementation Handbook, V1.0, M.McKell, IMS Specification, May, 2001.

2. XML Basics

The Enterprise data model can be defined as 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. PCDATA really means any character string that does not contain elements. PCDATA is what the bulk of elements will use between their start and end-tags. CDATA is different in that it is a method for adding any character data that should not be processed. For example, you could add some Java script code instructions using a CDATA section. A CDATA section tells the parser not to look for any markup until after it locates the end of the CDATA section.

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 and they 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 Enterprise XML Binding Specification adheres to the following tag name rules:

  • All tag names will conform to the rules for element naming as given within the XML Version 1.0 specification;
  • Names beginning in "xml" in any case or mix of cases are not permitted;
  • All element and attribute names in the IMS XML binding are aligned with the W3C XHTML standard and as such will be lower-case;
  • Element names may not include words reserved by the XML specification. These include:
    DOCTYPE
    ELEMENT
    ATTLIST
    ENTITY
  • Tag names defined within the IMS Enterprise XML Binding may not be redefined, with the exception of those that are used for extensions.

2.2 XML Schema Definition (XSD)

XML Schema Definition (XSD) is the primary XML binding control document format of IMS (at present these bindings are working to the May 2001 version of XML Schema). The XSD defines elements, their content models, and attributes. It also defines the standard IMS vocabularies. The XSD defines the element types and attribute groups separately from the elements. This serves three purposes:

  • The element names are declared before the type definitions to prevent any declaration confusions by XML-Schema validators. This is analogous to declaring sub-routine and function names separately at the top of a program unit;
  • The complexTypes may be managed more effectively, including support for derived types in the near future. Derivation will be used for harmonization and extension;
  • The attributes may be managed more effectively, particularly when the same attributes are used by several elements' complexTypes.

2.3 Document Type Definitions (DTD)

The tag name, content model, and attributes of elements are defined in a Document Type Definition (DTD) statement. These may exist as an external file or a block of text internal to an XML document. Internal DTDs should be used with care. The DTD defines the elements that may be used, and may define the contents of the elements.

This specification defines the external DTD with the file name (for version 1.1): ims_epv1p1.dtd

Some XML editors may make use of a DTD 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 DTDs to validate their XML documents to ensure their document is consistent with all of the element names and locations defined in the DTD. An XML document is valid if it has an associated document type declaration and if the document complies with the constraints expressed in it. Details of the construction of DTDs are outside the scope of this document, but links to the XML Version 1.0 specification are included in the References section of this document.

2.3.1 Declaring Element Contents

The information specifying the order and usage of allowable contents for an element are its content model. The content model is declared in a DTD (see below). The declaration of the content model is of the general form:

  <!ELEMENT tagname (Content Model)>

The SHORT element can again serve as an example of how an element is declared with its content model:

  <!ELEMENT short (#PCDATA)>

This element will contain character data (#PCDATA) that can be processed. The XML Specification provides more information about the details for creating and interpreting content models.

2.3.1.1 Lists

A list is a repetition of the contents of an element. In XML, this is accomplished by repeating the containing element: for example, the person element contains an element tel. Described in the DTD as:

  <!ELEMENT person (tel*, extension?)>

When instantiated in XML a repeating list of ITEM elements would appear:

  <person>
    <tel>First tel number</tel>
    <tel>Second tel number</tel>
  </person>

In this example, the element tel is repeated. Thus tel is the containing element for the repeated contents descriptions. The notation for repetitions of an element in a content model follows the XML specification. An asterisk (*) specifies that none or more repetitions of the element may be included in the XML instantiation whereas a plus (+) specifies that one or more repetitions of the element may be included in the XML instantiation. The extension element is not used - a question mark (?) specifies that none or one repetitions of the element may be included.

2.3.2 Declaring Element Attributes

An example of how the attributes for the element person is declared in a DTD is found below:

  <!ELEMENT person (sourcedid, name, adr?, extension?)>
  <!ATTLIST person recstatus CDATA #IMPLIED>

The first line declares that there is an element named person that must have the sourcedid and name elements and is additionally allowed to have adr and/or extension elements as its contents. The second line begins with "!ATTLIST" to start an attribute list declaration for the person element. The word recstatus will serve as the attribute's name. The allowable value for this attribute must be of type CDATA.

At the end of the example above is the term IMPLIED. It is at this location in the attribute declaration, where a default value for an attribute may be specified. It is also possible to use the keyword REQUIRED which would force a TYPE value to be supplied and there would be no default value. In the example above, the IMPLIED designation means that the designer wants to allow users to omit the value for the attribute without forcing a particular default value.

2.3.3 Use of Attributes

Within the IMS XML binding, the use of attributes is reserved for information about the structure of the relevant data object. This means that an attribute is used to create a specific type of element e.g., the element could be the date and its attribute could be used to define the date as the date of birth.

2.4 Special Handling Requirements

2.4.1 XML Reserved Characters

Some characters used in XML must be escaped when used outside of their XML defined usage as found in Section 2.4 of the XML 1.0 Specification. These characters are ampersand (&), less than (<), greater than (>), apostrophe(') and the double-quotes character("). These characters may be represented using either numeric character references or the strings ",&amp;", "&lt;", "&gt;", "&apos;", and "&quot;". Below is a more complete quote from the W3C XML specification:

Quote from Extensible Markup Language (XML) 1.0
W3C Recommendation 10-February-1998
2.4 Character Data and Markup

Text consists of intermingled character data and markup. Markup takes the form of start-tags, end-tags, empty-element tags, entity references, character references, comments, CDATA section delimiters, document type declarations, and processing instructions.

All text that is not markup constitutes the character data of the document.

The ampersand character (&) and the left angle bracket(<) may appear in their literal form only when used as markup delimiters or within a comment, a processing instruction or a CDATA section. They are also legal within the literal entity value of an internal entity declaration; see "4.3.2 Well-Formed Parsed Entities". If they are needed elsewhere, they must be escaped using either numeric character references or the strings "&amp;" and "&lt;" respectively. The right angle bracket (>) may be represented using the string "&gt;" and must, for compatibility, be escaped using "&gt;" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section.

In the content of elements, character data is any string of characters which does not contain the start delimiter of any markup. In a CDATA section, character data is any string of characters not including the CDATA-section-close delimiter, "]]>".

To allow attribute values to contain both single and double quotes, the apostrophe or single-quote character (') may be represented as "&apos;", and the double-quote character (") as "&quot;".

2.4.2 White Space Handling

Questions arise as to whether Web-based data transmission tools might inadvertently strip-off or transform some of the white space characters embedded in the Enterprise data transmitted between systems using XML. To eliminate concern about this issue, refer to the following quote from the W3C XML standards, which indicate that all white space must be preserved where it is part of the data.

Quote from Extensible Markup Language (XML) 1.0
W3C Recommendation 10-February-1998
2.10 White Space Handling

In editing XML documents, it is often convenient to use "white space" (spaces, tabs, and blank lines, denoted by the non-terminal S in this specification) to set apart the markup for greater readability. Such white space is typically not intended for inclusion in the delivered version of the document. On the other hand, "significant" white space that should be preserved in the delivered version is common, for example in poetry and source code.

An XML processor must always pass all characters in a document that are not markup through to the application. A validating XML processor must also inform the application which of these characters constitute white space appearing in element content.

A special attribute named xml:space may be attached to an element to signal an intention that in that element, white space should be preserved by applications. In valid documents, this attribute, like any other, must be declared if it is used. When declared, it must be given as an enumerated type whose only possible values are "default" and "preserve". For example:

  <!ATTLIST poem xml:space (default | preserve)'preserve'>

The value "default" signals that applications' default white-space processing modes are acceptable for this element; the value "preserve" indicates the intent that applications preserve all the white space. This declared intent is considered to apply to all elements within the content of the element where it is specified, unless overridden with another instance of the xml:space attribute.

2.5 Extensibility

Some providers will find the current element set defined in the Enterprise Specification too restrictive to accomplish their purposes. To ensure extensibility, the specification requires that there be no limit on potential extensions to major elements. An extension is the addition of information to an existing XML structure.

  <!ELEMENT extension ANY>

An example of the inclusion of extension in the content model of element person is:

  <!ELEMENT person (name, adr, extension?)>

The use of the person element is illustrated as follows:

  <person>
    <name> ... Name data ... </name> 
    <adr> ... Address data ... </adr>
    <extension> 
      <comment>This is a test to demo extensions</comment> 
    </extension>
  </person>

The contents, but not a content model, of an extension must be declared in an internal or external DTD. Many extensions can be created through the use of existing elements. Care must be used with internal DTDs, as they over-ride external DTD declarations. The content of an extension must obey the attribute and content models of the elements employed. New elements that duplicate the definitions of existing elements should not be introduced.

Prefacing the extension element with an appropriate namespace may reference descriptions of extensions. For example, a group such as the Advanced Distributed Learning (ADL) initiative may wish to add the "adl" prefix to an extension element to uniquely identify ADL extensions (the prefix must be declared in the head of the XML instance). The following is an example of this:

  <person>
     ... mandatory elements of person elements here ...  
 
    <adl:extension adl:classification="Not classified">
      <adl:comment>Discusses how the people are assigned to defence posts.</adl:comment>
    </adl:extension>
  </person>

This serves to note the entire extension structure. Extensions should always be added at the lowest point (farthest from the root element) in the hierarchy possible, to the degree that the structure defines the meaning of the extension.

3. Normative Description of the XML Binding

3.1 <enterprise> Elements

Description: This is the root element for the entire IMS Enterprise Specification. All of the corresponding Enterprise XML instances must include this element as their root.

<enterprise> elements

 

Figure 3.1 <enterprise> elements.

Multiplicity: The root element for the IMS Enterprise XML binding.

Attributes: None.

Elements:

  • comments
  • properties
  • person
  • group
  • membership

Example:

<enterprise>
  <comments>The basic structure for an IMS Enterprise XML instance.</comments>
  <properties>
    ...
  </properties>
  <person>
    ...
  </person>
  <person>
    ...
  </person>
  <group>
    ...
  </group>
  <group>
    ...
  </group>
  <membership>
    ...
  </membership>
  <membership>
    ...
  </membership>
</enterprise>

3.1.1 <comments>

Description: This is the container for comments that are relevant to the <enterprise> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <enterprise> element.

Attributes: See structure 3.6.1.

3.1.2 <properties>

Description: The container of the basic packaging information that is used to manage the exchange of data between source and target systems. This element is in effect the 'header' construct for the Enterprise message with the corresponding <person>, <group> and/or <membership> structures acting as the body of the message.

Multiplicity: Occurs once within the <enterprise> element.

Attributes: See structure 3.2.

3.1.3 <person>

Description: The container for information about a particular learner undertaking the learning experience. This information is not intended to be a definitive description of the individual but is intended to supply only the core information relevant to a learning management system.

Multiplicity: Occurs zero or more times within the <enterprise> element.

Attributes: See structure 3.3.

3.1.4 <group>

Description: The container for all of the information about a group and its relationship to other groups. A group can be a collection of individuals, a set of curriculum definitions, or any other collection of relevant objects. The group structure is a convenient abstract container for any collection of common objects.

Multiplicity: Occurs zero or more times within the <enterprise> element.

Attributes: See structure 3.4.

3.1.5 <membership>

Description: The container for all of the information about the members (as defined in the <person> and/or <group> structures) for a particular Group. This structure is used to establish the membership relations between Groups and Groups/Persons.

Multiplicity: Occurs zero or more times within the <enterprise> element.

Attributes: See structure 3.5.

3.2 <properties> Elements

Description: The container for the basic packaging information that is used to manage the exchange of the data between the source and target systems.

<properties> elements

 

Figure 3.2 <properties> elements.

Multiplicity: Occurs once within the <enterprise> structure.

Attributes:

  • lang (optional). Identifies the language in which the properties information is supplied. The vocabulary is based upon the ISO639 standard.
    Data type= String [1-128].

Elements:

  • comments
  • datasource
  • target
  • type
  • datetime
  • extension

Example:

<enterprise>
  <properties lang="en-US">
    <comments>A relevant comment about this structure.</comments>
    <datasource>Cal State SIS</datasource>
    <target>Cal State LMS-1</target>
    <target>Cal State LMS-2</target>
    <type>Initial Group Creation</group>
    <datetime>2002-04-01T15:00:00</datetime>
  </properties>
  ...
</enterprise>

3.2.1 <comments>

Description: This is the container for comments that are relevant to the <properties> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <properties> element.

Attributes: See structure 3.6.1.

3.2.2 <datasource>

Description: This is the source address/identifier of the Enterprise system that is initiating the data transfer. This must uniquely identify the source system thereby enabling communication between the source and target Enterprise systems.
Data type= String of characters [1-256].

Multiplicity: Occurs once within the <properties> structure.

Attributes: None.

3.2.3 <target>

Description: An identifier for the target Enterprise System. This identifier should be capable of uniquely identifying the appropriate Enterprise System.
Data type= String of characters [1-256].

Multiplicity: Occurs zero or more times in the <properties> structure.

Attributes: None.

3.2.4 <type>

Description: Describes the type of event that caused the source system to generate the data objects. The set of codes that could be used must be agreed as part of the business mapping rules between the communicating Enterprise Systems.
Data type= String of characters [1-32].

Multiplicity: Occurs zero or once in the <properties> structure.

Attributes: None.

3.2.5 <datetime>

Description: The date and time the data objects were generated by the data source. The format is as defined by ISO8601.
Data type= String of characters [YYYY-MM-DDTHH:MM:SS].

Multiplicity: Occurs once within the <properties> structure.

Attributes: None.

3.2.6 <extension>

Description: This is the container for any proprietary extensions features that are to be added to the <properties> element. These extensions can make use of any of the elements already defined within the DTD or can support new elements that are introduced within the DTD.

Multiplicity: Occurs zero or once within the <properties> structure.

Attributes: None.

3.3 <person> Elements

Description: The container for all of the information about a particular individual. This information is not a complete description of the person as only the data immediately relevant to learning is required.

<person> elements

 

Figure 3.3 <person> elements.

Multiplicity: Occurs zero or more times within the <enterprise> structure.

Attributes:

  • recstatus (optional and enumerated as: 1=Add, 2=Update, 3=Delete). Identifies the type of transaction being attempted.
    Data type= Integer [1-3].

Elements:

  • comments
  • sourcedid
  • userid
  • name
  • demographics
  • email
  • url
  • tel
  • adr
  • photo
  • systemrole
  • institutionrole
  • datasource
  • extension

Example:

<person>
  <comments>An useful comment, hopefully.</comments>
  <sourcedid>
    <source>IMS-LMS</source>
    <id>student_123456</id>
  </sourcedid>
  <userid>ColinS</userid>
  <name>
    <fn>Colin Smythe</fn>
    <prefix>Dr</prefix>
  </name>
  <demographics>
    <gender>2</gender>
    <bday>1958-03-31T00:00</bday>
    <disability>Blind</disability>
  </demographics>
  <email>colin@imsglobal.org</email>
  <url>http://www.imsglobal.org</url>
  <tel telnum="1">+44-114-2335007</tel>
  <adr>
    <pobox>345</pobox>
    <extadd>Region Court</extadd>
    <street>56 Grange Road</street>
    <locality>Guildford</locality>
    <pcode>GU12 5XH</pcode>
    <country>United Kingdom</country>
  </adr>
  <photo imgtype="image/jpg">
    <extref>http://www.imsglobal.org/staff/photo.jpg</extref>
  </photo>
  <systemrole systemroletype="SysAdmin"/>
  <institutionrole primaryrole="Yes" institutionroletype="Administrator"/>
  <datasource>CSU-LMS</datasource>
</person>

3.3.1 <comments>

Description: This is the container for comments that are relevant to the <person> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <person> element.

Attributes: See structure 3.6.1.

3.3.2 <sourcedid>

Description: This is the unique identifier assigned to the <person> structure. This must be a persistent identifier as it is used to co-ordinate the different operations on the same data structure.

Multiplicity: Occurs one or more times within the <person> structure.

Attributes: See structure 3.6.2.

3.3.3 <userid>

Description: The Person's user ID to access the learning management environment.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or more times in the <person> structure.

Attributes: See structure 3.6.3.

3.3.4 <name>

Description: The name of the Person. The name parts specified are used to support interoperability and not to maintain a full record of a person's name and all their alternative names.

<name> elements

 

Figure 3.4 <name> elements.

Multiplicity: Occurs once in the <person> structure.

Attributes: None.

3.3.4.1 <fn>

Description: The formatted name. Examples include: 'Robert Lawdon Jones', 'Dr Basten Holter', etc.
Data type = String of characters [256].

Multiplicity: Occurs zero or once in the <name> structure.

Attributes: None.

3.3.4.2 <sort>

Description: Name 'parsed' and re-ordered so it will sort appropriately on an alphabetized report or outline panel (this name is never displayed, it is only used for sorting). The parsing schemes will be vendor specific.
Data type = String of characters [256].

Multiplicity: Occurs zero or once in the <name> structure.

Attributes: None.

3.3.4.3 <nickname>

Description: Full name formatted in the way that the Person prefers to be addressed.
Data type = String of characters [256].

Multiplicity: Occurs zero or once in the <name> structure.

Attributes: None.

3.3.5 <n>

Description: The name with all parts distinguished.

Multiplicity: Occurs zero or once within the <name> structure.

Attributes: None.

3.3.5.1 <family>

Description: This is the family name and not necessarily the last name.
Data type = String of characters [256].

Multiplicity: Occurs zero or once within the <n> structure.

Attributes: None.

3.3.5.2 <given>

Description: The given name and not necessarily the first name.
Data type = String of characters [256].

Multiplicity: Occurs zero or once within the <n> structure.

Attributes: None.

3.3.5.3 <other>

Description: Other name parts. This field is to be deprecated in favour of the <partname> field.
Data type = String of characters [256].

Multiplicity: Occurs zero or more times within the <n> structure.

Attributes: None.

3.3.5.4 <prefix>

Description: Name prefix e.g., 'Mr', 'Mrs', 'Dr', etc.
Data type = String of characters [32].

Multiplicity: Occurs zero or once within the <n> structure.

Attributes: None.

3.3.5.5 <suffix>

Description: Name suffix e.g., 'Jr', 'Snr', etc.
Data type = String of characters [32].

Multiplicity: Occurs zero or once within the <n> structure.

Attributes: None.

3.3.5.6 <partname>

Description: The name supplied in its typed component parts.
Data -type = String of characters [256].

Multiplicity: Occurs zero or more times within the <n> structure.

Attributes:

  • lang (optional). Identifies the language in which the name component is written. The vocabulary is based upon the ISO639 standard.
    Data type= String [1-128].
  • partnametype (mandatory). The type component of the name. Examples of this include 'Last', 'First', 'Paternal', 'Initials', etc.
    Data type= String [1-64].

3.3.6 <demographics>

Description: The container for all of the demographic information about the Person. This is not an exhaustive set of information but instead is a small subset relevant to the learning experience.

<demographics> elements

 

Figure 3.5 <demographics> elements.

Multiplicity: Occurs zero or once within the <person> structure.

Attributes: None.

Elements:

  • gender
  • bday
  • disability

3.3.6.1 <gender>

Description: The gender of the Person. This is enumerated as 0=Unknown, 1=Female and 2=Male.
Data -type = String of characters [1].

Multiplicity: Occurs zero or once in the <demographics> structure.

Attributes: None.

3.3.6.2 <bday>

Description: The birth date of the Person. The format is based upon the ISO8601.
Data -type = DateTime as a String of characters [YYYY-MM-DDTHH:MM:SS].

Multiplicity: Occurs zero or once in the <demographics> structure.

Attributes: None.

3.3.6.3 <disability>

Description: An indication of the disability category of the individual. This information is NOT to be used to define the computer-based preferences of the Person.
Data -type = String of characters [1-32].

Multiplicity: Occurs zero or more times in the <demographics> structure.

Attributes: None.

3.3.7 <email>

Description: The e-mail address used to contact the Person.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once in the <person> structure.

Attributes: None.

3.3.8 <url>

Description: The Web address for the Person.
Data type = Absolute URL string of characters [1-1024].

Multiplicity: Occurs zero or once in the <person> structure.

Attributes: None.

3.3.9 <tel>

Description: The telephone numbers that can be used to contact the person. This is not an exhaustive set of contact numbers. There is no predefined format for the numbers.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or more times within the <person> structure.

Attributes:

  • teltype (optional enumerated as: 1=Voice, 2=Fax, 3=Mobile, 4=Pager, Voice, Fax, Mobile, Pager). Identifies the type of telephone number.
    Data type= String [1-8].

3.3.10 <adr>

Description: The address used to deliver physical objects to a person. Only one address is usually supplied for the Person.

<adr> elements

 

Figure 3.6 <adr> elements.

Multiplicity: Occurs zero or once within the <person> structure.

Attributes: None.

3.3.10.1 <pobox>

Description: The post office box number component of the address.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.10.2 <extadd>

Description: Extra address space. Any non-street components of the address e.g., suite number, etc.
Data type = String of characters [1-128].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.10.3 <street>

Description: The actual street address.
Data type = String of characters [1-128].

Multiplicity: No more than three occurrences within the <adr> structure.

Attributes: None.

3.3.10.4 <locality>

Description: The locality component of the address e.g., the City.
Data type = String of characters [1-64].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.10.5 <region>

Description: The region component of the address. State and Province are examples of Region.
Data type = String of characters [1-64].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.10.6 <pcode>

Description: The postal code component of the address. This format varies from country to country.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.10.7 <country>

Description: The country component of the address. The format is based upon ISO3166.
Data type = String of characters [1-64].

Multiplicity: Occurs zero or once within the <adr> structure.

Attributes: None.

3.3.11 <photo>

Description: Reference to an external location containing a photo of the Person.

<photo> elements

 

Figure 3.7 <photo> elements.

Multiplicity: Occurs zero or once with the <person> structure.

Attributes:

  • imgtype (optional). Identifies the type of image as described using the MIME notation.
    Data type= String [1-32].

3.3.11.1 <extref>

Description: The reference to an external location. This could take the form of a URL.
Data type= String [1-1024].

Multiplicity: Occurs once within the <photo> structure.

Attributes: None.

3.3.12 <systemrole>

Description: The role of the Person within the software environment.
Data type= This element has no content.

Multiplicity: Occurs zero or once within the <person> structure.

Attributes:

  • systemroletype (mandatory enumerated as: SysAdmin, SysSupport, Creator, AccountAdmin, User, Administrator, None). Identifies the type of role that the Person is permitted within the software environment.
    Data type= String [1-32].

3.3.13 <institutionrole>

Description: The role of the Person within the institution. Each separate occurrence is used to define each role.
Data type= This element has no content.

Multiplicity: Occurs zero or more times within the <person> structure.

Attributes:

  • primaryrole (optional enumerated as: Yes, No). Identifies if the associated role is the primary one for the Person in the institution.
    Data type= String [1-4].
  • institutionroletype (mandatory enumerated as: Student, Faculty, Member, Learner, Instructor, Mentor, Staff, Alumni, ProspectiveStudent, Guest, Other, Administrator, Observer). Identifies the type of role that the Person has within the institution.
    Data type= String [1-32].

3.3.14 <datasource>

Description: This is the source address/identifier of the original Enterprise system that originally created the data.
Data type= String of characters [1-256].

Multiplicity: Occurs once within the <person> structure.

Attributes: None.

3.3.15 <extension>

Description: This is the container for any proprietary extensions features that are to be added to the <person> element. These extensions can make use of any of the elements already defined within the DTD or can support new elements that are introduced within the DTD.

Multiplicity: Occurs zero or once within the <person> structure.

Attributes: None.

3.4 <group> Elements

Description: The container for all of the information about a Group and its relationship(s) to other Group(s). The definition of what is or is not a group is open to interpretation i.e. the Group structure is an abstract representation of many forms of collections of common educational activities and/or objects.

<group> elements

 

Figure 3.8 <group> elements.

Multiplicity: Occurs zero or more times within the <enterprise> structure.

Attributes:

  • recstatus (optional and enumerated as: 1=Add, 2=Update, 3=Delete). Identifies the type of transaction being attempted.
    Data type= Integer [1-3].

Elements:

  • comments
  • sourcedid
  • grouptype
  • description
  • org
  • timeframe
  • enrollcontrol
  • email
  • url
  • relationship
  • groupmembers
  • datasource
  • extension

Example:

<group>
  <comments>An useful comment, hopefully.</comments>
  <sourcedid>
    <source>IMS-LMS</source>
    <id>student_123456</id>
  </sourcedid>
  <grouptype>
    <scheme>HEFCE</scheme>
    <typevalue level="1">Course</typevalue>
  </grouptype>
  <description>
    <short>Applied Physics</short>
    <long>Three year BSc in Applied Physics & Electronics Engineering Degree</long>
  </description>
  <org>
    <orgname>Standford College of Technology</orgname>
    <orgunit>Department of Applied Physics</orgunit>
    <type>Academic Unit</type>
    <id>Dept_SCT_125</id>
  </org>
  <timeframe>
    <begin restrict="0">2002-03-01</begin>
    <end restrict="0">2002-03-31</begin>
    <adminperiod>End of Q1 2002</adminperiod>
  </timeframe>
  <enrollcontrol>
    <enrollaccept>1</enrollaccept>
    <enrollallowed>0</enrollallowed>
  </enrollcontrol>
  <email>group@imsglobal.org</email>
  <url>http://www.imsglobal.org</url>
  <relationship relation="1">
    <sourcedid>
      <source>SIS</source>
      <id>12</id>
    </sourcedid>
    <label>Year 1 lectures</label>
  </relationship>
  <datasource>CSU-LMS</datasource>
</group>

3.4.1 <comments> Elements

Description: This is the container for comments that are relevant to the <group> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <group> element.

Attributes: See structure 3.6.1.

3.4.2 <sourcedid>

Description: This is the unique identifier assigned to the <group> structure. This must be a persistent identifier as it is used to co-ordinate the different operations on the same data structure.

Multiplicity: Occurs one or more times within the <group> structure.

Attributes: See structure 3.6.2.

3.4.3 <grouptype> Elements

Description: Defines the type of Group. This structure allows a Group to be categorized into one or more coding schemes with any number of levels supported within each scheme.

<grouptype> elements

 

Figure 3.9 <grouptype> elements.

Multiplicity: Occurs zero or more times within the <group> structure.

Attributes: None.

Elements:

  • sheme
  • typevalue

3.4.3.1 <scheme>

Description: Group type coding scheme. Identifies which Group categorization scheme is being used. This could be a proprietary vendor taxonomy, etc.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once within the <grouptype> structure.

Attributes: None.

3.4.3.2 <typevalue>

Description: The container for the type classification being assigned to the Group.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or more times within the <grouptype> structure.

Attributes:

  • level (mandatory). The code level assigned to the Group. Level 1 is the highest, level 2 the next, etc.
    Data type = String of characters [1-2].

3.4.4 <description> Elements

Description: Description/name of the Group.

Multiplicity: Occurs once within the <group> structure.

Attributes: None.

Elements:

  • short
  • long
  • full

<description> elements

 

Figure 3.10 <description> elements.

3.4.4.1 <short>

Description: Intended to be displayed on screen on less than one line.
Data type = String of characters [1-60]

Multiplicity: Occurs once within the <description> structure.

Attributes: None.

3.4.4.2 <long>

Description: Longer descriptive name for the Group.
Data type = String of characters [1-256]

Multiplicity: Occurs zero or once within the <description> structure.

Attributes: None.

3.4.4.3 <full>

Description: A longer description of the Group.
Data type = String of characters [1-2048]

Multiplicity: Occurs zero or once within the <description> structure.

Attributes: None.

3.4.5 <org> Elements

Description: The organization administering or sponsoring the Group.

<org> elements

 

Figure 3.11 <org> elements.

Multiplicity: Occurs zero or once within the <group> structure.

Attributes: None.

Elements:

  • orgname
  • orgunit
  • type
  • id

3.4.5.1 <orgname>

Description: The name of the organization.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once within the <org> structure.

Attributes: None.

3.4.5.2 <orgunit>

Description: Name of the sponsoring or administering unit within the organization.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or more times within the <org> structure.

Attributes: None.

3.4.5.3 <type>

Description: Used to distinguish general categories of the organization. Examples include 'Academic Unit', etc.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or once within the <org> structure.

Attributes: None.

3.4.5.4 <id>

Description: Permanently unique identifier of the organization.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once within the <orgname> element.

Attributes: None.

3.4.6 <timeframe>

Description: The timeframe when the Group is active.

Multiplicity: Occurs zero or once within the <group> structure.

Attributes: See structure 3.6.4.

3.4.7 <enrollcontrol> Elements

Description: Contains the information that indicates the enrolment activity permitted for this Group.

<enrollcontrol> elements

 

Figure 3.12 <enrollcontrol> elements.

Multiplicity: Occurs zero or once in the <group> structure.

Attributes: None.

Elements:

  • enrollaccept
  • enrollallowed

3.4.7.1 <enrollaccept>

Description: Indicates if the Group is accepting enrolments. This is enumerated as '0=No' and '1=Yes'. There can be different reasons for a Group being closed e.g., it may be full.
Data type = Integer [0 or 1].

Multiplicity: Occurs zero or once within the <enrollcontrol> structure.

Attributes: None.

3.4.7.2 <enrollallowed>

Description: Determines if the target system can enrol people. This is enumerated as '0=No' and '1=Yes'. If 'No' then only the source system can enrol people.
Data type = Integer [0 or 1].

Multiplicity: Occurs zero or once within the <enrollcontrol> structure.

Attributes: None.

3.4.8 <email>

Description: The e-mail address used to contact the Group.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once in the <group> structure.

Attributes: None.

3.4.8.1 <url>

Description: The Web address for the Group.
Data type = Absolute URL string of characters [1-1024].

Multiplicity: Occurs zero or once in the <group> structure.

Attributes: None.

3.4.9 <relationship> Elements

Description: Used to describe the relationship between this containing Group and other groups.

<relationship> elements

 

Figure 3.13 <relationship> elements.

Multiplicity: Occurs zero or more times within the <group> structure.

Attributes:

  • relation (optional and enumerated as: 1=Parent, 2=Child, 3=Also known as, Parent, Child, KnownAs). Defines the nature of the relationship. The field is used to define the relationship of this group to the object Group. The relationship is defined as 'A' is the 'relation' of 'B' where 'A' is the Group whose sourcedid is defined in the <relationship> structure and 'B' is the Group containing the <relationship> element.
    Data type= String of characters [1-8].

Elements:

  • sourcedid
  • label

3.4.9.1 <sourcedid>

Description: This is the unique identifier of the Group whose relationship to the containing Group is being defined.

Multiplicity: Occurs once within the <relationship> structure.

Attributes: See structure 3.6.2.

3.4.9.2 <label>

Description: Describes the nature of the relationship between this Group and the containing Group. Examples are 'Course sub-group' etc.
Data type = String of characters [1-32].

Multiplicity: Occurs once within the <relationship> structure.

Attributes: None.

3.4.10 <datasource>

Description: This is the source address/identifier of the original Enterprise system that originally created the data.
Data type= String of characters [1-256].

Multiplicity: Occurs once within the <group> structure.

Attributes: None.

3.4.11 <extension>

Description: This is the container for any proprietary extensions features that are to be added to the <group> element. These extensions can make use of any of the elements already defined within the DTD or can support new elements that are introduced within the DTD.

Multiplicity: Occurs zero or once within the <group> structure.

Attributes: None.

3.5 <membership> Elements

Description: The container for all of the information about the members (as defined in a Person and/or Group structure) in a particular Group.

<membership> elements

 

Figure 3.14 <membership> elements.

Multiplicity: Occurs zero or more times within the <enterprise> structure.

Attributes: None.

Elements:

  • comments
  • sourcedid
  • member

Example:

<membership>
  <comments>A useful comment!</comments>
  <sourcedid>
    <source>LMS</source>
    <id>1456_Group</id>
  <sourcedid>
  <member>
    <comments>About the member</comments>
    <sourcedid>
      <source>Profile</source>
      <id>Student_563</id>
    <sourcedid>
    <idtype>1</idtype>
    <role recstatus="1" roletype="01">
      <status>1</status>
      <datetime>2002-03-13</datetime>
      <finalresult>
        <mode>Letter Grade</mode>
        <values valuetype="0">
          <list>A</list>
          <list>B</list>
          <list>C</list>
          <list>D</list>
          <list>E</list>
        </values>
        <result>B</result>
        <comments>The student has passed this part of the course.</comments>
      </finalresult>
    </role>
  </member>
</membership>

3.5.1 <comments>

Description: This is the container for comments that are relevant to the <membership> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <membership> element.

Attributes: See structure 3.6.1.

3.5.2 <sourcedid>

Description: This is the unique identifier assigned to the <group> structure for which the memberships are being defined. This must be a persistent identifier as it is used to co-ordinate the different operations on the same data structure.

Multiplicity: Occurs once within the <membership> structure.

Attributes: See structure 3.6.2.

3.5.3 <member> Elements

Description: Information about a particular member of the Group.

<member> elements

 

Figure 3.15 <member> elements.

Multiplicity: Occurs once or more times within the <membership> structure.

Attributes:

Elements:

  • comments
  • sourcedid
  • idtype
  • role

3.5.3.1 <comments>

Description: This is the container for comments that are relevant to the <member> structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <member> element.

Attributes: See structure 3.6.1.

3.5.3.2 <sourcedid>

Description: This is the unique identifier assigned to the <group> or <person> structure which is the member of the host group. This must be a persistent identifier as it is used to co-ordinate the different operations on the same data structure.

Multiplicity: Occurs once within the <member> structure.

Attributes: See structure 3.6.2.

3.5.3.3 <idtype>

Description: Indicates if the Member is a Person or another Group. Enumerated as either 1=Person or 2=Group.
Data type = Integer [1 or 2].

Multiplicity: Occurs once within the <member> structure.

Attributes: None.

3.5.4 <role> Elements

Description: The role of the member in the Group. A member can have more that one role or the role can be divided into several sub-roles.

<role> elements

 

Figure 3.16 <role> elements.

Multiplicity: Occurs one or more times within the <member> structure.

Attributes:

  • recstatus (optional and enumerated as: 1=Add, 2=Update, 3=Delete). Identifies the type of transaction being attempted.
    Data type = Integer [1-3].
  • roletype (optional). The member's function within a Group. The content is enumerated as: 01=Learner, 02=Instructor, 03=Content Developer, 04=Member, 05=Manager, 06=Mentor, 07=Administrator, 08=Teaching Assistant, Learner, Instructor, ContentDeveloper, Member, Manager, Mentor, Administrator, TeachingAssistant.
    Data type = String of characters [1-32].

Elements:

  • subrole
  • status
  • userid
  • comments
  • datetime
  • timeframe
  • interimresult
  • finalresult
  • email
  • datasource
  • extension

3.5.4.1 <subrole>

Description: Further qualifies a member's role in the Group.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or once in the <role> structure.

Attributes: None.

3.5.4.2 <status>

Description: Indicates if a member is active or inactive in the Group. Enumerated as '0=Inactive' or '1=Active'.
Data type = Integer [0 or 1].

Multiplicity: Occurs once in the <role> structure.

Attributes: None.

3.5.4.3 <userid>

Description: The Person's user ID to access the Group for this role.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or more times in the <role> structure.

Attributes: See structure 3.6.3.

3.5.4.4 <comments>

Description: The description of the current status. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <role> element.

Attributes: See structure 3.6.1.

3.5.4.5 <datetime>

Description: The date the current membership was established. The format is as defined by ISO8601.
Data type= String of characters [YYYY-MM-DD].

Multiplicity: Occurs once within the <properties> structure.

Attributes: None.

3.5.4.6 <timeframe>

Description: The timeframe when the Membership is active.

Multiplicity: Occurs zero or once within the <group> structure.

Attributes: See structure 3.6.4.

3.5.4.7 <email>

Description: The e-mail address used to contact a member for information related to a specific Group membership.
Data type = String of characters [1-256].

Multiplicity: Occurs zero or once in the <role> structure.

Attributes: None.

3.5.4.8 <datasource>

Description: This is the source address/identifier of the original Enterprise system that originally created the data.
Data type= String of characters [1-256].

Multiplicity: Occurs once within the <role> structure.

Attributes: None.

3.5.4.9 <extension>

Description: This is the container for any proprietary extensions features that are to be added to the <role> element. These extensions can make use of any of the elements already defined within the DTD or can support new elements that are introduced within the DTD.

Multiplicity: Occurs zero or once within the <role> structure.

Attributes: None.

3.5.5 <interimresult> Elements

Description: Interim result codes and value. Both the actual score and a description of the score can be supplied. This structure is to be deprecated in v2.0.

<interimresult> elements

 

Figure 3.17 <interimresult> elements.

Multiplicity: Occurs zero or more times within the <role> structure.

Attributes:

  • resulttype (optional). Indicates the type of interim result e.g., 'Mid-term', 'Part I', etc.
    Data type= String of characters [1-32].

Elements:

  • mode
  • values
  • list
  • min
  • max
  • result
  • comments

3.5.5.1 <mode>

Description: Short descriptive name for final result grading mode. Examples are 'Letter Grade', 'Pass/Fail', etc.

Multiplicity: Occurs once within the <interimresult> structure.

Attributes: None.

3.5.5.2 <values>

Description: Valid result values.
Data type= String of characters [1-2048].

Multiplicity: Occurs once within the <interimresult> structure.

Attributes:

  • valuetype (mandatory). Indicates if the values are a list of specific codes or a numeric range. Enumerated as '0=List' and '1=Range'.
    Data type= Integer [0 or 1].

3.5.5.3 <list>

Description: A specific result value. This list contains the valid grade if 'valuetype=0'.
Data type= String of characters [1-32].

Multiplicity: Occurs zero or more times within the <interimresult> structure.

Attributes: None.

3.5.5.4 <min>

Description: This minimum numeric value allowed for a result.
Data type= Number in the range 0 to 9999.9999. This is used if 'valuetype=1'.

Multiplicity: Occurs zero or once within the <interimresult> structure.

Attributes: None.

3.5.5.5 <max>

Description: This maximum numeric value allowed for a result.
Data type= Number in the range 0 to 9999.9999. This is used if 'valuetype=1'.

Multiplicity: Occurs zero or once within the <interimresult> structure.

Attributes: None.

3.5.5.6 <result>

Description: Value of the final result assigned to the member for participation in the Group.
Data type= String of characters [1-32].

Multiplicity: Occurs zero or once within the <interimresult> structure.

Attributes: None.

3.5.5.7 <comments>

Description: Comments about the final result.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <interimresult> element.

Attributes: See structure 3.6.1.

3.5.6 <finalresult> Elements

Description: Final result codes and value. Both the actual score and a description of the score can be supplied. This structure is to be deprecated in v2.0.

<finalresult> elements

 

Figure 3.18 <finalresult> elements.

Multiplicity: Occurs zero or more times within the <role> structure.

Attributes: None.

Elements:

  • mode
  • values
  • list
  • min
  • max
  • result
  • comments

3.5.6.1 <mode>

Description: Short descriptive name for final result grading mode. Examples are 'Letter Grade', 'Pass/Fail', etc.

Multiplicity: Occurs once within the <finalresult> structure.

Attributes: None.

3.5.6.2 <values>

Description: Valid result values.
Data type= String of characters [1-2048].

Multiplicity: Occurs once within the <finalresult> structure.

Attributes:

  • valuetype (mandatory). Indicates if the values are a list of specific codes or a numeric range. Enumerated as '0=List' and '1=Range'.
    Data type= Integer [0 or 1].

3.5.6.3 <list>

Description: A specific result value. This list contains the valid grade if 'valuetype=0'.
Data type= String of characters [1-32].

Multiplicity: Occurs zero or more times within the <finalresult> structure.

Attributes: None.

3.5.6.4 <min>

Description: This minimum numeric value allowed for a result.
Data type= Number in the range 0 to 9999.9999. This is used if 'valuetype=1'.

Multiplicity: Occurs zero or once within the <finalresult> structure.

Attributes: None.

3.5.6.5 <max>

Description: This maximum numeric value allowed for a result.
Data type= Number in the range 0 to 9999.9999. This is used if 'valuetype=1'.

Multiplicity: Occurs zero or once within the <finalresult> structure.

Attributes: None.

3.5.6.6 <result>

Description: Value of the final result assigned to the member for participation in the Group.
Data type= String of characters [1-32].

Multiplicity: Occurs zero or once within the <finalresult> structure.

Attributes: None.

3.5.6.7 <comments>

Description: Comments about the final result.
Data type: String of characters [1-2048]

Multiplicity: Occurs zero or once within the <finalresult> element.

Attributes: See structure 3.6.1.

3.6 Common Data Elements

The common elements that are defined in this sub-section are:

  • <comments> - comments describing the associated data object;
  • <sourcedid> - the unique sourcedid allocation to a data object;
  • <userid> - the user identification information;
  • <timeframe> - beginning and end dates allocation to an activity.

3.6.1 <comments> Element

Description: This is the container for comments that are relevant to the containing data structure as a whole. This comment will be passed through the XML parser and is available to the host system.
Data type: String of characters [1-2048]

<comments> structure

 

Figure 3.19 <comments> structure.

Multiplicity: N/A

Attributes:

  • lang (optional). Identifies the language in which the comment string is written. The vocabulary is based upon the ISO639 standard.
    Data type= String [1-128].

Elements: None.

Example:

<comments lang="en-US">A comment that is written in US English.</comments>

3.6.2 <sourcedid> Element

Description: The sourcedid is the unique identifier for the associated data object. This identifier should be persistent but its scope is limited to the exchange of information between the Enterprise systems.

<sourcedid> elements

 

Figure 3.20 <sourcedid> elements.

Multiplicity: N/A

Attributes:

  • sourcedidtype (optional with selection from enumerated list of: New, Old, Duplicate). Identifies the type of sourcedid. This is used to enable objects to have their sourcedid changed. The combination of 'New' and 'Old' is used to change a sourcedid and 'Duplicate' is used to identify the redundant object.
    Data type= String [1-16].

Elements:

  • source
  • id

Example:

<sourcedid sourcedidtype="New">
  <source>SIS</source>
  <id>student_23456AWRYG678</id>
</sourcedid>

3.6.2.1 <source>

Description: Identifier of the organization or system that assigned the identifier.
Data type = String of characters [1-32].

Multiplicity: Occurs once within the <sourcedid> element.

Attributes: None.

3.6.2.2 <id>

Description: Permanently unique identifier of the object as defined by the system where the object was created.
Data type = String of characters [1-256].

Multiplicity: Occurs once within the <sourcedid> element.

Attributes: None.

3.6.3 <userid> Element

Description: The person's user identifier to access the learning management environment.

<userid> elements

 

Figure 3.21 <userid> elements.

Multiplicity: N/A.

Attributes:

  • useridtype (optional). The type of user identification. Some examples are 'NationalId', 'InstitutionId', etc.
    Data type = String of characters [1-32].
  • password (optional). The password that is assigned to the user for accessing a system.
    Data type = String of characters [1-1024].
  • pwencryptiontype (optional). The type of encryption that has been applied to the password. Examples include 'PKC', 'MD5', etc.
    Data type = String of characters [1-32].
  • authenticationtype (optional). The type of authentication that is to be applied to control access to the system.
    Data type = String of characters [1-32].

Elements: None.

Example:

<userid useridtype="" password="qts7893n" 
  pwencryptiontype="PKC" authenticationtype="Kerberos">ColinS32
</userid>

3.6.4 <timeframe> Element

Description: The time period for which the Group is active.

<timeframe> elements

 

Figure 3.22 <timeframe> elements.

Multiplicity: N/A.

Attributes: None.

Elements:

  • begin
  • end
  • adminperiod

Example:

<timeframe>
  <begin restrict="0">2002-03-01</begin>
  <end restrict="0">2002-03-31</begin>
  <adminperiod>End of Q1 2002</adminperiod>
</timeframe>

3.6.4.1 <begin>

Description: Defines when a Group is intended to be available for participation. The format is based upon ISO8601.
Data type = Date [YYYY-MM-DD].

Multiplicity: Occurs zero or once within the <timeframe> element.

Attributes:

  • restrict (optional with selection from enumerated list of: 0=No, 1=Yes). Defines if learner participation is permitted before the start date.
    Data type = Integer [0 or 1]

3.6.4.2 <end>

Description: Defines when Group participation is intended to end. The format is based upon ISO8601.
Data type = Date [YYYY-MM-DD].

Multiplicity: Occurs zero or once within the <timeframe> element.

Attributes:

  • restrict (optional with selection from enumerated list of: 0=No, 1=Yes). Defines if learner participation is permitted after the end date.
    Data type = Integer [0 or 1]

3.6.4.3 <adminperiod>

Description: Short descriptive name in human readable form for the administrative or academic period within which the group exists.
Data type = String of characters [1-32].

Multiplicity: Occurs zero or once within the <timeframe> element.

Attributes: None.

4. Examples in Enterprise XML Instance

4.1 Person Instance

The following example consists of record of a single Person using all of the available elements.


<enterprise>
  <properties>
    <datasource>Dunelm Services Limited</datasource>
    <target>Telecommunications LMS</target>
    <type>CREATE</type>
    <datetime>2001-08-08</datetime>
  </properties>
  <person recstatus = "1">
    <comments>This an imaginary set of personal details.</comments>
    <sourcedid>
      <source>Dunelm Services Limited</source>
      <id>CS1</id>
    </sourcedid>
    <userid password="encryptpword" pwencryptiontype="PKC" 
      authenticationtype= "Kerberos">ColinS34
    </userid>
    <name>
      <fn>Colin Smythe</fn>
      <sort>Smythe, C</sort>
      <nickname>Colin</nickname>
      <n>
        <family>Smythe</family>
        <given>Colin</given>
        <other>Manfred</other>
        <other>Wingarde</other>
        <prefix>Dr.</prefix>
        <suffix>C.Eng</suffix>
        <partname partnametype = "Initials">C.M.W.</partname>
      </n>
    </name>
    <demographics>
      <gender>2</gender>
      <bday>1958-02-18</bday>
      <disability>None.</disability>
    </demographics>
    <email>colin@dunelm.com</email>
    <url>http://www.dunelm.com</url>
    <tel teltype = "1">441142335019</tel>
    <tel teltype = "2">441142335019</tel>
    <adr>
      <pobox>PO Box 24</pobox>
      <extadd>Dunelm Services Limited</extadd>
      <street>34 Acorn Drive</street>
      <street>Stannington</street>
      <locality>Sheffield</locality>
      <region>S.Yorks</region>
      <pcode>S7 6WA</pcode>
      <country>UK</country>
    </adr>
    <photo imgtype = "gif">
      <extref>http://www.dunelm.com/staff/colin.gif</extref>
    </photo>
    <system_role systemroletype = "User"/>
    <institutionrole primaryrole = "Yes" institutionroletype = "Faculty"/>
    <institutionrole primaryrole = "No" institutionroletype = "Student"/>
    <datasource>dunelm:colinsmythe:1</datasource>
  </person>
</enterprise>

4.2 Group Instance

The following example consists of record of a single Group.


<enterprise>
  <properties>
    <datasource>University of Durham: SIS</datasource>
    <target>University of Durham: LMS</target>
    <type>CREATE</type>
    <datetime>2001-08-08</datetime>
  </properties>
  <group recstatus = "1">
    <comments>A comment about the Group.</comments>
    <sourcedid>
      <source>University of Durham: SIS</source>
      <id>1976_APE</id>
    </sourcedid>
    <grouptype>
      <scheme>University of Durham</scheme>
      <typevalue level = "2"/>
    </grouptype>
    <description>
      <short>Applied Physics 1976 Cohort</short>
    </description>
    <org>
      <orgname>University of Durham</orgname>
      <orgunit>Applied Physics</orgunit>
      <type>Academic Unit</type>
      <id>Electronics_101</id>
    </org>
    <timeframe>
      <begin restrict = "1">1976:10:01</begin>
      <end restrict = "1">1979:07:01</end>
      <adminperiod>Three year degree cohort of: Oct, 1976 to July 1979.</adminperiod>
    </timeframe>
    <enrollcontrol>
      <enrollaccept>0</enrollaccept>
      <enrollallowed>0</enrollallowed>
    </enrollcontrol>
    <email>cohort76@appliedphysics.dur.ac.uk</email>
    <url>http://www.dur.ac.uk/appiedphysics</url>
    <datasource>University of Durham: SIS</datasource>
  </group>
</enterprise>

4.3 Membership Instance

The following example consists of record of a single Membership.


<enterprise>
  <properties>
    <datasource>University of Durham: LMS</datasource>
    <target>University of Durham: SIS</target>
    <type>CREATE</type>
    <datetime>2002-03-31</datetime>
  </properties>
  <membership>
    <sourcedid>
      <source>University of Durham: SIS</source>
      <id>2000_APE</id>
    </sourcedid>
    <member>
      <sourcedid>
        <source>University of Durham: SIS</source>
        <id>2000_APE_001</id>
      </sourcedid>
      <idtype>1</idtype>
      <role>
        <status>1</status>
        <datetime>2001-10-01</datetime>
        <timeframe>
          <begin restrict = "0">2000-10-01</begin>
          <end restrict = "0">2001-07-01</end>
          <adminperiod>2000-01 Academic Year</adminperiod>
        </timeframe>
        <finalresult>
          <mode>Percentage</mode>
          <values valuetype = "1">
            <min>0</min>
            <max>100</max>
          </values>
          <result>65</result>
          <comments>Examination Result: Passed</comments>
        </finalresult>
        <finalresult>
          <mode>Percentage</mode>
          <values valuetype = "1">
            <min>0</min>
            <max>100</max>
          </values>
          <result>60</result>
          <comments>Practical Result: Passed</comments>
        </finalresult>
      </role>
    </member>
    <member>
      <sourcedid>
        <source>University of Durham: SIS</source>
        <id>2000_APE_004</id>
      </sourcedid>
      <idtype>1</idtype>
      <role>
        <status>1</status>
        <datetime>2001-10-01</datetime>
        <timeframe>
          <begin restrict = "0">2000-10-01</begin>
          <end restrict = "0">2001-07-01</end>
          <adminperiod>2000-01 Academic Year</adminperiod>
        </timeframe>
        <finalresult>
          <mode>Percentage</mode>
          <values valuetype = "1">
            <min>0</min>
            <max>100</max>
          </values>
          <result>60</result>
          <comments>Examination Result: Passed</comments>
        </finalresult>
        <finalresult>
          <mode>Percentage</mode>
          <values valuetype = "1">
            <min>0</min>
            <max>100</max>
          </values>
          <result>30</result>
          <comments>Practical Result: Failed</comments>
        </finalresult>
      </role>
    </member>
  </membership>
</enterprise>

Appendix A - Listing of the V1.1 DTD

<?xml version='1.0' encoding='UTF-8' ?>

<!ENTITY % I_Value " valuetype  (0 | 1 )  #REQUIRED">

<!ENTITY % I_Relation " relation  (1 | 2 | 3 )  '1'">

<!ENTITY % I_Role " roletype  (01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | Learner | Instructor | 
ContentDeveloper | Member | Manager | Mentor | Administrator | TeachingAssistant )  '01'">

<!ENTITY % I_Recstatus " recstatus  (1 | 2 | 3 )  #IMPLIED">

<!ENTITY % I_Tel " teltype  (1 | 2 | 3 | 4 | Voice | Fax | Mobile | Pager )  '1'">

<!ENTITY % I_Img " imgtype CDATA  #IMPLIED">

<!ELEMENT enterprise (comments? , properties , person* , group* , membership*)>

<!ELEMENT type (#PCDATA)>

<!ELEMENT sourcedid (source , id)>
<!ATTLIST sourcedid  sourcedidtype  (New | Old | Duplicate )  #IMPLIED >

<!ELEMENT source (#PCDATA)>

<!ELEMENT id (#PCDATA)>

<!ELEMENT userid (#PCDATA)>
<!ATTLIST userid  useridtype         CDATA  #IMPLIED
                  password           CDATA  #IMPLIED
                  pwencryptiontype   CDATA  #IMPLIED
                  authenticationtype CDATA  #IMPLIED >

<!ELEMENT email (#PCDATA)>

<!ELEMENT extension ANY>

<!ELEMENT properties (comments? , datasource , target* , type? , datetime , extension?)>
<!ATTLIST properties  lang CDATA  #IMPLIED >

<!ELEMENT datasource (#PCDATA)>

<!ELEMENT target (#PCDATA)>

<!ELEMENT datetime (#PCDATA)>

<!ELEMENT person (comments? , sourcedid+ , userid* , name , demographics? , email? , url? , tel* , adr? , photo? , systemrole? , institutionrole* , datasource? , extension?)>
<!ATTLIST person  %I_Recstatus; >

<!ELEMENT name (fn , sort? , nickname? , n?)>

<!ELEMENT fn (#PCDATA)>

<!ELEMENT sort (#PCDATA)>

<!ELEMENT nickname (#PCDATA)>

<!ELEMENT n (family? , given? , other* , prefix? , suffix? , partname*)>

<!ELEMENT family (#PCDATA)>

<!ELEMENT given (#PCDATA)>

<!ELEMENT other (#PCDATA)>

<!ELEMENT prefix (#PCDATA)>

<!ELEMENT suffix (#PCDATA)>

<!ELEMENT partname (#PCDATA)>
<!ATTLIST partname  lang         CDATA  #IMPLIED
                    partnametype CDATA  #REQUIRED >

<!ELEMENT demographics (gender? , bday? , disability*)>

<!ELEMENT gender (#PCDATA)>

<!ELEMENT bday (#PCDATA)>

<!ELEMENT disability (#PCDATA)>

<!ELEMENT tel (#PCDATA)>
<!ATTLIST tel  %I_Tel; >

<!ELEMENT adr (pobox? , extadd? , street* , locality? , region? , pcode? , country?)>

<!ELEMENT pobox (#PCDATA)>

<!ELEMENT extadd (#PCDATA)>

<!ELEMENT street (#PCDATA)>

<!ELEMENT locality (#PCDATA)>

<!ELEMENT region (#PCDATA)>

<!ELEMENT pcode (#PCDATA)>

<!ELEMENT country (#PCDATA)>

<!ELEMENT photo (extref)>
<!ATTLIST photo  %I_Img; >

<!ELEMENT systemrole EMPTY>
<!ATTLIST systemrole  systemroletype  (SysAdmin | SysSupport | Creator | AccountAdmin | User | None )  #REQUIRED >

<!ELEMENT institutionrole EMPTY>
<!ATTLIST institutionrole primaryrole          (Yes | No )  #REQUIRED
                                    institutionroletype  (Student | Faculty | Staff | Alumni | 
                ProspectiveStudent | Guest | Other | Administrator | Observer )  
#REQUIRED >

<!ELEMENT extref (#PCDATA)>

<!ELEMENT group (comments? , sourcedid+ , grouptype* , description , org? , timeframe? , enrollcontrol? , email? , url? , relationship* , datasource? , extension?)>
<!ATTLIST group  %I_Recstatus; >

<!ELEMENT grouptype (scheme? , typevalue+)>

<!ELEMENT scheme (#PCDATA)>

<!ELEMENT typevalue (#PCDATA)>
<!ATTLIST typevalue  level CDATA  #REQUIRED >

<!ELEMENT description (short , long? , full?)>

<!ELEMENT short (#PCDATA)>

<!ELEMENT long (#PCDATA)>

<!ELEMENT full (#PCDATA)>

<!ELEMENT org (orgname? , orgunit* , type? , id?)>

<!ELEMENT orgname (#PCDATA)>

<!ELEMENT orgunit (#PCDATA)>

<!ELEMENT timeframe (begin? , end? , adminperiod?)>

<!ELEMENT begin (#PCDATA)>
<!ATTLIST begin  restrict CDATA  #IMPLIED >

<!ELEMENT end (#PCDATA)>
<!ATTLIST end  restrict CDATA  #IMPLIED >

<!ELEMENT adminperiod (#PCDATA)>

<!ELEMENT enrollcontrol (enrollaccept? , enrollallowed?)>

<!ELEMENT enrollaccept (#PCDATA)>

<!ELEMENT enrollallowed (#PCDATA)>

<!ELEMENT url (#PCDATA)>

<!ELEMENT relationship (sourcedid , label)>
<!ATTLIST relationship  %I_Relation; >

<!ELEMENT label (#PCDATA)>

<!ELEMENT membership (comments? , sourcedid , member+)>

<!ELEMENT member (comments? , sourcedid , idtype , role+)>

<!ELEMENT idtype (#PCDATA)>

<!ELEMENT role (subrole? , status , userid? , comments? , datetime? , timeframe? , interimresult* , finalresult* , email? , datasource? , extension?)>
<!ATTLIST role  %I_Recstatus;
                 %I_Role; >

<!ELEMENT subrole (#PCDATA)>

<!ELEMENT status (#PCDATA)>

<!ELEMENT comments (#PCDATA)>
<!ATTLIST comments  lang CDATA  #IMPLIED >

<!ELEMENT finalresult (mode? , values? , result? , comments?)>

<!ELEMENT interimresult (mode? , values? , result? , comments?)>
<!ATTLIST interimresult  resulttype CDATA  #IMPLIED >

<!ELEMENT mode (#PCDATA)>

<!ELEMENT values (list* , min? , max?)>
<!ATTLIST values  %I_Value; >

<!ELEMENT list (#PCDATA)>

<!ELEMENT max (#PCDATA)>

<!ELEMENT min (#PCDATA)>

<!ELEMENT result (#PCDATA)>

Appendix B - Summary of Changes in this Document

The detailed list of changes are summarized below:

 
Reference in V1.01 Document
Reference in this Document
Description
Front Page Front Page New title for the document.
Introduction Introduction A complete rewrite of the introduction.
Enterprise/LMS Interoperability DTD Normative Description of the XML Binding A complete rewrite of the representation of the DTD. In v1.01 a commented DTD was supplied. In V1.1 this is replaced by a diagrammatic based description of the data structures.

 
<partname> element New element definition.

 
<disability> element New element definition.

 
<url> element New element definition.

 
'teltype' attribute Attribute definition change.

 
<systemrole> element New element definition.

 
<institutionrole> element New element definition.

 
Figure 3.16 The modified <role> element structure now supports multiple <finalresult> elements and the new <interimresult> element.

 
'roletype' attribute Extension of the enumerated values for the 'roletype' attribute.

 
<interimresult> element New element definition.

 
<userid> element Amendment to the definition of the <userid> element.

 
Examples in Enterprise XML Instance Section The inclusion of a new Section that provides a series of example Enterprise XML instances.

 
Appendix A The inclusion of a new Appendix that provides the listing of the uncommented DTD.

 
Appendix B The provision of a detailed list of changes made between the V1.01 and the V1.1 document releases.

 
About This Document New details describing the document.

 
Revision History Addition of the details of the release of the final version of the document.

 
Index Provision of an Index to the document.

About This Document

 
Title: IMS Enterprise XML Binding
Authors: Colin Smythe, Geoff Collier, Chris Etesse, and Wayne Veres
Version: 1.1
Version Date: 01 July 2002
Status: Final Specification
Summary: This document presents the IMS Enterprise XML Binding. This specification describes the manner in which the data model for the exchange between Enterprise systems and sub-systems is mapped to XML.
Revision Information: 11 June 2002
Purpose: This is the third formal release of the IMS Enterprise Specification. It is made available as a Public Draft for implementation evaluation.
Document Location: http://www.imsglobal.org/enterprise/entv1p1/imsent_bindv1p1.html

List of Contributors

The following individuals contributed to the development of this document:

Fred Beshears UC Berkeley, USA
Kerry Blinco IMS Australia
Glen Clingroth Eduprise Inc.
Geoff Collier Eduworks, Inc.
John Eyre JISC/CETIS, UK
Chris Etesse Blackboard Inc.
Ron Kleinman SUN Microsystems Inc.
Kirty Levy DigitalThink Inc.
Tim Magnor SIIA, USA
Colin Smythe Dunelm Services Ltd.
Wayne Veres California State University, USA
Kimberley Voltero WebCT Inc.

Revision History

 
Version No.
Release Date
Comments
Final Version 1.0 21 November 1999 The first formal release of the IMS Enterprise XML Binding;
Final Version 1.01 21 December 1999 The second formal release of the IMS Enterprise XML Binding. The amendments consist of a series of bug fixes;
Final Version 1.1 01 July 2002 The amendments made in this final release of the IMS Enterprise XML Binding Specification are:
- A new format for the representation of the XML Binding is supplied. This is based upon a documented series of diagrammatic representations of the XML binding supported by explanatory text;
- A new Section has been added that gives a series of short example Enterprise V1.1 XML instances;
- Appendix A has been added to provide a listing of the V1.1 DTD;
- Appendix B has been added to provide the details of all the changes made in this document.

Index

A
Attributes
     authenticationtype 1, 2, 3
     imgtype 1, 2, 3, 4
     institutionroletype 1, 2, 3, 4
     lang 1, 2, 3, 4, 5, 6
     level 1, 2, 3, 4
     partnametype 1, 2, 3
     password 1, 2, 3
     primaryrole 1, 2, 3, 4
     pwencryptiontype 1, 2, 3
     recstatus 1, 2, 3, 4, 5, 6, 7, 8
     relation 1, 2, 3
     restrict 1, 2, 3, 4, 5, 6
     resulttype 1, 2
     roletype 1, 2, 3, 4
     sourcedidtype 1, 2
     systemroletype 1, 2, 3, 4
     teltype 1, 2, 3, 4
     useridtype 1, 2
     valuetype 1, 2, 3, 4, 5, 6, 7
 

C
Core data objects
     Group 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     Membership 1, 2
     Person 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
 

E
Elements
     adminperiod 1, 2, 3, 4, 5, 6
     adr 1, 2, 3, 4, 5, 6, 7, 8, 9
     bday 1, 2, 3, 4, 5
     begin 1, 2, 3, 4, 5, 6
     comments 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     country 1, 2, 3, 4
     datasource 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     datetime 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     demographics 1, 2, 3, 4, 5, 6
     description 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     disability 1, 2, 3, 4, 5, 6
     email 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     end 1, 2, 3, 4, 5, 6, 7, 8
     enrollaccept 1, 2, 3, 4
     enrollallowed 1, 2, 3, 4
     enrollcontrol 1, 2, 3, 4, 5, 6, 7
     enterprise 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     extadd 1, 2, 3, 4
     extension 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     extref 1, 2, 3, 4
     family 1, 2, 3, 4
     finalresult 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     fn 1, 2, 3, 4
     full 1, 2, 3, 4, 5
     gender 1, 2, 3, 4
     given 1, 2, 3, 4, 5, 6
     group 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
     grouptype 1, 2, 3, 4, 5
     id 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     idtype 1, 2, 3, 4, 5
     institutionrole 1, 2, 3, 4, 5, 6
     interimresult 1, 2, 3, 4, 5, 6, 7
     label 1, 2, 3
     list 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     locality 1, 2, 3, 4
     long 1, 2, 3, 4
     max 1, 2, 3, 4, 5, 6, 7
     member 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     membership 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     min 1, 2, 3, 4, 5, 6, 7
     mode 1, 2, 3, 4, 5, 6
     n 1, 2, 3, 4, 5
     name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     nickname 1, 2, 3
     org 1, 2, 3, 4, 5, 6, 7, 8, 9
     orgname 1, 2, 3, 4
     orgunit 1, 2, 3, 4
     other 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     partname 1, 2, 3, 4, 5, 6
     pcode 1, 2, 3, 4
     person 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
     photo 1, 2, 3, 4, 5
     prefix 1, 2, 3, 4, 5, 6
     properties 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     region 1, 2, 3
     relationship 1, 2, 3, 4, 5, 6, 7, 8
     result 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
     role 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     scheme 1, 2, 3, 4, 5
     short 1, 2, 3, 4, 5, 6, 7
     sort 1, 2, 3
     source 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
     sourcedid 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
     status 1, 2, 3, 4
     street 1, 2, 3, 4
     subrole 1, 2
     suffix 1, 2, 3, 4
     systemrole 1, 2, 3, 4, 5
     target 1, 2, 3, 4, 5, 6, 7, 8
     tel 1, 2, 3, 4, 5, 6, 7
     timeframe 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     type 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
     typevalue 1, 2, 3, 4, 5
     url 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     userid 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     values 1, 2, 3, 4, 5, 6, 7, 8, 9
 

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

M
Membership 1, 2

P
Person 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

V
Version 1.1 Additions
     Attributes
 

authenticationtype 1, 2, 3

institutionroletype 1, 2, 3, 4

partnametype 1, 2, 3

primaryrole 1, 2, 3, 4

pwencryptiontype 1, 2, 3

resulttype 1, 2

sourcedidtype 1, 2

systemroletype 1, 2, 3, 4

useridtype 1, 2      Elements
 

disability 1, 2, 3, 4, 5, 6

institutionrole 1, 2, 3, 4, 5, 6

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

partname 1, 2, 3, 4, 5, 6

systemrole 1, 2, 3, 4, 5

X
XML
     DTD 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     XSD 1, 2
 

1
For consistency with the other IMS specifications the V1.1 Enterprise DTD uses a lower-case naming convention for elements and attributes. The V1.0 and V1.01 DTDs used an upper-case naming convention.

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Enterprise 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 Enterprise XML Binding Date: 01 July 2002