IMS Logo

IMS Content Packaging XML Binding

Version 1.2 Public Draft Specification v2.0

Copyright © 2007 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a registered trademark of IMS GLC
Document Name: IMS Content Packaging XML Binding
Revision: 01 March 2007


Date Issued:
01 March 2007
Latest version:
http://www.imsglobal.org/content/packaging/index.html

IMS welcomes feedback on issues encountered when using this binding to create content package instances: http://www.imsglobal.org/community/forum/categories.cfm?catid=92

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 � 2007 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.

top

Table of Contents

  1. Introduction
    1. Scope and Context
    2. Structure of this Document
    3. Nomenclature
    4. References

  2. Platform Specific Model (XML) of the Content Package Binding
    1. Platform Specific Model Conventions
    2. IMS UML-Profiled Data Model of the Core Content Package
    3. IMS UML-Profiled Data Model of the Content Package Extension
    4. Generation of the XSD from the PSM

  3. XML Schema Documentation
    1. Core Content Packaging Binding Description
    2. Content Packaging Extensions Binding Description
  4. Using Schematron

  5. Binding of the Vocabularies
    1. VDEX for the Structure Attribute
    2. VDEX for the ResourceType Attribute

  6. Appendix A - Listing of the Content Package XSD
    1. Appendix A1 - Listing of the Content Package v1.2 XSD
    2. Appendix A2 - Listing of the Content Package Extension v1.2 XSD

  7. Appendix B - Vocabulary VDEX File Listings
    1. Appendix B1 - Listing of the Structure Vocabulary
    2. Appendix B2 - Listing of the ResourceType Vocabulary

  8. About this Document

  9. Revision History

  10. Index
top

1. Introduction

This document is a part of the IMS Content Packaging v1.2 specification. The binding details how the Content Packaging Information Model should be represented using XML schema. The Content Packaging binding is contained in two XML schemas and two vocabulary files. The vocabulary files are instances of the IMS Vocabulary Definition Exchange specification [VDEX, 04a], [VDEX, 04b]. The Content Packaging Best Practice and Implementation Guide provides non-normative guidance on how to use the Binding and Information Model. For a conceptual overview of the Content Packaging Specification, please see the Information Model [CP, 07a]. For a discussion of potential applications, see the Best Practice Guide [CP, 07b]. Conformance to the Content Packaging Specification is addressed within the Information Model [CP, 07a].

1.1 Scope and Context

This document is the IMS Content Packaging Binding v1.2 specification. As such it will be used as the basis for the production of the following v1.2 documents:

This Binding document describes how to express the Content Packaging Information Model in XML.

1.2 Structure of this Document

The structure of this document is:

2. Platform Specific Model (XML) of the Binding
The description platform specific models in the form of the IMS UML-profile data model representation of the IMS Content Packaging specification information model. This representation is used by the IMS I-BAT tool to auto-generate the corresponding XSDs. The PSMs for the core Content Package XSD and the new Content Package Utilities XSD are described;
3. XML Schema Documentation
The description of the elements and attribute used within the XML binding itself. This part of the binding document was created using the schema documentation tool provided as part of the Oxygen 7.2 product;
4. Vocabulary Binding Using IMS VDEX Instances
Contains the description of how the 'structure' and 'resourceType' contents are stored in external vocabulary files based upon the IMS VDEX specification;
Appendix A - Listing of the Content Packaging XSD This is the full listing of the Content Packaging XSDs;
Appendix B - Vocabulary VDEX Instance File Listings This is the full listing of the 'structure' and 'resourceType' vocabulary VDEX instance files.

1.3 Nomenclature

I-BAT IMS Binding Auto-generation Tool-kit
MDA Model Driven Architecture
PIM Protocol Independent Model
PSM Platform Specific Model
UML Unified Modelling Language
VDEX Vocabulary Definition Exchange
W3C World Wide Web Consortium
XMI XML Meta-data Interchange
XML Extensible Mark-up Language
XSD XML Schema Definition
XSL Extensible Stylesheet Language
XSLT XSL Transformations

1.4 References

[CP, 07a]
IMS Content Packaging Information Model Specification Public Draft v2.0, W.Kraan, J.Poston-Day and B.Neilsen, IMS Global Learning Consortium, March 2007.
[CP, 07b]
IMS Content Packaging Best Practice and Implementation Guide Public Draft v2.0, W.Kraan, J.Poston-Day and B.Neilsen, IMS Global Learning Consortium, March 2007.
[I-BAT, 06] IMS Binding Auto-generation Toolkit Manual v1.0, C.Smythe, IMS Global Learning Consortium, July 2006.
[Schematron, 06] Document Schema Definition Languages (DSDL) - Part 3: Rule-based Validation - Schematron, ISO/IEC, ISO/IEC FDIS 19757-2, 2004.
[VDEX, 04a] IMS Vocabulary Definition Exchange Information Model Specification Final Release v1.0, A.Cooper, IMS Global Learning Consortium, February 2004.
[VDEX, 04b] IMS Vocabulary Definition Exchange XML Binding Specification Final Release v1.0, A.Cooper, IMS Global Learning Consortium, February 2004.
top | toc

2. Platform Specific Model (XML) of the Binding

2.1 Platform Specific Model Conventions

The IMS UML-Profile stereotypes are used to determine the mapping of the UML characteristics to XML. The stereotypes are mapped as (the full set of rules are available in [I-BAT, 06]):

2.2 IMS UML-Profiled Data Model of the Core Content Package

Figure 2.1 is the Platform Specific Model (PSM) of the core Content Packaging specification. The PSM is derived from the Platform Independent Model that was produced within the information model for the Content Packaging specification [CP, 07a].

IMS UML-Profile Package diagram for the Platform Specfic Model (XML) of the Core Content Package Binding

Figure 2.1 PSM for the core content packaging binding.

2.3 IMS UML-Profiled Data Model of the Content Package Extension

Figure 2.2 is the Platform Specific Model (PSM) of the new functional extensions to the Content Packaging specification. These extensions realise the new functionality (variant resources, multiligual titles and pointer links to files) added to the Content Package v1.1.4 specification to create v1.2. The PSM is derived from the Platform Independent Model that was produced within the Information Model for the Content Packaging specification [CP, 07a].

IMS UML-Profile Package diagram for the Platform Specfic Model (XML) of the Content Package Utilities Binding

Figure 2.2 PSM for the content packaging extension binding.

2.4 Generation of the XSD from the PSM

The process for creating a XSD binding is:

  1. The Information Model must be defined using the IMS Data Model UML Profile [I-BAT, 06]. This profile describes how UML must be used to create a description of the specification that can be used by the IMS auto-generation tools;
  2. The UML description must be made available as an XMI file i.e. this is an XML instance that conforms to the XMI specification. At the present time only XMI files that have been created by the Poseidon tool, v2.5 or later, are valid. The Poseidon tool creates a '.zuml' file that must be unzipped and the XMI file within used as input to the I-BAT;
  3. The XMI file is now used as input to the I-BAT. The XSL file 'UMLtoXSDTransform.xsl' is applied to the XMI file, using an appropriate XSLT tool (Oxygen is the tool recommended by IMS) to generate the WSDL files. The generation process also creates a validation report text file that can be used to identify any problems that the I-BAT found while creating the binding files.

The following points should be noted when using the I-BAT:

The mapping rules for the features in UML PSM to the XSD representation are:

For this specification the following files are supplied as part of the binding documentation:

top | toc

3. XML Schema Documentation

3.1 Core Content Packaging Binding Description

The listing of the core Content Packaging XSD file is given in Appendix A1.

3.1.1 Table of Contents

top


3.1.2 Schema Document Properties

Target Namespace http://www.imsglobal.org/xsd/imscp_v1p1
Version IMS CP 1.2
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://www.w3.org/XML/1998/namespace (at http://www.w3.org/2001/xml.xsd)
Documentation XSD Data File Information

Author: Colin Smythe

Date: 31st October, 2006

Version: 2.0

Status: CM/DN Release

Description: This is a normative representation of the IMS CP 1.2 Information Model for binding purposes. Read the corresponding IMS CP Information Model for the Platform Independent Model representation.

History: This is version 1 of the IMS CP v1.2 XSD. It directly supercedes IMS CP v1.1.4 XSD. Note that the target namespace has NOT been changed. Apart from the functional additions, the main structural changes are:

(1) All of the elements and attributes are defined as local to their host object;

(2) Comments have been added to the complexType definitions.

Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved. IMS Global Learning Consortium, Inc. (IMS GLC) is publishing the information contained in this binding ("Specification") for purposes of scientific experimental and scholarly collaboration only. IMS GLC 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 GLC would appreciate receiving your comments and suggestions. Please contact IMS GLC through our website at: http://www.imsglobal.org.

Source XSLT File Information

XSL Generator: UMLtoXSDTransformv0p7.xsl

XSLT Processor: Xalan Release: 1.0 Beta 1

Date: 30th November, 2005

Auto-generation Tool

This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware that this is an experimental tool. Permission is given to make use of this tool. IMS makes no claim on the materials created by third party users of this tool. Details on how to use this tool are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation" available at the IMS web-site.

Tool Copyright: 2005 (c) IMS Global Learning Consortium Inc. All Rights Reserved.

Declared Namespaces

Prefix Namespace
Default namespace http://www.imsglobal.org/xsd/imscp_v1p1
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
Schema Component Representation
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imscp_v1p1" version="IMS CP 1.2" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
...
</xs:schema>
top

3.1.3 Global Declarations

Element: manifest

Name manifest
Type Manifest.Type
Nillable no
Abstract no
Logical Diagram
h815573266 h1371128221 h-1404875614 h1396202514
XML Instance Representation
<manifest
identifier=" xs:ID [1]"
version=" xs:string [0..1]"
xml:base="[0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<metadata> ManifestMetadata.Type </metadata> [0..1]
<organizations> Organizations.Type </organizations> [1]
<resources> Resources.Type </resources> [1]
<manifest> Manifest.Type </manifest> [0..*]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</manifest>
Diagram
h-563886747 h-765711315 h-1341743800 h-1772423340 h166889036 h-1961929068
Schema Component Representation
<xs:element name="manifest" type=" Manifest.Type "/>
top

3.1.4 Global Definitions

Complex Type: Dependency.Type

Super-types: None
Sub-types: None
Name Dependency.Type
Used by (from the same schema document) Complex Type Resource.Type
Abstract no
Documentation A dependency element provides a way to associate another collection of asset references within the scope of the dependency element's parent resource element. This element allows the parsimonious declaration of asset references. Shared asset references can be declared once and associated many times through a Dependency element. <p> Represents a binding of the kinds of child objects defined for ims-cp-imDependency: Dependency.[ Extension ].</p>
XML Instance Representation
<...
identifierref=" xs:string [1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h166889036
Schema Component Representation
<xs:complexType name="Dependency.Type">
<xs:sequence>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifierref" type=" xs:string " use="required"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: File.Type

Super-types: None
Sub-types: None
Name File.Type
Used by (from the same schema document) Complex Type Resource.Type
Abstract no
Documentation A file element declares a reference to a single asset. The reference may be relative to the Package containing the file element or absolute (external to the Package). A file element may contain child extensions declaring alternative references to the same asset as that referenced by the file element's href attribute. <p> Represents a binding of the kinds of child objects defined for ims-cp-imFile: File.[ Metadata, Extension ].</p>
XML Instance Representation
<...
href=" xs:anyURI [1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<metadata> Metadata.Type </metadata> [0..1]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-593573292 h166889036
Schema Component Representation
<xs:complexType name="File.Type">
<xs:sequence>
<xs:element name="metadata" type=" Metadata.Type " minOccurs="0" maxOccurs="1"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="href" type=" xs:anyURI " use="required"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: Item.Type

Super-types: None
Sub-types: None
Name Item.Type
Used by (from the same schema document) Complex Type Organization.Type , Complex Type Item.Type
Abstract no
Documentation An item element represents a structural node in a particular organization. An item element may be a parent or sibling of other Item elements, each one representing a unique structural node. An organization has no meaning unless it has at least one Item element. <p> Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
identifierref=" xs:string [0..1]"
isvisible=" xs:boolean [0..1]"
parameters=" xs:string [0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<title> xs:string </title> [0..1]
<item> Item.Type </item> [0..*]
<metadata> Metadata.Type </metadata> [0..1]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-593573292 h166889036
Schema Component Representation
<xs:complexType name="Item.Type">
<xs:sequence>
<xs:element name="title" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:element name="item" type=" Item.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="metadata" type=" Metadata.Type " minOccurs="0" maxOccurs="1"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute name="identifierref" type=" xs:string " use="optional"/>
<xs:attribute name="isvisible" type=" xs:boolean " use="optional"/>
<xs:attribute name="parameters" type=" xs:string " use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: Manifest.Type

Super-types: None
Sub-types: None
Name Manifest.Type
Used by (from the same schema document) Complex Type Manifest.Type , Element manifest
Abstract no
Documentation A manifest element is a container for data structures whose contents describe a semantically complete instance of the IMS Content Packaging Information Model. A manifest element may contain and reference child manifest elements in the same IMS Manifest document. The root manifest element defines an entire IMS Package. A child manifest element defines a semantically complete subset of that Package. <p> Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
version=" xs:string [0..1]"
xml:base="[0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<metadata> ManifestMetadata.Type </metadata> [0..1]
<organizations> Organizations.Type </organizations> [1]
<resources> Resources.Type </resources> [1]
<manifest> Manifest.Type </manifest> [0..*]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-563886747 h-765711315 h-1341743800 h166889036 h-1961929068
Schema Component Representation
<xs:complexType name="Manifest.Type">
<xs:sequence>
<xs:element name="metadata" type=" ManifestMetadata.Type " minOccurs="0" maxOccurs="1"/>
<xs:element name="organizations" type=" Organizations.Type " minOccurs="1" maxOccurs="1"/>
<xs:element name="resources" type=" Resources.Type " minOccurs="1" maxOccurs="1"/>
<xs:element name="manifest" type=" Manifest.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute name="version" type=" xs:string " use="optional"/>
<xs:attribute ref=" xml:base" use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: ManifestMetadata.Type

Super-types: None
Sub-types: None
Name ManifestMetadata.Type
Used by (from the same schema document) Complex Type Manifest.Type
Abstract no
Documentation This metadata element contains data structures that declare descriptive information about an entire Package. One or more different metadata models may be declared as child extensions of a metadata element. The schema and schemaversion children define the kind or collection of metadata models being used. <p> Represents a binding of the kinds of child objects defined for ims-cp-imManifestMetadata: ManifestMetadata.[ Schema, SchemaVersion, MetadataModel ]..</p>
XML Instance Representation
<...>
<schema> xs:string </schema> [0..1]
<schemaversion> xs:string </schemaversion> [0..1]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h166889036
Schema Component Representation
<xs:complexType name="ManifestMetadata.Type">
<xs:sequence>
<xs:element name="schema" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:element name="schemaversion" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
</xs:complexType>
top

Complex Type: Metadata.Type

Super-types: None
Sub-types: None
Name Metadata.Type
Used by (from the same schema document) Complex Type Organization.Type , Complex Type Resource.Type , Complex Type Item.Type , Complex Type File.Type
Abstract no
Documentation An instance of the metadata element contains data structures that declare descriptive information about a metadata element's parent only. One or more different metadata models may be declared as child extensions of a metadata element. <p> Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].</p>
XML Instance Representation
<...>
<schema> xs:string </schema> [0..1]
<schemaversion> xs:string </schemaversion> [0..1]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h166889036
Schema Component Representation
<xs:complexType name="Metadata.Type">
<xs:sequence>
<xs:element name="schema" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:element name="schemaversion" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
</xs:complexType>
top

Complex Type: Organization.Type

Super-types: None
Sub-types: None
Name Organization.Type
Used by (from the same schema document) Complex Type Organizations.Type
Abstract no
Documentation An organization element is a container for all data structures relating to a particular way or view that information encapsulated by a grandparent manifest object is structured. Multiple organization elements within the same parent organizations element are equivalent in purpose: Each shows a different way for structuring the same information declared within a grandparent manifest object. <p> Represents a binding of the kinds of child objects defined for ims-cp-Organization: Organization[ Title, Item, Metadata, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
structure=" xs:string [0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<title> xs:string </title> [0..1]
<item> Item.Type </item> [1..*]
<metadata> Metadata.Type </metadata> [0..1]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-860676496 h-593573292 h166889036
Schema Component Representation
<xs:complexType name="Organization.Type">
<xs:sequence>
<xs:element name="title" type=" xs:string " minOccurs="0" maxOccurs="1"/>
<xs:element name="item" type=" Item.Type " minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="metadata" type=" Metadata.Type " minOccurs="0" maxOccurs="1"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute name="structure" type=" xs:string " use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: Organizations.Type

Super-types: None
Sub-types: None
Name Organizations.Type
Used by (from the same schema document) Complex Type Manifest.Type
Abstract no
Documentation The organizations element is a container for all data structures that describe the way or ways that information encapsulated by its parent manifest element is structured. <p> Represents of binding of the child objects of ims-cp-imOrganizations: Organizations.[ Organization, Extension ].</p>
XML Instance Representation
<...
default=" xs:IDREF [0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<organization> Organization.Type </organization> [0..*]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h189838672 h166889036
Schema Component Representation
<xs:complexType name="Organizations.Type">
<xs:sequence>
<xs:element name="organization" type=" Organization.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="default" type=" xs:IDREF " use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: Resource.Type

Super-types: None
Sub-types: None
Name Resource.Type
Used by (from the same schema document) Complex Type Resources.Type
Abstract no
Documentation A resource element is a container for a particular asset or collection of assets. A resource may contain references to assets that are all of the same type or different types (i.e., file formats). The scope or boundary of an IMS Package is defined by the asset references collected into all resources containers associated with the root manifest element, whether as a child, direcdt descendant, or externally linked descendant. <p> Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
type=" xs:string [1]"
xml:base="[0..1]"
href=" xs:anyURI [0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<metadata> Metadata.Type </metadata> [0..1]
<file> File.Type </file> [0..*]
<dependency> Dependency.Type </dependency> [0..*]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-593573292 h-35799641 h-554587912 h166889036 h-1961929068
Schema Component Representation
<xs:complexType name="Resource.Type">
<xs:sequence>
<xs:element name="metadata" type=" Metadata.Type " minOccurs="0" maxOccurs="1"/>
<xs:element name="file" type=" File.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="dependency" type=" Dependency.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute name="type" type=" xs:string " use="required"/>
<xs:attribute ref=" xml:base" use="optional"/>
<xs:attribute name="href" type=" xs:anyURI " use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: Resources.Type

Super-types: None
Sub-types: None
Name Resources.Type
Used by (from the same schema document) Complex Type Manifest.Type
Abstract no
Documentation The Resources element is a container for data structures containing references to one or more assets. Asset references may be grouped within a containing resources element in whatever manner seems best. The scope of referenced assets is specific to a resources element's parent manifest element only. <p> Represents a binding of the kinds of child objects defined for ims-cp-imResources: Resources.[ Resource, Extension ].</p>
XML Instance Representation
<...
xml:base="[0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<resource> Resource.Type </resource> [0..*]
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h-1906953003 h166889036 h-1961929068
Schema Component Representation
<xs:complexType name="Resources.Type">
<xs:sequence>
<xs:element name="resource" type=" Resource.Type " minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute ref=" xml:base" use="optional"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Model Group: grpStrict.any

Name grpStrict.any
Used by (from the same schema document) Complex Type Manifest.Type , Complex Type Metadata.Type , Complex Type Organizations.Type , Complex Type Resources.Type , Complex Type Organization.Type , Complex Type Resource.Type , Complex Type Item.Type , Complex Type File.Type , Complex Type Dependency.Type , Complex Type ManifestMetadata.Type
Documentation Any namespaced element from any namespace may be included within an "any" element. The namespace for the imported element must be defined in the instance, and the schema must be imported. The extension has a definition of "strict" i.e. they must have their own namespace.
XML Instance Representation
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
Diagram
Schema Component Representation
<xs:group name="grpStrict.any">
<xs:sequence>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
top

3.2 Content Packaging Extension Binding Description

The listing of the Content Packaging Extension XSD file is given in Appendix A2.

3.2.1 Table of Contents

top

3.2.2 Schema Document Properties

Target Namespace http://www.imsglobal.org/xsd/imscp_extensionv1p2
Version IMS CPX 1.2
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://www.w3.org/1999/xlink (at http://www.imsglobal.org/xsd/ims_xlink.xsd)
Documentation XSD Data File Information

Author: Colin Smythe (IMS, UK)

Date: 31st October, 2006

Version: 2.0

Status: CN/DN Release

Description: This is a normative representation of the IMS Packaging Extension 1.0 Information Model for binding purposes. Read the corresponding IMS Content Packaging Information Model for the Platform Independent Model representation.

History: Version 2 includes the modified definition of LingualTitle. Version 1 of the IMS Packaging Utility v1.2 XSD for public draft release. It has a target namespace of http://www.imsglobal.org/xsd/imscp_extensionv1p2. This Utility uses this general approach to modeling:

(1) All of the elements and attributes are defined as local to their host object;

(2) There are multiple host objects;

(3) Comments have been added to the complexType definitions.

Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved. IMS Global Learning Consortium, Inc. (IMS GLC) is publishing the information contained in this binding ("Specification") for purposes of scientific experimental and scholarly collaboration only. IMS GLC 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 GLC would appreciate receiving your comments and suggestions. Please contact IMS GLC through our website at: http://www.imsglobal.org.

Source XSLT File Information

XSL Generator: UMLtoXSDTransformv0p7.xsl

XSLT Processor: Xalan

Release: 1.0 Beta 1

Date: 30th November, 2005

Auto-generation Tool

This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware that this is an experimental tool. Permission is given to make use of this tool. IMS makes no claim on the materials created by third party users of this tool. Details on how to use this tool are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation" available at the IMS web-site.

Tool Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.

Declared Namespaces

Prefix Namespace
Default namespace http://www.imsglobal.org/xsd/imscp_extensionv1p2
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xlink http://www.w3.org/1999/xlink
Schema Component Representation
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imscp_extensionv1p2" version="IMS CPX 1.2" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.imsglobal.org/xsd/ims_xlink.xsd"/>
...
</xs:schema>
top

3.2.3 Global Declarations

Element: ipointer

Name ipointer
Type IPointer.Type
Nillable no
Abstract no
Logical Diagram
XML Instance Representation
<ipointer
identifier=" xs:ID [1]"
xlink:type="[0..1]"
xlink:href="[1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</ipointer>
Diagram
h166889036 h-1961369859 h-1961734418
Schema Component Representation
<xs:element name="ipointer" type=" IPointer.Type "/>
top

Element: lingualTitle

Name lingualTitle
Type LingualTitle.Type
Nillable no
Abstract no
Logical Diagram
XML Instance Representation
<lingualTitle
language=" xs:string [1]">
xs:string
</lingualTitle>
Diagram
Schema Component Representation
<xs:element name="lingualTitle" type=" LingualTitle.Type "/>
top

Element: variant

Name variant
Type Variant.Type
Nillable no
Abstract no
Logical Diagram
h815573266
XML Instance Representation
<variant
identifier=" xs:ID [1]"
identifierref=" xs:IDREF [1]">
<metadata> Metadata.Type </metadata> [1]
</variant>
Diagram
h-593573292
Schema Component Representation
<xs:element name="variant" type=" Variant.Type "/>
top

3.2.4 Global Definitions

Complex Type: IPointer.Type

Super-types: None
Sub-types: None
Name IPointer.Type
Used by (from the same schema document) Element ipointer
Abstract no
Documentation A bound instance of an IPointer object allows a packager to associate a specific XML node set in the same IMS Manifest Document that contains it or an XML node set in a different IMS Manifest Document instance with the parent object containing an IMS Pointer instance. A referenced node set must be a valid child of the referencing parent element, both as to kind and multiplicity in a referencing parent's context. <p> Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
xlink:type="[0..1]"
xlink:href="[1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h166889036 h-1961369859 h-1961734418
Schema Component Representation
<xs:complexType name="IPointer.Type">
<xs:sequence>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute ref=" xlink:type " use="optional" default="simple"/>
<xs:attribute ref=" xlink:href " use="required"/>
<xs:anyAttribute namespace="##other" processContents="strict"/>
</xs:complexType>
top

Complex Type: LingualTitle.Type

Super-types: xs:string < LingualTitle.Type (by extension)
Sub-types: None
Name LingualTitle.Type
Used by (from the same schema document) Element lingualTitle
Abstract no
XML Instance Representation
<...
language=" xs:string [1]">
xs:string
</...>
Diagram
Schema Component Representation
<xs:complexType name="LingualTitle.Type">
<xs:simpleContent>
<xs:extension base=" xs:string ">
<xs:attribute name="language" type=" xs:string " use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
top

Complex Type: Metadata.Type

Super-types: None
Sub-types: None
Name Metadata.Type
Used by (from the same schema document) Complex Type Variant.Type
Abstract no
Documentation An instance of the metadata element contains data structures that declare descriptive information about a metadata element's parent only. One or more different metadata models may be declared as child extensions of a metadata element. <p> Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].</p>
XML Instance Representation
<...>
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</...>
Diagram
h166889036
Schema Component Representation
<xs:complexType name="Metadata.Type">
<xs:sequence>
<xs:group ref=" grpStrict.any "/>
</xs:sequence>
</xs:complexType>
top

Complex Type: Variant.Type

Super-types: None
Sub-types: None
Name Variant.Type
Used by (from the same schema document) Element variant
Abstract no
Documentation A variant element is closely analogous to a resource element in the IMS Content Packaging Information Model. Variant is a container for a an alternative resource. A resource may contain references to assets that are all of the same type or different types (i.e., file formats). The Variant class points to the alternatibe resource. Metadata is used to describe the nature of a collection of alternative assets and their intended use. Examples include, but are not limited to, use as lingual variants, visual or auditory variants, remediation variants, or platform delivery variants. The scope of referenced assets is specific to a Variant object. Their use is in the context of the parent object containing a variant instance, typically a bound instance of a Resource object from the IMS CP namespace. <p> Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].</p>
XML Instance Representation
<...
identifier=" xs:ID [1]"
identifierref=" xs:IDREF [1]">
<metadata> Metadata.Type </metadata> [1]
</...>
Diagram
h-593573292
Schema Component Representation
<xs:complexType name="Variant.Type">
<xs:sequence>
<xs:element name="metadata" type=" Metadata.Type " minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="identifier" type=" xs:ID " use="required"/>
<xs:attribute name="identifierref" type=" xs:IDREF " use="required"/>
</xs:complexType>
top

Model Group: grpStrict.any

Name grpStrict.any
Used by (from the same schema document) Complex Type IPointer.Type , Complex Type Metadata.Type
Documentation Any namespaced element from any namespace may be included within an "any" element. The namespace for the imported element must be defined in the instance, and the schema must be imported. The extension has a definition of "strict" i.e. they must have their own namespace.
XML Instance Representation
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
Diagram
Schema Component Representation
<xs:group name="grpStrict.any">
<xs:sequence>
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
top | toc

4. Using Schematron

The two XSDs (core and extension) are not linked i.e. one does not import the other. This is because linking creates an ambiguous binding due to support for extensibility. This lack of formal linkage of one XSD with another means that the constraints in the Content Packaging Information Model of where the extension functions can be located is not enforced in the binding. The only constraint is that the new extension functions can ONLY be inserted at an extensibility point within the Content Packaging binding.

To help implementors enforce information model constraints that the XSDs cannot enforce, a Schematron [Schematron, 06] schema has been made available as part of the specification's documentation set. The Schematron schema only encodes the constraints on where in a manifest document elements from the extended CP namespace can occur. It will also provide some feedback about violations of those constraints to schematron compliant applications. It should be noted that IMS CP compliant systems are not required to support Schematron; the Schematron schema is supplied as an extra implementation aid. It also worth noting that Schematron is trivially implementable on top of an existing XSLT parser. Finally, because there is no canonical method of associating Schematron schemas with XML instances, the task of applying the schema to an instance is left to implementors.

top | toc

5. Binding of the Vocabularies

The Content Packaging vocabularies are enumerated in external files. These files are XML instances of the IMS Vocabulary Definition Exchange (VDEX) specification [VDEX, 04b]. Each value for the vocabulary is defined in its own VDEX 'term'.

5.1 VDEX for the Structure Attribute

The 'structure' attribute is used to describe the particular way that Item instances relate to each other within an Organization instance. The set of IMS defined values for the 'structure' attribute are:

The listing of the VDEX file containing the 'structure' values is given in Appendix B1.

5.2 VDEX for the ResourceType Attribute

The 'resourcetype' attribute is used to indicate the nature of the associated resource (note that the resource can in fact be more than one physical file). The set of IMS defined values for the 'resourcetype' attribute are:

The listing of the VDEX file containing the 'resourcetype' values is given in Appendix B2.

top | toc

Appendix A - Listing of the XSDs

Appendix A1 - Listing of the Content Package v1.1 XSD

The following code is the listing of the core Content packaging XSD. This XSD was auto-generated using the IMS I-BAT Tool. This listing is contained in the file: imscp_v1p2.xsd. The default namespace is 'http://www.imsglobal.org/xsd/imscp_v1p1' and the default schema location is 'http://www.imsglobal.org/xsd/imscp_v1p2.xsd'.

Appendix A2 - Listing of the Content Package Extensions v1.2 XSD

The following code is the listing of the Content Packaging Extension XSD. This XSD was auto-generated using the IMS I-BAT Tool. This listing is contained in the file: imscp_extensionv1p2.xsd. The default namespace is 'http://www.imsglobal.org/xsd/imscp_extensionv1p2' and the default schema location is 'http://www.imsglobal.org/xsd/imscp_extensionsv1p2.xsd'.

top | toc

Appendix B - Vocabulary VDEX Instance File Listings

Appendix B1 - Listing of the Structure Vocabulary

This document contains the default vocabulary for the 'structure' attribute in the IMS Content Packaging specification: imscp_structurevocabv1p0.xml. The default VDEX location is 'http://www.imsglobal.org/vdex/imscp_structurevocabv1p0.xml'.

Appendix B2 - Listing of the ResourceType Vocabulary

This document contains the default vocabulary for the 'resourceType' attribute in the IMS Content Packaging specification: imscp_restypevocabv1p0.xml.The default VDEX location is 'http://www.imsglobal.org/vdex/imscp_restypevocabv1p0.xml'.

top | toc

About This Document

Title
IMS Content Packaging XML Binding
Editors
Colin Smythe (IMS), Boyd Neilsen (Independent)
Team Co-Leads
Jan Poston Day (Blackboard), Wilbert Kraan (JISC/CETIS), Nigel Ward (DEST)
Version
v1.2 (Public Draft v2.0)
Version Date
01 March 2007
Status
Public Draft v2.0
Summary
This document describes the XML Binding of the Content Packaging specification.
Purpose
This document is circulated for public comment. Organizations are encouraged to implement this version of the specification and to provide feedback on their experience.
Document Location
http://www.imsglobal.org/content/packaging/index.html

top | toc

List of Contributors

The following individuals contributed to the development of this document:

Name
Organization
Martin Bayly
WebCT (USA)
Kerry Blinco
DEST (Australia)
Jennifer Brooks
ADL (USA)
Adam Cooper
Tribal Technology (UK)
Daniel Burgos
OUNL (Netherlands)
Philip Dodds
ADL (USA)
Steve Hirst
Pearson Ed Measurement (USA)
Wilbert Kraan
JISC/CETIS (UK)
Sheila MacNeill
JISC/CETIS (UK)
Boyd Nielsen
Independent (USA)
Jan Poston Day
Blackboard Inc. (USA)
Allyn Radford
HarvestRoad (Australia)
Colin Smythe
IMS Global Learning Consortium, Inc.
Schawn Thropp
ADL (USA)
Nigel Ward
DEST (Australia)

top | toc

Revision History

Version No.
Release Date
Comments
Public Draft 1.0
20 November 2005
Public Draft version of the Content Packaging XML Binding.
Internal Draft 2.0
1 March 2007
This new version contains the following changes from v1.0:
  • Both the core CP v1.1 and the CP Utilities binding XSDs are described in this document;
  • The VDEX instance files for the 'structure' and 'resourceType' attributes are defined;
  • The binding of variants has been changed;
  • The IMSPointer structure has been renamed IPointer and the binding has been changed.



top | toc

Index

C
Content Package Core XSD 1

E
Extension XSD 1

P
Platform Specific Model 1

PSM, see Platform Specific Model

R
ResourceType attribute VDEX 1

S
Schematron 1
Structure attribute VDEX 1

V
VDEX, see Vocabulary Definition Exchange
Vocabulary Definition Exchange instances 1

X
XML Schema Definition 1

XSD, see XML Schema Definition


IMS Global Learning Consortium, Inc. (“IMS GLC”) is publishing the information contained in this document (“Specification”) for purposes of scientific, experimental, and scholarly collaboration only.
IMS GLC 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 GLC would appreciate receiving your comments and suggestions.
Please contact IMS GLC through our website at http://www.imsglobal.org
Please refer to Document Name: IMS Content Packaging v1.2 XML Binding Public Draft v2.0
Date: 1 March 2007

top | toc