![]() |
IMS Common Cartridge Profile
|
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 © 2008 IMS Global Learning Consortium. All Rights Reserved. If you wish to copy or distribute this document, you must complete a valid Registered User license registration with IMS and receive an email from IMS granting the license to distribute the specification. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm. This document may be copied and furnished to others by Registered Users who have registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS project group. Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html. The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns. THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION. |
The Common Cartridge defines an open format for the distribution of rich, web-based content. It is designed to ensure the correct installation and operation of content across any Common Cartridge conformant platforms and tools. The specification defines a profile for the use of the following specifications which are (in the versions adopted here), already widely implemented and in use across the community:
The LOM, Content Packaging and Question & Test Interoperability specifications have each been profiled to simplify their use. Thus their scope has been constrained to those features commonly implemented and in use by the community. Experience suggests that interoperability problems that have arisen with implementations of these specifications are frequently the result of differing interpretations of the specs and options being taken that lead to divergence in behavior. A key goal of the Common Cartridge specification therefore has been to provide a tighter definition of their use thus eliminating this divergence. The resulting profile also lends itself to more effective conformance testing of implementations.
Additional features offered by the Common Cartridge include:
The present versions of the specifications supported under Common Cartridge have been selected to offer existing implementations a low barrier to adoption of the Common Cartridge. It is to be anticipated that as new versions of these specifications achieve widespread adoption, they in turn will be adopted thus further enhancing the features supported in future versions of the Common Cartridge.
2.1.1 Affected Roles and Definitions
2.1.2 High-level Use Case Scope
2.4 Execution of Static Content
3.1 IMS Common Cartridge Run-Time Functional Model
3.3 Common Cartridge Package Interchange File Structure
3.3.1 Categories of Resource in a Common Cartridge
3.3.2 Cartridge Level Web Content
3.3.3 Learning Application Object Directories
3.4 Pathnames for Web Content Resources
3.4.2 Learning Application Object Web Content
3.4.3 Format of Relative Path References within a web content file system
3.4.4 Format of Relative Path References from Learning Application Object to Cartridge File System
4.3 Common Cartridge Information Model
4.4.4 Cartridge Web Content Type
4.4.6 Discussion Topic Content Type
4.4.7 Web Link (URL) Content Type
4.4.9 Question Bank Content Type
4.4.10 Common Cartridge Authorization
4.6.1 Specifying the Authorization Level
4.9.2 Further Element/Attribute Restrictions for Common Cartridge
5.1.1 Extensions to Resources Meta-data
5.1.3 Meta-data Rights Management
5.2 Examples of Valid Common Cartridge File Structures
5.2.1 Sample 1 - Web Content and Learning Application Objects Both in Root
5.2.2 Sample 2 - Web Content in Root and Learning Application Objects in Subdirectory
5.2.3 Sample 3 - Web Content and Learning Application Objects Both in Subdirectories
5.3 Content & Assessment Issues
6.1.2 Cartridge Assessments & Question Banks
6.1.3 Scope of Cartridge Tests
6.1.4 Limitations of Cartridge Testing
6.1.5 Cartridge Additional Constraints
6.2.3 Cartridge Assessments & Question Banks
Appendix B - Profile Schema Package
Appendix C - CC Changes to Profiled Base Schemas
C1 - Application Profile Modifications to Content Packaging v1.2 Schema
C2 - Application Profile Modifications to the Content Packaging v1.2 Extension Schema
C3 - Application Profile Modifications to IEEE LOM V1.0 Loose Schema for Cartridge Meta-data (Unqualified Dublin Core)
C4 - Application Profile Modifications to IEEE LOM V1.0 Loose Schema for Roles Meta-data
C5 - Application Profile Modifications to Question & Test Interoperability v1.2 Schema
Appendix D - CC Schematron Rules for the Profiled Content Packaging v1.2 Schema
This specification constitutes a profile of the following, existing specifications:
The profile has been developed in accordance with the IMS Application Profile Guidelines v1.0, using the IMS SchemaProf tool v1.0.
The driving motivation behind this work has been to communicate clearly and unambiguously how the above collection of specifications can be harnessed to distribute rich web content in a format offering a high degree interoperability across platforms. The approach followed has centered on;
The resulting Common Cartridge profile should be easier for developers to implement and lends itself to more routine conformance testing of these implementations.
Simplifications applied to the Common Cartridge format include:
However, the format has also been enriched with the addition of:
The primary focus of the Common Cartridge specification is achieving error-free import of content into any conforming LMS platform (see Figure 1.1). No runtime model is expressed, but any conforming LMS must support (either directly, or via a call-out to a suitable external service) all of the functionality implied by the Common Cartridge schema set. In particular, a conforming LMS must fully implement the Authorization web service. The cartridge can optionally require the following forms of authorization:
Common Cartridge v1.0 supports profiled instances of the following question types:
Questions can only be included in a cartridge either as components of an assessment resource or a question bank resource.
In addition to the imsmanifest.xml file, there are a further three basic categories of resource file in a Common Cartridge.
|
|
|
|
Associated Content resources include a collection of files used by a specific Learning Application Object. Each file referenced must exist in the directory containing the descriptor file of the Learning Application Object with which it is associated or any subdirectory thereof. Furthermore, each Associated Content resource must be associated with one and only one Learning Application Object. This association is indicated by use of a dependency reference on the Learning Application Object's resource element.
A resource of the type "associatedcontent" must comply with the following restrictions:
Web Content resources include any number of references to static web resources that are generally supported on the web such as HTML files, GIF images, JPEG images, PDF documents, etc. Resources of the type "webcontent" may reference any number of files. Additionally, "webcontent" resources may include dependencies on other "webcontent" resources. However, "webcontent" resources may never contain dependencies on any other resource types including Associated Content resources and Learning Application Object resources.
A resource of the type "webcontent" must comply with the following restrictions:
0-11 |
|||
These are web content resources that may be shared between different Learning Application Objects within the cartridge.
References to files in this file system from Learning Application Object files must utilize relative paths e.g.:
"../filename"
(<root>/learningApplicationResourceDirectory1... learningApplicationResourceDirectoryN)
These directories organize all the files that logically contribute to the delivery of a single instance of one of the content types supported by Common Cartridge.
The root of the directory should contain the descriptor file for the Learning Application Object such as the QTI file for an assessment Learning Application Object. This directory may also contain additional files and subdirectories that are used exclusively by the Learning Application Object (i.e., associated content).
The name of this directory is not defined by the specification. Care must be taken to ensure that collisions do not occur between this directory name and the names of directories used for other Learning Application Objects and those used for web content.
A cartridge that does not contain any additional Learning Application Objects (e.g., only cartridge level web content) may exclude these directories.
Any web content which is logically tied to this Learning Application Object should be contained in the Learning Application Object resource directory.
All references to this content from Learning Application Object resource files e.g. QTI files should use a relative path.
It is the responsibility of the cartridge producer to ensure name collisions do not occur between end user created file/folder names (for web content) and system generated file/directory names (for resource descriptors).
To facilitate management of web content resources, in particular utilizing standard html relative path referencing between resources when content is imported into the LMS, web content resources are defined to live in two file systems - a folder for web content used by several resources and a folder for each Learning Application Object's related content.
The diagram in Figure 3.4 shows how web content may be referenced across these different file systems using relative path semantics.
A Cartridge Web Content folder may be included in a Common Cartridge. If present, the Cartridge Web Content folder must appear in the root folder of the cartridge. The name of this folder is not defined by the specification.
Web content included in the Cartridge Web Content folder can be referenced by any of the Learning Application Objects in the cartridge. Relative path referencing is permitted between files in this folder and its subfolders, but files in this folder are not permitted to reference files in a Learning Application Object folder or its associated content folders.
On import, an LMS will usually import this content into a course level file system.
There can be 1 to n Learning Application Object web content folders in a Common Cartridge.
Each Learning Application Object in the cartridge has its own associated content file system folder. Files in this folder and its subfolders may reference other files in this associated content file system folder and files in the Cartridge Web Content folder using relative path semantics. However, they must not reference files in other Learning Application Object web content folders or their sub-folders. In addition, Learning Application Object resources (e.g., a QTI xml file) can contain references to files in the Learning Application Object's associated content folder and its subfolders and the cartridge web content folder and its subfolders, but must not contain references to web content in the folders of other Learning Application Objects.
On import, an LMS that only supports a single course level file system may import this web content into the course level file system. In this scenario, the web content in the cartridge represents one big file system scope.
An LMS that supports both course level and Learning Application Object level file systems will import this content into a local file system space that can only be utilized by the associated Learning Application Object.
All html path linking (e.g. <img src="">, <a href="">) between content contained in a given file system (cartridge or Learning Application Object) should utilize relative path semantics restricted by the rules defined above. Here relative path is defined as relative to the file containing the reference regardless of whether that file is itself web content or some other resource e.g. a QTI file.
content1/material/lesson.html
content1/images/icon.gif
<img src="../images/icon.gif"/>
Where the linking syntax of a learning application object uses a URI, paths should be relative to the file containing the reference, e.g., for the files:
content1/question1Qti.xml
content1/images/icon.gif
<matimage uri="images/icon.gif">icon.gif</matimage>
Where a Learning Application Object resource supports free-form text which may contain embedded HTML markup, paths should be relative to the file containing the reference and should in addition contain a special token to make finding and parsing these paths simpler for the importing system, e.g., for the files:
content1/question1Qti.xml
content1/images/icon.gif
<img src="$IMS-CC-FILEBASE$images/icon.gif"/>
Note: the token $IMS-CC-FILEBASE$ is just a flag to facilitate finding the paths. It does not represent a replacement token within the context of the cartridge. However, an importing LMS may choose to store the referenced files in a different location and so is free to insert any path elements needed to make the path work in the LMS.
All html path linking (e.g. <img src="">, <a href="">) by content contained in a Learning Application Object file system to content in the cartridge web content file system should use relative paths adhering to similar rules as those defined for references within a file system. Here relative path is defined as relative to the file containing the reference regardless of whether that file is itself web content or some other resource, e.g., a QTI file.
The key rule is that where a relative path within the Learning Application Object file system is directed above that file system root, this is assumed to be a reference into the cartridge web content file system, e.g., for the files:
images/icon.gif
content1/material/lesson.html
An image reference to icon.gif in the cartridge file system from lesson.html in a Learning Application Object file system would take the form:
<img src="../../images/icon.gif"/>
Where the information model of another Learning Application Object resource is defined as a URI, paths should be relative to the file containing the reference, e.g., for the files:
images/icon.gif
content1/question1Qti.xml
<matimage uri="../images/icon.gif">icon.gif</matimage>
Where a Learning Application Object resource supports free-form text which may contain embedded HTML markup, paths should be relative to the file containing the reference and should in addition contain a special token to make finding and parsing these paths simpler for the importing system, e.g., for the files:
images/icon.gif
content1/question1Qti.xml
A reference to the cartridge image icon embedded in the free format question text should take the form:
<img src="$IMS-CC-FILEBASE$../images/icon.gif"/>
The intent of this section is to provide a high-level description of a Common Cartridge. While conceptually similar to "cartridge-like" features found in existing commercial vendor solutions, several of the features of the Common Cartridge are included.
Conceptually, a Common Cartridge is a package of content and meta-data that is integrated into an LMS learning context. At a high level, this may directly correspond to the notion of "course" in the target LMS. There is no guarantee of the cardinality of the relationship from "learning context" to "Common Cartridge", i.e., the LMS may enforce an arbitrary 1-1 relationship. The data contained in the package breaks down into the following categories:
A Common Cartridge is an IMS Content Package conforming to the following basic structure.
Common Cartridge resources must be identified with GUIDs, in order to facilitate proper integration in systems that execute "by reference" content usage.
The Common Cartridge builds upon a profile of Content Packaging. This profile is constructed using the CPv1.2 schema, but currently only harnesses those features previously available in CPv1.1.4. The following provides an overview of the basic usage of IMS Content Packaging
The following describes how the folder content type is represented.
<organizations/>
<organizations>
<organization identifier="Org1" structure="rooted-hierarchy">
<title>Mathematics Volume III</title>
<item>... </item>
</organization>
</organizations>
A cartridge with a folder Organization should always be rooted on a single Item container object. It is not permissible to have two sibling Item containers below the Organization. The root Item container object just represents the root node of the Organization tree and has no other semantic or presentational meaning. It must not contain a Title value object, e.g., the following is valid:
<organization identifier="Org1" structure="rooted-hierarchy">
<item>
<item>
...
</item>
</item>
</organization>
<organization>
<item>
...
</item>
<item>
...
</item>
</organization>
<organization>
<item>
<title>some text</title>
</item>
</organization>
<item>
<item>
<title>Root folder</title>
<item>
<title>Subfolder 1</title>
</item>
<item>
<title>Subfolder 2</title>
<item>
<title>Subfolder 2 - Sub Folder 1</title>
</item>
</item>
</item>
</item>
The Common Cartridge must be described at the manifest level using meta-data according to the Common Cartridge profile of the IEEE LOM (loose binding) [IEEE LOM, 05] which describes the range of a mapping from the core elements of the Dublin Core specification v1.1 [DC, 03] to IEEE LOM. This application profile is restrictive. It uses the namespace http://ltsc.ieee.org/xsd/imscc/LOM which differs from the IEEE LOM namespace by the insertion of imscc. In contrast, meta-data for resources (see below) need to use the original IEEE LOM namespace.
The meta-data element as well as its schema and schema version element are required at the manifest level. They must be expressed as follows.
<metadata>
<schema>IMS Common Cartridge</schema>
<schemaversion>1.0.0</schemaversion>
... metadata according to Common Cartridge profile of IEEE LOM ...
</metadata>
The usage of meta-data at other places in the common cartridge is not restricted. This may change in future versions of the specification.
It should be noted that there are some differences between IMS Meta-data and IEEE LOM with respect to binding. Since the CC meta-data is based upon the IEEE LOM binding, it is not order sensitive.
Any media player, codec, browser plug-in or operating system requirements for the cartridge content must be declared in the cartridge-level meta-data description. Each entry should include details of the tool/product name, version number, supplier name and the URL for their website. Such requirements must be entered in the description element for the cartridge as free text.
If meta-data is applied to resources, then it must be based on IEEE LOM. In particular, it must use the IEEE LOM namespace http://ltsc.ieee.org/xsd/LOM.
There are situations where resources may need to be specified within the organization, but should not be made visible in player mode upon default import of the cartridge. One such situation is the inclusion of instructor manuals, lesson plans, instructor notes and solution files that should only be visible to instructors. In other situations, publishers may wish to provide additional, optional resources that may be selectively released to students by the instructor at some later date. In both cases, there is a need to indicate where the resources should appear within the organization even though the resources are not initially visible to learners in the cartridge player. These resources must be made visible in cartridge editors so that the settings may be modified when and if appropriate.
To meet these needs, the common cartridge applies optional "roles" meta-data associated with the resource in the manifest file. If not present, then the default behavior is that the resource would be viewable by all users. If present, then it declares the roles for which the resource would be viewable. The roles for which a specific resource is released are declared in the resource meta-data as the content of the elements:
lom/educational/intendedEndUserRole/vocabulary/value
IMS_GLC_CC_Rolesv1p0
lom/educational/context/value
<lom:lom>
<lom:educational>
<lom:context>
<lom:source>LOMv1.0</lom:source>
<lom:value>higher education</lom:value>
</lom:context>
<lom:intendedEndUserRole>
<lom:vocabulary>
<lom:source>IMSGLC_CC_Rolesv1p0</lom:source>
<lom:value>Learner</lom:value>
<lom:value>Instructor</lom:value>
</lom:vocabulary>
</lom:intendedEndUserRole>
</lom:educational>
</lom:lom>
The authorization components of the Common Cartridge are designed to support the requirements of the Authorization Web Service as described in IMS Common Cartridge Authorization Web Service [CC, 08b].
However, they also need to contain sufficient information to support legacy authorization mechanisms as it is not expected that all LMSs and publishers will immediately move to using the Web Service, because their current business model is tied to the existing mechanisms.
Concepts 2 and 3 are mutually exclusive, i.e., a cartridge can either specify that all resources in the cartridge are protected or just some resources in the cartridge are protected.
The mechanism by which the authorized access to particular resources is enforced by the LMS is not defined by the profile. How the `challenge' mechanism is integrated into the user experience will be determined by the implementation of the LMS. For example, an LMS could challenge for authorization when a user accesses a course that contains any protected resources. Or alternatively, an LMS could just challenge when a user tries to access a protected resource in the context of a course. In some cases this is not easy to do. E.g., if an HTML page uses a protected image, it may not be easy to incorporate a challenge mechanism seamlessly into the display of the HTML page. An LMS could employ some kind of redirection mechanism or return an image requesting user to authorize etc.
The authorization requirements are specified in the manifest as an IMS extension.
If the authorizations element is omitted the cartridge is assumed to be open access. All authorization mechanisms declared in the cartridge must provide the same level of access which has been declared in the authorizations object.
<manifest>
<metadata/>
<organization/>
<resources/>
<cc:authorizations access="cartridge" import="false"
xmlns:cc="http://www.imsglobal.org/xsd/imsccauth_v1p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.imsglobal.org/xsd/imsccauth_v1p0 imsccauth_v1p0.xsd">
<cc:authorization>
<cartridgeId>12345</cartridgeId>
<webservice>http://publisher.com/authme</webservice>
</cc:authorization>
</cc:authorizations>
</manifest>
If the cartridge access type is set to `resource' then the individual resources which need to be protected are specified by adding the `Protected' characteristic object to each resource.
<resource identifier=res001 type=webcontent cc:protected=true href=someFile.html>
<file href=someFile.html/>
</resource>
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imsccauth_v1p0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.imsglobal.org/xsd/imsccauth_v1p0"
xmlns:ims="http://www.imsglobal.org/xsd/imscp_v1p1" elementFormDefault="unqualified">
<xs:import namespace="http://www.imsglobal.org/xsd/imscp_v1p1" schemaLocation = "imscp_v1p1.xsd"/>
<xs:element name="authorizations" type="authorizationsType"/>
<xs:complexType name="authorizationsType">
<xs:sequence>
<xs:element name="authorization" type="authorizationType"/>
<xs:group ref = "ims:grp.any"/>
</xs:sequence>
<xs:attribute name="access" type="accessType" use="required"/>
<xs:attribute name="import" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="authorizationType">
<xs:sequence>
<xs:element name="cartridgeId" type="xs:string"/>
<xs:element name="webservice" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="accessType">
<xs:restriction base="xs:string">
<xs:enumeration value="cartridge"/>
<xs:enumeration value="resource"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ResourceType">
<xs:complexContent>
<xs:extension base="ims:resourceType">
<xs:attribute name="protected" type="xs:boolean" default="false"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<dt:topic
xmlns:dt="http://www.imsglobal.org/xsd/imsdt_v1p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<title>Dinosaurs</title>
<text texttype="text/html">Discuss this history of dinosaurs. <img src="$IMS-CC-FILEBASE$icons/dinosaurImage.gif"/></text>
<attachments>
<attachment href="icons/dinosaurHistory1.html"/>
<attachment href="icons/dinosaurHistory2.html"/>
</attachments>
</dt:topic>
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imsdt_v1p0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.imsglobal.org/xsd/imsdt_v1p0" elementFormDefault="unqualified">
<xs:element name="topic" type="topicType"/>
<xs:complexType name="topicType">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="text">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="texttype" type="textTypeType" default="text/plain"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="attachments" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="attachment" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="href" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="textTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="text/html"/>
<xs:enumeration value="text/plain"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<wl:webLink
xmlns:wl="http://www.imsglobal.org/xsd/imswl_v1p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<title>Dinosaurs</title>
<url href="http://dino.com/dinosaurs/history.html" target="_self" windowFeatures=width=100, height=100/>
</wl:webLink>
<?xml version="1.0"?>
<xs:schema targetNamespace="http://www.imsglobal.org/xsd/imswl_v1p0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.imsglobal.org/xsd/imswl_v1p0" elementFormDefault="unqualified">
<xs:element name="webLink" type="webLinkType"/>
<xs:complexType name="webLinkType">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="url">
<xs:complexType>
<xs:attribute name="href" type="xs:string" use="required"/>
<xs:attribute name="target" type="xs:string" />
<xs:attribute name="windowFeatures" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
A Common Cartridge may contain either/both of two Learning Object Resource types that are based on the CC QTI Profile: Assessments and Question Banks. Generally Assessments are meant to represent an ordered question set and may include optional attributes that apply to the set as a whole. A CC Question Bank refers to a QTI Object Bank, constrained to hold just those question types supported in the CC profile. Assessments should employ the <assessment> QTI element (see section Assessments vs. Object Banks directly below). Question Banks are meant to represent unordered sets of questions with no associated attributes applying to the set as a whole (though meta-data is permitted). Question banks should use the <objectbank> QTI element. In addition, question banks should have no representation in the organizations section of the manifest and if used, only one question bank can be present in a cartridge.
<questestinterop> is the root element for all CC QTI documents. Directly inside this will be either an <assessment><section> or <objectbank> structure as described in the next section.
The $IMS-CC-FILEBASE$ token may be used in any portion of questions, answers or feedback. It is intended to help identify paths that reference media files that are required by the assessment and are included in the common cartridge. If the files are not moved after extraction, the path following the token should be the same directory that contains the qti file itself. The token should ALWAYS be included when making relative references to other files so that import engines can correctly handle any required path translations. Elements or multi-element constructs other than those covered explicitly below are prohibited.
Assessments are represented with a single <assessment> element with required ident and title attributes and optional language attribute. The <assessment> element may contain an optional <presentation_material> element to represent information to be displayed prior to a student launching the assessment.
A <qtimetadata> element can be present where CC specific meta-data elements are allowed within <qtimetadatafield> structures as follows:
<qtimetadatafield>
<fieldlabel></fieldlabel>
<fieldentry></fieldentry>
<qtimetadatafield>
In addition to the optional <presentation_material> and <qtimetadatafield> elements the <assessment> element must contain exactly one <section> element with a required ident and an optional title attribute. The <section> element contains one or more <item> elements only.
Object banks are represented as a single <objectbank> element which can contain one or more <item> elements only.
<item> elements represent individual questions in assessments or object banks (i.e. question banks). There is a required ident attribute and an optional title attribute which can be used when providing editors with question lists for selection or editing. It is not presented when question is rendered in the assessment.
An <itemmetadata> element can contain a <qtimetadata> element where CC specific meta-data elements are allowed within <qtimetadatafield> structures (as in Assessments vs. Object Banks section above) as follows:
The <presentation> element contains elements for representing the question text and responses as presented to the student.
A <material><mattext> structure directly inside the <presentation> element is used for the question text. The question text may be presented in either plain text or html format. If the html format is used, the mattext element must have a texttype attribute with a value of "text/html". If plain text is used, the texttype value of "text/plain" is optional as this is the default. Regardless of the format, the question text must occur within a CDATA section.
Multiple_choice, multiple_response, and true_false questions use a <response_lid> element to contain the individual answers. There is a required ident attribute which should be of the form response_# to make processing easier, and an rcardinality attribute which should be set to Single for multiple_choice and true_false questions and Multiple for multiple_response questions.
The <response_lid> element contains a single <render_choice> element with a shuffle (Yes/No) attribute to indicate whether or not scrambling of answer choices is allowed.
The <render_choice> element contains one or more <response_label> elements with a required ident attribute. The < response_label > elements contain <material><mattext> structures holding the text of the individual answers. Response.rshuffle is not supported here.
Fib and essay questions use a <response_str> element instead of <response_lid> with a required ident attribute which should be of the form response_# to make processing easier. The <response_str> element contains a single <render_fib> element. The rows attribute must be set to 1. For fib questions the columns attribute may be set any positive integer but may be ignored.
<resprocessing> is a direct child of the <item> element and is used to indicate correct answers and response scoring.
<resprocessing> should include an <outcomes><decvar> structure that sets varname="SCORE".
<respcondition> elements are used to set the value of SCORE appropriately for each response, and to identify any <itemfeedback> (see next section: Itemfeedback) elements that are applicable. A <respcondition continue="Yes"> can be used for general feedback to be provided unconditionally.
A <setvar action="Set" varname="SCORE"> element is used inside a <respcondition> element to set the score. With simple multiple choice only one correct answer is allowed and it should set SCORE to 100. All other answers should set SCORE to 0. With multiple response only all or nothing scoring is supported.
The <conditionvar> element is used to establish the conditions for each scoring possibility. Simple multiple choice will use a structure like <varequal respident="response_1">answer_1</varequal>.
Multiple response questions can represent all-or-nothing scoring as follows:
<conditionvar>
<and>
<varequal respident="response_1" case="Yes">answer_1</varequal>
<not>
<varequal respident="response_1" case="Yes">answer_2</varequal>
</not>
<varequal respident="response_1" case="Yes">answer_3</varequal>
<varequal respident="response_1" case="Yes">answer_4</varequal>
</and>
</conditionvar>
Fill-in-the-blank questions are not case sensitive on grading as indicated by setting the case attribute to "No" in the <varequal> element. Pattern match questions may optionally be case sensitive by setting case="Yes", but the default is NOT case sensitive. To check if a string is contained anywhere in the response we use the varsubstring condition which again may or may not be case sensitive, as follows:
<conditionvar>
<varsubstring respident="response_1" case="No">expected</varsubstring>
</conditionvar>
There should be a <displayfeedback> element contained within the <respcondition> element for feedback appropriate to the response. Feedback elements may be feedback for specific answers or feedback for all correct/incorrect answers, as determined by the conditionvar case. However if any feedback is specified, both types of feedback (answer level and correct/incorrect) are required.
<itemfeedback> elements with required ident attribute, corresponding to any references placed in <respcondition> elements, are used to define the feedback for each case. Feedback text is contained in <material><mattext> structures.
General feedback is given as an unconditional feedback with continue flag on for further processing:
<respcondition continue="Yes">
<displayfeedback feedbacktype="Response" linkrefid="general_fb" />
</respcondition>
<respcondition>
<conditionvar>
<varequal respident="response_1">answer_1</varequal>
</conditionvar>
<setvar action="Set" varname="SCORE">0</setvar>
<displayfeedback feedbacktype="Response" linkrefid="answer_1_fb" />
<displayfeedback feedbacktype="Response" linkrefid="incorrect_fb" />
</respcondition>
Note that answer-specific and correct/incorrect feedback must be provided together, or not at all. If one is present, the other must be also.
<itemfeedback ident="hint">
<hint>
<hintmaterial>
<material>
<mattext texttype="text/html"><![CDATA[This is a hint]]></mattext>
</material>
</hintmaterial>
</hint>
</itemfeedback>
<itemfeedback ident="solution">
<solution>
<solutionmaterial>
<material>
<mattext texttype="text/html"><![CDATA[here is the sample solution]]></mattext>
</material>
</solutionmaterial>
</solution>
</itemfeedback>
Common Cartridge supports only one role of assessment which maps to the IMS concept of `Examination' (as defined by the QTI meta-data attribute `qmd_assessmenttype').
An assessment must contain a single section which contains all questions delivered by the assessment. Multiple sections and references to questions in an object bank are not supported.
An assessment does support the use of a number of meta-data attributes which can carry additional delivery information about the assessment such as maximum attempts and time limit. These are defined in the profile.
The Common Cartridge supports profiles of the following question types:
The profiles for each of these question types describe how they support:
In addition, questions support a number of meta-data attributes which describe:
Instances of these questions may be included in an assessment or a question bank.
CC supports both Yes/No and Distractor feedback from QTI. Platforms must support one or the other, cartridges can either omit or must provide both.
The CC question bank profiles the use of the QTI object bank. A question bank represents a collection of questions that are associated with a particular learning context, but not used within it. The question bank allows for the exchange of questions to a target LMS. Both the representation of a question bank, and how questions are utilized once the cartridge has been imported into the LMS are LMS specific. Assessments within a package cannot reference questions contained within the question bank.
The behavior of an LMS in handling question banks is undefined.
Vocabularies refer to a set of string constants used to specify pre-defined values for meta-data elements. Typically these value sets are specified by the document that defines the meta-data element, such as the IEEE Learning Object Metadata or Dublin Core standards. Common Cartridge meta-data elements may extend or replace vocabularies with new sets that describe the content included in the package.
For example, the lifeCycle.contributor.role element may be specified to include values from the following set:
Where meta-data vocabularies are extended or replaced for use in Common Cartridge descriptions, an IMS Vocabulary Definition and Exchange (VDEX) document is required to define the new or extend vocabulary. See http://www.imsglobal.org/vdex/index.html for information on the IMS-VDEX-1.0 specification.
Common Cartridge vocabularies are fixed and may not be replaced, extended, or modified.
A convention could be utilized based on some form of UID to prevent collisions with user generated web content folder names. Additionally, a subdirectory may be created to contain all Learning Application Object directories to further reduce the risk of collisions between Learning Application Object directories and those in the web content.
Extensions for accessibility supported in Content Packaging v1.2 have been incorporated into the schema for Common Cartridge v1.0. However, whilst these extensions are provided for use by those wishing to provide accessibility features, their use and implementation is not mandated for general use and they will not be addressed in any conformance tests developed.
For guidance on use of the accessibility extensions, see the Content Packaging v1.2 specification.
Resource 0004 (Associated Content Resource for Resource 0003) |
Resource 0007 (Associated Content Resource for Resource 0006) |
Resource 0004 (Associated Content Resource for Resource 0003) |
Resource 0007 (Associated Content Resource for Resource 0006) |
Provide comprehensive information about the course and its content, including, but not limited to:
Specialized coding, such as custom JavaScript modules, may work beautifully in one LMS/CMS environment, but may not work at all in another. Avoid it.
Use consistent file naming, with shorter file names wherever possible.
Avoid the use of glyphs, such as curly or typographer's quotation marks, which may not render properly in some platforms. Unfortunately, curly quotes is a default setting in MS Word. When this feature is active, straight quotation marks are automatically changed to curly quotes while typing. Disable it when authoring content for the Common Cartridge.
Always keep course size in mind when designing and building a course. If any modules or features are repeated throughout the course, place them in a section that can hold these common elements. Doing this can dramatically cut down on the size of the cartridge. Optimally, a course should not be larger than 100 MB. Better yet, whenever possible, put larger, commonly-used files on a server, external to the course, and link to them there.
Large files (such as PPT, Word/Excel, PDFs, movies and other media) generally should not be included within a course. Anything loaded within the course will tend to enlarge the course size and this will increase the time to download a course. When multiple instances of a course are installed on a server to support multiple sections, significant server space may be needlessly consumed with redundant content. Content stored on external servers will need to be made available to course users, though. For publishers, this will likely mean hosting content on a server that is globally accessible from the Internet. For a locally-produced university course, this may mean hosting content on a server accessible by the intended users - wherever they are, inside or outside of the university firewall.
Some platforms support multiple correct answers, while others may not. Some CMS support tutorial mode - where questions are presented one at a time - while others may not. Some systems may re-order questions. Some systems may support hints or feedback, but that feedback is generally for right or wrong answers and rarely support individualized feedback for each specific answer. Develop questions that will work on all platforms.
Develop assessments that the Common Cartridge currently supports:
See the Common Cartridge specifications for more information about the individual question types.
An assessment may include a reading, image, hyperlink to another website, or a set of instructions at the top of the quiz that are needed for the student to answer the questions. Decide how to handle these questions. The information can be included in each question, or the question can include a link to it.
Try to keep the quizzes in a course to a reasonable number. Otherwise, an instructor may encounter problems when using the course gradebook.
It is planned to include a further Learning Tools Interoperability resource type in CC when the LTI specification has been finalized.
The IMS Content Packaging specification v1.2 is to be augmented with guidance on how to namespace in accessibility meta-data. It is intended that CC practice will follow the same approach, hence users wishing to implement support for accessibility should follow the CPv1.2 guidance.
The IMS CC K12 group is currently compiling recommendations for additional features for CC required by the K12 community. These will be considered for inclusion in the next and subsequent releases of CC.
The Common Cartridge schema which profiles the CPv1.2 schema and the schemas which profile CC usage of LOM Metadata v1.0 and QTI v1.2.1 have been defined using the IMS SchemaProf tool v1.0. The tool produces a set of derived schemas, corresponding to the CC schema and its profiled auxiliary schemas, against which any cartridge must validate.
SchemaProf also allows the application of additional constraints which further constrain how CC may be used. These encompass:
To be deemed to comply with the CC specification, cartridges must:
IMS GLC will distribute a self-test tool to enable implementers to test their cartridges for compliance with the specification. Visit http://www.imsglobal.org/cc/alliance.html to access the latest version of the tool and its documentation.
In addition to meeting the other conformance requirements, protected cartridges must also meet the following requirements in order to achieve CC compliance:
The Common Cartridge supports profiles of the following question types:
The profiles for each of these question types describe how they support optional features such as:
In addition, questions support optional meta-data attributes which describe:
Section 4.10 describes the use of these features as they are supported by the CC profile of QTIv1.2.1. Cartridge implementers wishing to use these optional features must adhere to the CC QTI schema and cartridges will be tested for compliance. However, it should be noted that support for these optional features is not mandatory for CC compliant platforms. Thus it cannot be assumed that all optional QTI features harnessed in a cartridge will be supported by a given platform.
Appendix C lists the schema modifications and assertions imposed on the CC profile schema set. Appendix D lists the schematron rules applied to candidate cartridges. Note that these lists may be extended in the future and implementers are advised to access the most current list from: http://www.imsglobal.org/cc/alliance.html
No runtime model is defined for Common Cartridge, this being left as an issue for the implementer and therefore runtime behavior (in particular presentation) will differ across platforms.
A test data set of cartridges has been constructed for evaluating platform compliance as is described below.
Platform vendors are required to assess compliance by self-inspection using the available test data set corresponding to the version of CC that they have implemented.
Full implementation of the CC Authorization service is not a requirement for `CC lite' compliance. However, only platforms which meet the conformance requirements of the CC specification and which either:
can claim `CC lite' compliance. It should be noted that systems which only support proprietary authorization will not be able to run cartridges which only include the open CC Authorization meta-data, hence their designation as being `CC lite' compliant.
All systems must at least respect the implied restrictions placed on content as indicated by the CC Authorization meta-data that may exist in a cartridge. If a system that does not implement the CC Authorization service encounters a common cartridge that includes CC Authorization meta-data, the system must not import the cartridge. Instead the system should abort the import of the cartridge with an indication of the reason provided through an appropriate mechanism. If the import operation is interactive, a message should be displayed directly to the user. If the import operation is a batch or automated process, notification should be logged with any audit data provided.
The CC Authorization service is intended to provide an alternative to existing proprietary models for controlling access to content via an access code redemption model. However, the Common Cartridge specification also allows the inclusion of additional proprietary authorization information so that proprietary authorization models may be implemented alongside the standard CC Authorization model.
Section 4.9 describes the use of optional QTI features as they are supported by the CC profile of QTIv1.2.1. LMS platforms must support the six basic question types, but it is not mandated that an LMS platform must support any of these optional features. Thus when a compliant platform encounters such optional features included in a cartridge, the platform is at liberty to ignore any which it does not implement.
The IMS QTI specification offers great flexibility for implementers to select those features they wish to support or are required by their users. Given the present variability in existing QTI implementations, it is not feasible at this stage to mandate that all platforms must support all optional features associated with the supported question types.
The LMS vendor will conduct a self-administered test, based on the CC test data set. The platform must correctly import, store and deliver all of the examples in the test data set.
The following guidelines are offered for testing import of Common Cartridges into an LMS:
A test data set of cartridges is available to members of the CC Alliance to enable self-testing of platforms for CC compliance. The test data set is comprised of two sets of example cartridges:
Implementers requiring access to the test data set should visit: http://www.imsglobal.org/cc/jointhealliance.cfm
The Common Cartridge profile schema and auxiliary schemas are located at: http://www.imsglobal.org/profile/cc/ccv1p0/
The following table lists the namespaces applied to the CC profile, each with the corresponding physical location for the actual schema.
Appendix B - Profile Schema Package
The full set of files that define the Common Cartridge Application Profile are available as ccv1p0.zip.
The following files are located in the root directory of the zip-file:
There are also a number of subdirectories off the root, each containing a zip-file of an auxiliary profile as follows:
These profiles are provided for inspection with the IMS SchemaProf tool.
Finally, the /derived_schema subdirectory contains the profiled XML schemas and Schematron rules. Only the files within this directory are used by the IMS Common Cartridge Test System. The derived schemas have names of the form _localised.xsd while the files containing the derived Schematron rules have names ending in _constraintsDocument.scmt.
The derived data for the IMS Content Packaging Profile is located immediately in the directory derived_schema. The data for the auxiliary profiles are in the subdirectories named domainProfile_0,, domainProfile_6.
The file derived_schema/config.xml maps the namespaces specified in the Common Cartridge profile to the locations of the derived data (i.e. below the /derived_schema directory) defining the respective namespace.
/derived_schema/domainProfile_0/ |
|
/derived_schema/domainProfile_3/imscp_extensionv1p2_localised.xsd |
|
/derived_schema/domainProfile_4/ims_qtiasiv1p2_localised.xsd |
|
The Common Cartridge schema package defines the file locations for the namespaced profile schemas in the file /derived_schema/config.xml
The auxiliary profiles are situated in the profile_0..6 subdirectories of the unzipped profile. They can be directly loaded as zip with SchemaProf for inspection.
The derived schemas and Schematron rules used for testing are in the subdirectory derived_schema.
/derived_schema/config.xml maps namespaces to the locations of the derived schemas where they are defined.
Appendix C - CC Changes to Profiled Base Schemas
C1 - Application Profile Modifications to Content Packaging v1.2 Schema
In the CC schema package ccv1p0.zip the file /imscc_c1p2maeV0p15.xml documents the modifications made to the CPv1.2 schema for the CC profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8" ?>
- <sp:schema_mod baseSchema="imscp_v1p2.xsd" level="restrictive" profileNamespace="http://www.imsglobal.org/xsd/imscc/imscp_v1p1" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:ac="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" xmlns:sp="http://iwm.uni-koblenz.de/xsd/ims_apv1p6" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://iwm.uni-koblenz.de/xsd/ims_apv1p6 http://iwm.uni-koblenz.de/xsd/ims_apv1p6">
<sp:documentation category="general" xml:lang="en">This profile of IMS Content Packaging is based on the status of the Common Cartridge Specification as of June 30, 2008. It has been created by Ingo Dahn.</sp:documentation>
<sp:documentation category="name" xml:lang="en">IMS Common Cartridge Application Profile</sp:documentation>
<sp:documentation category="scope" xml:lang="en">This profile combines profiles of IMS Content Packaging 1.2 and IEEE LOM. Moreover the IMS Common Cartridge Authorization Schema has been added as a profile. The IMS Common Cartridge profile of QTI 1.2 has been added manually.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='Dependency.Type']">
- <sp:assertion cnd="cnd9" subelement="./xs:attribute[@name='identifierref']">
<sp:documentation category="explanation" xml:lang="en">A Resource object which is a Learning Object Web Content may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)</sp:documentation>
<sp:test>current() = /manifest/resources/resource[@type='webcontent']/@identifier</sp:test>
- <sp:modification element="/xs:schema/xs:complexType[@name='Item.Type']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">Every Item object with the exception of the root Item must contain a Title object.</sp:documentation>
- <sp:cardinality maxOccurs="unbounded" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">An item which represents a folder must not have subitems. This is encoded as an assertion at item/@identifierref</sp:documentation>
- <sp:assertion subelement="./xs:attribute[@name='identifierref']">
<sp:documentation category="explanation" xml:lang="en">An Item object which represents a folder is indicated by the absence of an IdentifierRef characteristic object. Folder Items support unlimited nesting of other folder Items and learning object link Items. Learning Application Resource Item objects may be nested by folder Item object but may not nest other folder or Learning Application resource Item objects.(#S04)</sp:documentation>
<sp:test>count(../item)=0</sp:test>
- <sp:attribute_properties subelement="./xs:attribute[@name='isvisible']" type="NoIsVisible" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">The use of the isvisible attribute of the item element is prohibited. Instead, roles should be used to determine resources which are for instructors only.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='parameters']" type="NoParameters" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">Parameters characteristic object of Item is prohibited by Common Cartridge</sp:documentation>
- <sp:assertion cnd="cnd1" subelement=".">
<sp:documentation category="explanation" xml:lang="en">If an item is invisible, its descendants must be invisible too.(#S02)</sp:documentation>
<sp:test>count(./item)=count(./item[@isvisible='false'])</sp:test>
- <sp:modification element="/xs:schema/xs:complexType[@name='Manifest.Type']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">The metadata element must be present at the manifest level.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">A manifest in an IMS Common Cartridge cannot contain submanifests.</sp:documentation>
- <sp:modification element="./xs:sequence[1]/xs:group[1]">
<sp:element_extension maxOccurs="unbounded" minOccurs="0" profile="profile_0/imscc_a.zip" subelement="./xs:sequence[1]/xs:any[1]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='ManifestMetadata.Type']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">The schema element must be present in metadata at manifest level.</sp:documentation>
- <sp:modification element="./xs:sequence[1]/xs:element[1]">
- <sp:attribute_properties fixed="IMS Common Cartridge" subelement="." type="schemaFixed">
<sp:documentation category="explanation" xml:lang="en">The schema element of the metadata at the manifest level must have the value 'IMS Common Cartridge'</sp:documentation>
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">The schemaversion element of the metadata at the manifest level must be present.</sp:documentation>
- <sp:modification element="./xs:sequence[1]/xs:element[2]">
- <sp:attribute_properties fixed="1.0.0" subelement="." type="schemaversionFixed">
<sp:documentation category="explanation" xml:lang="en">The schemaversion element of the metadata at the manifest level must have the value '1.0.0'.</sp:documentation>
- <sp:modification element="./xs:sequence[1]/xs:group[1]">
- <sp:element_extension maxOccurs="unbounded" minOccurs="0" profile="profile_2/imscc_m.zip" subelement="./xs:sequence[1]/xs:any[1]">
<sp:documentation category="explanation" xml:lang="en">At the manifest level, the Common Cartridge profile of IEEE LOM loose must be used, which corresponds to unqualified Dublin Core.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='Metadata.Type']">
- <sp:modification element="./xs:sequence[1]/xs:group[1]">
- <sp:element_extension maxOccurs="unbounded" minOccurs="0" profile="profile_3/imscc_mR.zip" subelement="./xs:sequence[1]/xs:any[1]">
<sp:documentation category="explanation" xml:lang="en">For the metadata at the resource level IEEE LOM must be used. Roles of 'Learner' and 'Instructor' can be used as 'intendedEndUserRole'.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='Organization.Type']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">A cartridge with a folder Organization should always be rooted on a single Item container object. It is not permissible to have two sibling Item containers below the Organization. The root Item container object just represents the root node of the Organization tree and has no other semantic or presentational meaning.</sp:documentation>
- <sp:modification element="./xs:sequence[1]/xs:element[2]">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">The root item element must not contain a Title value object.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='identifierref']" type="NoIdentifierRef" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">The root <item> element must not be a Learning Object Item.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='parameters']" type="NoParameter" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">Parameters characteristic object of Item is prohibited by CC</sp:documentation>
- <sp:attribute_properties fixed="rooted-hierarchy" subelement="./xs:attribute[@name='structure']" type="rootedHierarchy" use="required">
<sp:documentation category="explanation" xml:lang="en">The Organization object must contain a Structure characteristic object with the value rooted-hierarchy.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='Organizations.Type']">
- <sp:cardinality maxOccurs="1" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">The folder content type is represented by the IMS Organizations container object type. A common cartridge may have a single Organization or no Organization. Only 'Learner Experience' resources may be included in the <organization> hierarchy. Operational data (authentication, cartridge-level metadata) are defined via discrete resource types within the package. Supplemental resources must not appear in the organization. The LMS provides a way for the instructor/facilitator to inspect/deploy/utilize these resources as they see fit.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='default']" type="defaultOrganizationProhibited" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">The Default characteristic of the Organizations object is prohibited as it has no meaning in Common Cartridge.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='Resource.Type']">
- <sp:cardinality maxOccurs="unbounded" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">The number of files must be 1 for some resource types. This is defined as an assertion for Resource.Type</sp:documentation>
- <sp:cardinality maxOccurs="unbounded" minOccurs="0" subelement="./xs:sequence[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">Dependencies are not allowed or mandatory for certain resource types. This is defined at the Resource.Type.</sp:documentation>
- <sp:assertion cnd="cnd0" subelement="./xs:sequence[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">A Resource object which is a Discussion Topic associated resource may contain Dependency objects which reference Resource objects with Type 'webcontent' or 'associatedcontent/imscc_xmlv1p0/learning-application-resource'.(#S12)</sp:documentation>
<sp:test>current()/@identifierref = /manifest/resources/resource[@type='webcontent']/@identifier or current()/@identifierref = /manifest/resources/resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier</sp:test>
- <sp:assertion cnd="cnd14" subelement="./xs:sequence[1]/xs:element[3]">
<sp:test>current()/@identifierref = /manifest/resources/resource[@type='webcontent']/@identifier</sp:test>
- <sp:assertion cnd="cnd16" subelement="./xs:sequence[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">A Resource object which is an assessment may contain Dependency objects which reference Resource objects with Type 'webcontent' or 'associatedcontent/imscc_xmlv1p0/learning-application-resource'.(#S14)</sp:documentation>
<sp:test>(current()/@identifierref = /manifest/resources/resource[@type='webcontent']/@identifier) or (current()/@identifierref = /manifest/resources/resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier)</sp:test>
<sp:attribute_properties subelement="./xs:attribute[@name='type']" type="predefinedContentTypes" />
- <sp:attribute_properties subelement="./xs:attribute[@name='href']">
<sp:documentation category="explanation" xml:lang="en">For some resource types the href attribute is mandatory or prohibited. This is defined at Resource.Type.</sp:documentation>
- <sp:attribute_extension profile="profile_1/imscc_e.zip profile_0/imscc_a.zip" subelement="./xs:anyAttribute[1]">
<sp:documentation category="explanation" xml:lang="en">If authorization is applied to individual resources within the cartridge rather than the cartridge as a whole, this can be specified using the Protected characteristic which is an extension characteristic applied to the Resource object. At the extension point of the Resource.Type also the variant element of the content packaging extension schema is allowed.</sp:documentation>
- <sp:assertion cnd="cnd10" subelement=".">
<sp:documentation category="explanation" xml:lang="en">If a cartridge web content or associated content resource is linked from a Learning Application Object link Item object it must have an Href characteristic object which represents the launchable resource.(#S05)</sp:documentation>
<sp:test>count(./@href)=1</sp:test>
- <sp:assertion cnd="cnd2" subelement=".">
<sp:documentation category="explanation" xml:lang="en">For Discussion Topic Resources the Resource object must contain a single File object which references the Discussion Topic descriptor XML file which conforms to the http://www.imsglobal.org/xsd/imsdt_v1p0 schema. It must not have any href attribute.(#S06)</sp:documentation>
<sp:test>count(./file)=1 and count(./@href)=0</sp:test>
- <sp:assertion cnd="cnd3" subelement=".">
<sp:documentation category="explanation" xml:lang="en">For Web Link Resources the Resource object must contain a single File object which references the Web Link descriptor XML file which conforms to the http://www.imsglobal.org/xsd/imswl_v1p0 schema. It must contain neither Dependency objects nor an href attribute.(#S07)</sp:documentation>
<sp:test>count(./file)=1 and count(./dependency)=0 and count(./@href)=0</sp:test>
- <sp:assertion cnd="cnd7" subelement=".">
<sp:documentation category="explanation" xml:lang="en">For Assessment or Question Bank Resources the Resource object must contain a single File object which references the QTI XML file. This file must conform to the IMS CC profile of QTI 1.2.1. The profile is contained in the package of this profile as imscc_q*.xdm. The derived schema of this QTI profile is in the package of this profile with the name ims_qtiasiv1p2_localised.xsd. The resource must not have an href attribute(#S11)</sp:documentation>
<sp:test>count(./file)=1 and count(./@href)=0</sp:test>
- <sp:modification element="/xs:schema/xs:group[1]">
- <sp:element_extension maxOccurs="0" minOccurs="0" namespace="##other" subelement="./xs:sequence[1]/xs:any[1]">
<sp:documentation category="explanation" xml:lang="en">Deactivating all extension points except where explicitly allowed.</sp:documentation>
<sp:condition id="cnd14" name="InAssociatedContent">../@type='associatedcontent/imscc_xmlv1p0/learning-application-resource'</sp:condition>
<sp:condition id="cnd16" name="InAssessment">../@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment'</sp:condition>
<sp:condition id="cnd11" name="Resource is Web Content or Associated Content">(../@type='webcontent' or ../@type='associatedcontent/imscc_xmlv1p0/learning-application-resource')</sp:condition>
<sp:condition id="cnd10" name="Referenced Resource is Web Content or Associated Content and is referenced from an Item">(./@type='webcontent' or ./@type='associatedcontent/imscc_xmlv1p0/learning-application-resource') and ./@identifier = //item/@identifierref</sp:condition>
<sp:condition id="cnd13" name="Resource is Question Bank">../@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'</sp:condition>
<sp:condition id="cnd12" name="true">true</sp:condition>
<sp:condition id="cnd8" name="Associated Content, Discussion Topic, Assessment or Question Bank">../@type='associatedcontent/imscc_xmlv1p0/learning-application-resource' or ../@type='imsdt_xmlv1p0' or ../@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment' or ../@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'</sp:condition>
<sp:condition id="cnd7" name="Assessment or Question Bank">(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment') or (./@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank')</sp:condition>
<sp:condition id="cnd3" name="Web Link">./@type='imswl_xmlv1p0'</sp:condition>
<sp:condition id="cnd2" name="Discussion Topic">./@type='imsdt_xmlv1p0'</sp:condition>
<sp:condition id="cnd1" name="Invisible">@isvisible='false'</sp:condition>
<sp:condition id="cnd9" name="Associated Content (context: dependeny-element)">../../@type='associatedcontent/imscc_xmlv1p0/learning-application-resource'</sp:condition>
<sp:condition id="cnd0" name="InDiscussionTopic">../@type='imsdt_xmlv1p0'</sp:condition>
- <xs:simpleType name="NoIdentifierRef">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="NoIsVisible">
- <xs:restriction base="xs:boolean">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="NoParameter">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="NoParameters">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="OptionalHref">
- <xs:restriction base="xs:anyURI">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="ProhibitedHref">
- <xs:restriction base="xs:anyURI">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="RequiredHref">
- <xs:restriction base="xs:anyURI">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="defaultOrganizationProhibited">
- <xs:restriction base="xs:IDREF">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="isNotVisible">
- <xs:restriction base="xs:boolean">
<xs:whiteSpace value="collapse" />
- <xs:simpleType name="predefinedContentTypes">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="imsdt_xmlv1p0" />
<xs:enumeration value="imswl_xmlv1p0" />
<xs:enumeration value="webcontent" />
<xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p0/assessment" />
<xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p0/question-bank" />
<xs:enumeration value="associatedcontent/imscc_xmlv1p0/learning-application-resource" />
- <xs:simpleType name="rootedHierarchy">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="schemaFixed">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="schemaversionFixed">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <ac:fileConstraint constrID="imsmanifest.xml exists">
- <ac:fileURI absolute="false">
<ac:documentation category="explanation" xml:lang="en">At the top level of the package there must be a file named imsmanifest.xml.</ac:documentation>
<ac:specific value="imsmanifest.xml" />
- <ac:fileConstraint constrID="Referenced files must exist">
- <ac:fileURI absolute="false" format="url">
<ac:documentation category="explanation" xml:lang="en">Referenced files must exist.</ac:documentation>
- <ac:constraintLocation location="/xs:schema/xs:complexType[@name='Resource.Type']">
<ac:constraintLocation location="./xs:attribute[@name='href']" />
C2 - Application Profile Modifications to the Content Packaging v1.2 Extension Schema
In the CC schema package ccv1p0.zip the zip-file /profile_1/imscc_e.zip contains the file imscc_e.xml which documents the modifications made to the CPv1.2 extension schema for the CC profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8" ?>
- <sp:schema_mod baseSchema="imscp_extensionv1p2.xsd" level="restrictive" profileNamespace="http://www.imsglobal.org/xsd/imscp_extensionv1p2" xmlns="http://www.imsglobal.org/xsd/imscp_extensionv1p2" xmlns:ac="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" xmlns:sp="http://iwm.uni-koblenz.de/xsd/ims_apv1p6" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://iwm.uni-koblenz.de/xsd/ims_apv1p6 http://iwm.uni-koblenz.de/xsd/ims_apv1p6">
<sp:documentation category="general" xml:lang="en">This profile of the extension schema of IMS CP 1.2 restricts extensions to use the variant element only.</sp:documentation>
- <sp:modification element="/xs:schema/xs:element[1]">
- <sp:assertion subelement=".">
<sp:documentation category="explanation" xml:lang="en">ipointer ist not allowed in Common Cartridges</sp:documentation>
<sp:test>local-name(.) != 'ipointer'</sp:test>
- <sp:modification element="/xs:schema/xs:element[3]">
- <sp:assertion subelement=".">
<sp:documentation category="explanation" xml:lang="en">lingualTitle is not allowed in Common Cartridges.</sp:documentation>
C3 - Application Profile Modifications to IEEE LOM V1.0 Loose Schema for Cartridge Meta-data (Unqualified Dublin Core)
In the CC schema package ccv1p0.zip the zip-file /profile_2/imscc_m.zip contains the file imscc_m.xml which documents the modifications made to the IEEE Loose schema for the CC Cartridge Metadata profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8" ?>
- <sp:schema_mod baseSchema="lomLoose.xsd" level="restrictive" profileNamespace="http://ltsc.ieee.org/xsd/imscc/LOM" xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:ac="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" xmlns:ag="http://ltsc.ieee.org/xsd/LOM/unique" xmlns:ex="http://ltsc.ieee.org/xsd/LOM/extend" xmlns:sp="http://iwm.uni-koblenz.de/xsd/ims_apv1p6" xmlns:voc="http://ltsc.ieee.org/xsd/LOM/vocab" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://iwm.uni-koblenz.de/xsd/ims_apv1p6 http://iwm.uni-koblenz.de/xsd/ims_apv1p6">
<sp:documentation category="conformance" xml:lang="en">This profile restricts 'IEEE LOM 1.0 loose' to the elements needed to cover unqualified Dublin Core. dc:contributor, dc:creator, dc:publisher map to lifeCycle.contribute.entity with appropriate value of lifeCycle.contribute.role, dc:coverage maps to general.coverage, dc:date maps to lifeCycle.contribute.date, dc:description maps to general.description, dc:format maps to technical.format, dc:identifier maps to general.identifier, dc:language maps to general.language, dc:relation maps to Relation, dc:rights maps to Rights, dc:source is not mapped, dc:subject maps to general.keyword (see also classification.keyword), dc:title maps to general.title dc:type maps to Educational.learningResourceType</sp:documentation>
<sp:documentation category="scope" xml:lang="en">This profile is used within the Common Cartridge specification.</sp:documentation>
<sp:documentation category="name" xml:lang="en">IMS Common Cartridge profile of IEEE LOM V1.0 loose for unqualified Dublin Core</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='classification']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[5]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='contribute']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[4]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/vocabTypes.xsd" element="/xs:schema/xs:complexType[@name='copyrightAndOtherRestrictionsVocab']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/vocabTypes.xsd" element="/xs:schema/xs:complexType[@name='costVocab']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='educational']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">interactivityType is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">interactivityLevel is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[4]">
<sp:documentation category="explanation" xml:lang="en">semanticDensity is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[5]">
<sp:documentation category="explanation" xml:lang="en">intendedEndUserRole is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[6]">
<sp:documentation category="explanation" xml:lang="en">Context is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[7]">
<sp:documentation category="explanation" xml:lang="en">typicalAgeRange is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[8]">
<sp:documentation category="explanation" xml:lang="en">difficulty is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[9]">
<sp:documentation category="explanation" xml:lang="en">typicalLearningTime is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[10]">
<sp:documentation category="explanation" xml:lang="en">description is unused in educational context.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[11]">
<sp:documentation category="explanation" xml:lang="en">language unused in technical context, only in general context.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[12]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='general']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[7]">
<sp:documentation category="explanation" xml:lang="en">General.structure is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[8]">
<sp:documentation category="explanation" xml:lang="en">General.aggregationLevel is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[9]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='identifier']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/vocabTypes.xsd" element="/xs:schema/xs:complexType[@name='kindVocab']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/dataTypes.xsd" element="/xs:schema/xs:complexType[@name='LanguageString']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='learningResourceType']">
- <sp:modification element="./xs:complexContent[1]/xs:extension[1]">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/vocabTypes.xsd" element="/xs:schema/xs:complexType[@name='learningResourceTypeValue']">
- <sp:attribute_properties fixed="IMS Common Cartridge" subelement="./xs:simpleContent[1]" type="ImsCCType">
<sp:documentation category="explanation" xml:lang="en">learningResourceType must be 'IMS Common Cartridge'</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='lifeCycle']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">liveCycle.version is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[2]">
<sp:documentation category="explanation" xml:lang="en">lifeCycle.status is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[4]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='lom']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">metaMetadata is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[8]">
<sp:documentation category="explanation" xml:lang="en">lom.annotation is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[10]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/vocabTypes.xsd" element="/xs:schema/xs:complexType[@name='purposeVocab']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[1]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='relation']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='resource']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='rights']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[4]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='taxon']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='taxonPath']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='technical']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[2]">
<sp:documentation category="explanation" xml:lang="en">technical.size is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[3]">
<sp:documentation category="explanation" xml:lang="en">technical.location is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[4]">
<sp:documentation category="explanation" xml:lang="en">technical.requirement is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[5]">
<sp:documentation category="explanation" xml:lang="en">technical.installationRemarks is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[6]">
<sp:documentation category="explanation" xml:lang="en">technical.otherPlatformRequirements is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[7]">
<sp:documentation category="explanation" xml:lang="en">technical.duration is unused.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:group[8]">
<sp:documentation category="explanation" xml:lang="en">No custom elements are allowed.</sp:documentation>
- <xs:simpleType name="ImsCCType">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
C4 - Application Profile Modifications to IEEE LOM V1.0 Loose Schema for Roles Meta-data
In the CC schema package ccv1p0.zip the zip-file /profile_3/imscc_mR.zip contains the file imscc_mR.xml which documents the modifications made to the IEEE Loose schema for the CC Roles Metadata profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8" ?>
- <sp:schema_mod baseSchema="lomLoose.xsd" level="restrictive" profileNamespace="http://ltsc.ieee.org/xsd/imsccMR/LOM" xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:ac="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" xmlns:ag="http://ltsc.ieee.org/xsd/LOM/unique" xmlns:ex="http://ltsc.ieee.org/xsd/LOM/extend" xmlns:sp="http://iwm.uni-koblenz.de/xsd/ims_apv1p6" xmlns:voc="http://ltsc.ieee.org/xsd/LOM/vocab" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://iwm.uni-koblenz.de/xsd/ims_apv1p6 http://iwm.uni-koblenz.de/xsd/ims_apv1p6">
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='context']">
- <sp:modification element="./xs:complexContent[1]/xs:extension[1]">
- <sp:modification element="./xs:choice[1]/xs:element[1]">
- <sp:attribute_properties subelement="./xs:simpleContent[1]" type="SourceIEELOM">
<sp:documentation category="explanation" xml:lang="en">The source for a context object is fixed to 'LOMv1.0'</sp:documentation>
- <sp:modification element="./xs:choice[1]/xs:element[2]">
- <sp:attribute_properties subelement="./xs:simpleContent[1]" type="HEContext">
<sp:documentation category="explanation" xml:lang="en">The value of context is fixed to 'higher education'.</sp:documentation>
- <sp:modification baseSchema="common/elementTypes.xsd" element="/xs:schema/xs:complexType[@name='intendedEndUserRole']">
- <sp:modification element="./xs:complexContent[1]/xs:extension[1]">
- <sp:modification element="./xs:choice[1]/xs:element[1]">
- <sp:attribute_properties subelement="./xs:simpleContent[1]" type="RoleVocab">
<sp:documentation category="explanation" xml:lang="en">The vocabulary for intendedEndUserRole is 'IMSGLC_CC_Rolesv1p0'.</sp:documentation>
- <sp:modification element="./xs:choice[1]/xs:element[2]">
- <sp:attribute_properties subelement="./xs:simpleContent[1]" type="RolesValues">
<sp:documentation category="explanation" xml:lang="en">Possible intendedEndUserRoles are only 'Learner' and 'Instructor'.</sp:documentation>
- <xs:simpleType name="SourceIEELOM">
- <xs:restriction base="voc:source">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="LOMv1.0" />
- <xs:simpleType name="HEContext">
- <xs:restriction base="voc:context">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="higher education" />
- <xs:simpleType name="RoleVocab">
- <xs:restriction base="voc:source">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="IMSGLC_CC_Rolesv1p0" />
- <xs:simpleType name="RolesValues">
- <xs:restriction base="voc:intendedEndUserRole">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="Learner" />
C5 - Application Profile Modifications to Question & Test Interoperability v1.2 Schema
In the CC schema package ccv1p0.zip the zip-file /profile_4/imscc_q.zip contains the file imscc_q.xml which documents the modifications made to the QTIv1.2 schema for the CC QTI profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8" ?>
- <sp:schema_mod baseSchema="ims_qtiasiv1p2.xsd" level="restrictive" profileNamespace="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:ac="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" xmlns:sp="http://iwm.uni-koblenz.de/xsd/ims_apv1p6" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://iwm.uni-koblenz.de/xsd/ims_apv1p6 http://iwm.uni-koblenz.de/xsd/ims_apv1p6">
<sp:documentation category="general" xml:lang="en">This is the profile of QTI 1.2 used for the Common Cartridge specification. The root element is 'questestinterop'.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='altmaterialType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">altmaterial must not contain qticomment element.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">altmaterial/mat_extension has been removed.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">In almaterial the lang attribute must be of type xs:language.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='andType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">and/and has been removed</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">and/or is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">and/unanswered is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">and/other is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[7]">
<sp:documentation category="explanation" xml:lang="en">and/varlt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[8]">
<sp:documentation category="explanation" xml:lang="en">and/varlte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">and/vargt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">and/vargte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">In and the element varsubset is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">In and the element varinside is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[13]">
<sp:documentation category="explanation" xml:lang="en">In and the element varsubstring is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[14]">
<sp:documentation category="explanation" xml:lang="en">In and the element durequal is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[15]">
<sp:documentation category="explanation" xml:lang="en">In and the element durlt is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[16]">
<sp:documentation category="explanation" xml:lang="en">In and the element durlte is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[17]">
<sp:documentation category="explanation" xml:lang="en">In and the element durgt is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[18]">
<sp:documentation category="explanation" xml:lang="en">In and the element durgte is not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='assessmentType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">The assessment must consist of only one section. Optional presentation material is also supported.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:cardinality maxOccurs="1" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In assessment qticomment is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">In assessment duration is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="1" minOccurs="0" subelement="./xs:sequence[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">In assessment qtimetadata is optional but may occur only once.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">In assessment objectives is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">In assessment assessmentcontrol is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[6]">
<sp:documentation category="explanation" xml:lang="en">In assessment rubric is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[8]">
<sp:documentation category="explanation" xml:lang="en">In assessment outcomes_processing is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">In assessment assesproc_extension is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">In assessment assessfeedback is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">In assessment selection_ordering is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">In assessment reference is not allowed.</sp:documentation>
<sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:choice[1]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In assessment sectionref is not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='conditionvarType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/not is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/or is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/unanswered is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[7]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/varlt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[8]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/varlte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/vargt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/vargte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/varsubset is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">conditionvar/varinside is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[14]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is durequal not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[15]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is durlt not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[16]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is durlt not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[17]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is durgt not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[18]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is durgte not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[19]">
<sp:documentation category="explanation" xml:lang="en">In conditionvar is var_extension not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='decvarType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='varname']" type="ScoreOnlyType">
<sp:documentation category="explanation" xml:lang="en">decvar/varname can only declare the variable SCORE</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='vartype']" type="DecimalIntegerOnly">
<sp:documentation category="explanation" xml:lang="en">In decvar the vartype attribute can take values Integer and Decimal only</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='defaultval']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">decvar@defautlval is prohibited</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='members']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">decvar@members is prohibited.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='cutvalue']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">decvar@cutvalue is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='flowType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[5]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[7]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[8]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">flow/response_extension is removed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='hintmaterialType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In hintmaterial the element material is not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='hintType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In hint the element qticomment is not allowed.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='feedbackstyle']" type="CompleteOnly">
<sp:documentation category="explanation" xml:lang="en">hint@feedbackstyle: The material is presented in the form of flow_mat only. The only form of feedback is 'Complete'.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='itemfeedbackType']">
- <sp:cardinality maxOccurs="unbounded" minOccurs="1" subelement="./xs:choice[1]">
<sp:documentation category="explanation" xml:lang="en">The itemfeedback structure is based on flow_mat only. material, solution and hint have been removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:choice[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">In itemfeedback material is not allowed.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='view']" type="AllOnlyValue">
<sp:documentation category="explanation" xml:lang="en">In itemfeedback the view attribute is fixed to 'All'.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='itemmetadataType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">itemmetadata can contain only qtimetadata.</sp:documentation>
- <sp:cardinality maxOccurs="unbounded" minOccurs="1" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">qtimetadata is mandatory within itemmetadata</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_computerscored is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_feedbackpermitted is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_hintspermitted is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_itemtype is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[6]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_levelofdifficulty is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[7]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_maximumscore is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[8]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_renderingtype is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_responsetype is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_scoringpermitted is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_solutionspermitted is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_status is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[13]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_timedependence is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[14]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_timelimit is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[15]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_toolvendor is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[16]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_topic is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[17]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_weighting is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[18]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_material is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[19]">
<sp:documentation category="explanation" xml:lang="en">In itemmetadata qmd_typeofsolution is not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='itemType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">An item can contain only itemmetadata, presentation, resprocessing and itemfeedback.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[4]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[5]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[6]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[7]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[10]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[12]" />
- <sp:attribute_properties subelement="./xs:attribute[@name='maxattempts']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In item the maxattempts attribute is prohibited.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='label']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In item the attribute label is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='matappletType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In matapplet the attribute entityref is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='matapplicationType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In matapplication the entityref attribute is prohibited</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='mataudioType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In mataudio the attribute embedded is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='matemtextType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">matemtext@lang must be of type xs:language.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">matemtext@entityref is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='materialType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">material/mat_extension is removed.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='label']" type="string256">
<sp:documentation category="explanation" xml:lang="en">In material is the length of attribute label limited to 256.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">In material the attribute lang must be of type language.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='matimageType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In matimage the attribute entityref is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='mattextType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">In mattext the value of attribute lang must be of type xs:language.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In mattext the attribute entityref is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='matvideoType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='entityref']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In matvideo the entityref attribute is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='notType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">not/and is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[2]">
<sp:documentation category="explanation" xml:lang="en">not/or is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[3]">
<sp:documentation category="explanation" xml:lang="en">not/not is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[4]">
<sp:documentation category="explanation" xml:lang="en">not/unanswered is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">not/other is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[7]">
<sp:documentation category="explanation" xml:lang="en">not/varlt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[8]">
<sp:documentation category="explanation" xml:lang="en">not/varlte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[9]">
<sp:documentation category="explanation" xml:lang="en">not/vargt is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[10]">
<sp:documentation category="explanation" xml:lang="en">not/vargte is removed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">In element not is varsubset not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">In element not is varinside not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[13]">
<sp:documentation category="explanation" xml:lang="en">In element not is varsubstring not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[14]">
<sp:documentation category="explanation" xml:lang="en">In element not is durequal not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[15]">
<sp:documentation category="explanation" xml:lang="en">In element not is durlt not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[16]">
<sp:documentation category="explanation" xml:lang="en">In element not is durlte not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[17]">
<sp:documentation category="explanation" xml:lang="en">In element not is durgt not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[18]">
<sp:documentation category="explanation" xml:lang="en">In element not is durgte not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='objectbankType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[1]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='orType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[11]">
<sp:documentation category="explanation" xml:lang="en">In or the element varsubset is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[12]">
<sp:documentation category="explanation" xml:lang="en">In or the element varinside is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[13]">
<sp:documentation category="explanation" xml:lang="en">In or the element varsubstring is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[14]">
<sp:documentation category="explanation" xml:lang="en">In or the element durequal is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[15]">
<sp:documentation category="explanation" xml:lang="en">In or the element durlt is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[16]">
<sp:documentation category="explanation" xml:lang="en">In or the element durlte is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[17]">
<sp:documentation category="explanation" xml:lang="en">In or the element durgt is not allowed.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[18]">
<sp:documentation category="explanation" xml:lang="en">In or the element durgte is not allowed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='outcomesType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">Outcomes: A single variable is permitted. This is "SCORE".</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]/xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">In outcomes there is a single variable 'SCORE' declared.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:sequence[1]/xs:element[2]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='presentation_materialType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='presentationType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">presentation has only subelements flow, material, response_lid, response_str.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:choice[1]/xs:element[3]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:choice[1]/xs:element[5]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:choice[1]/xs:element[6]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:choice[1]/xs:element[7]" />
- <sp:attribute_properties subelement="./xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">presentation@lang must be of type xs:language.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='qtimetadataType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In qtimetadata the vocabulary element has been removed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='questestinteropType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">qticomment is not allowed in questestinterop.</sp:documentation>
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:choice[1]">
<sp:documentation category="explanation" xml:lang="en">questtestinterop can contain only an object bank or an assessment, no sections or items.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='render_choiceType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='render_fibType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">render_fib/response_na has been removed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='respconditionType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">respcondition can contain only conditionvar, setvar and displayfeedback.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[5]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='response_labelType']">
- <sp:cardinality maxOccurs="unbounded" minOccurs="0" subelement="./xs:choice[1]">
<sp:documentation category="explanation" xml:lang="en">response_label can contain only material, material_ref and flow_mat.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[1]" />
- <sp:attribute_properties subelement="./xs:attribute[@name='rarea']" type="EclipseOnlyType">
<sp:documentation category="explanation" xml:lang="en">response_label@rarea must not be used. Will default to 'Eclipse'.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='rrange']" type="ExactOnlyType">
<sp:documentation category="explanation" xml:lang="en">response_label@rrange must not be used. Will default to 'Exact'.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='response_lidType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">response_lid supports only render_choice, render_fib and render_extension, material and material_ref.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[2]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[3]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">response_lid/render_extension has been removed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='response_strType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">response_str can have only subelements render_choice, render_fib and render_extension, material and material_ref.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[2]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[3]" />
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[2]/xs:element[5]">
<sp:documentation category="explanation" xml:lang="en">response_str/render_extension has been removed.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='resprocessingType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">resprocessing can have only outcomes and respcondition.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[2]" />
- <sp:attribute_properties subelement="./xs:attribute[@name='scoremodel']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">In resprocessing the scoremodel attribute is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='sectionType']">
- <sp:cardinality maxOccurs="1" minOccurs="1" subelement="./xs:sequence[1]">
<sp:documentation category="explanation" xml:lang="en">In section can only contain items. qticomment, duration, qtimetadata, objectives, sectioncontrol, sectionpostcondition, sectionprecondition, rubric, presentation_material, outcomes_processing, sectionproc_extension, sectionfeedback, selection_ordering, reference, itemref, sectionref, section are not allowed.</sp:documentation>
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[2]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[3]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[4]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[5]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[6]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[7]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[8]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[9]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[10]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[11]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[12]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[13]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[14]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[1]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[3]" />
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:choice[1]/xs:element[4]" />
- <sp:attribute_properties subelement="./xs:attribute[@ref='xml:lang']" type="xs:language">
<sp:documentation category="explanation" xml:lang="en">lang must be of type xs:language.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='setvarType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='action']" type="SetAddSubtractOnly">
<sp:documentation category="explanation" xml:lang="en">In setvar the action attribute can have only the values Set, Add and Subtract.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='solutionmaterialType']">
<sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:choice[1]/xs:element[1]" />
- <sp:modification element="/xs:schema/xs:complexType[@name='solutionType']">
- <sp:cardinality maxOccurs="0" minOccurs="0" subelement="./xs:sequence[1]/xs:element[1]">
<sp:documentation category="explanation" xml:lang="en">In solution qticomment is not allowed.</sp:documentation>
- <sp:attribute_properties subelement="./xs:attribute[@name='feedbackstyle']" type="CompleteOnly">
<sp:documentation category="explanation" xml:lang="en">In solution the feedbackstyle attribute can have only the value Complete.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='unansweredType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In unanswered the length of the respidient attribute is limited to 32.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='varequalType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">varequal@index is prohibited.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='vargteType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In vargte the length of the respidient attribute is limited to 32.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" type="string2">
<sp:documentation category="explanation" xml:lang="en">In vargte the length of the index attribute is limited to 2.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='vargtType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In vargt the length of the respidient attribute is limited to 32.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" type="string2">
<sp:documentation category="explanation" xml:lang="en">In vargt the length of the index attribute is limited to 2.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='varlteType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In varlte the length of the attribute respidient is limited to 32.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" type="string2">
<sp:documentation category="explanation" xml:lang="en">In varlte the length of the attribute index is limited to 2.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='varltType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In varlt the length of the respidient attribute is limited to 32.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" type="string2">
<sp:documentation category="explanation" xml:lang="en">In varlt the value of the index attribute is limited to 2.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='varsubsetType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='respident']" type="string32">
<sp:documentation category="explanation" xml:lang="en">In varsubset the length of the respidient attribute is limited to 32.</sp:documentation>
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" type="string2">
<sp:documentation category="explanation" xml:lang="en">In varsubset the length of the index attribute is limited to 2.</sp:documentation>
- <sp:modification element="/xs:schema/xs:complexType[@name='varsubstringType']">
- <sp:attribute_properties subelement="./xs:simpleContent[1]/xs:extension[1]/xs:attribute[@name='index']" use="prohibited">
<sp:documentation category="explanation" xml:lang="en">varsubstring@index is prohibited</sp:documentation>
- <xs:simpleType name="AllOnlyValue">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="All" />
<xs:enumeration value="Administrator" />
<xs:enumeration value="AdminAuthority" />
<xs:enumeration value="Assessor" />
<xs:enumeration value="Author" />
<xs:enumeration value="Candidate" />
<xs:enumeration value="InvigilatorProctor" />
<xs:enumeration value="Psychometrician" />
<xs:enumeration value="Scorer" />
<xs:enumeration value="Tutor" />
<xs:whiteSpace value="collapse" />
<xs:enumeration value="All" />
- <xs:simpleType name="CompleteOnly">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Complete" />
<xs:enumeration value="Incremental" />
<xs:enumeration value="Multilevel" />
<xs:enumeration value="Proprietary" />
<xs:whiteSpace value="collapse" />
<xs:enumeration value="Complete" />
- <xs:simpleType name="DecimalIntegerOnly">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Integer" />
<xs:enumeration value="String" />
<xs:enumeration value="Decimal" />
<xs:enumeration value="Scientific" />
<xs:enumeration value="Boolean" />
<xs:enumeration value="Enumerated" />
<xs:enumeration value="Set" />
<xs:whiteSpace value="collapse" />
<xs:enumeration value="Integer" />
<xs:enumeration value="Decimal" />
- <xs:simpleType name="DummyType">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="ScoreOnlyType">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
<xs:enumeration value="SCORE" />
- <xs:simpleType name="SetAddSubtractOnly">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Set" />
<xs:enumeration value="Add" />
<xs:enumeration value="Subtract" />
<xs:enumeration value="Multiply" />
<xs:enumeration value="Divide" />
<xs:whiteSpace value="collapse" />
<xs:enumeration value="Set" />
<xs:enumeration value="Add" />
<xs:enumeration value="Subtract" />
- <xs:simpleType name="string1024">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="string16">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="string2">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="string256">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="string32">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="string4">
- <xs:restriction base="xs:string">
<xs:whiteSpace value="preserve" />
- <xs:simpleType name="EclipseOnlyType">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Ellipse" />
<xs:enumeration value="Rectangle" />
<xs:enumeration value="Bounded" />
<xs:whiteSpace value="collapse" />
<xs:enumeration value="Ellipse" />
- <xs:simpleType name="ExactOnlyType">
- <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Exact" />
<xs:enumeration value="Range" />
<xs:whiteSpace value="collapse" />
Appendix D - CC Schematron Rules for the Profiled Content Packaging v1.2 Schema
The CC schema package ccv1p0.zip contains the file /derived_schema/imscp_v1p2_constraintsDocument.scmt which documents the schematron rules applied to the CPv1.2 schema for the CC CP profile. The contents of the file are reproduced below.
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.ascc.net/xml/schematron">
<ns prefix="xs" uri="http://www.w3.org/2001/XMLSchema" />
<ns prefix="xsd" uri="http://www.w3.org/2001/XMLSchema" />
<ns prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" />
<ns prefix="ac" uri="http://iwm.uni-koblenz.de/xsd/tel_addc_v1p1" />
<ns prefix="ims" uri="http://www.imsglobal.org/xsd/imscc/imscp_v1p1" />
<!--***********************************************************************************************-->
<!--** Constraints document - this document holds Schematron rules that have been generated from **-->
<!--** AP condition and assertion elements. IMPORTANT: If this document exists, it MUST be **-->
<!--** used in the validation of instances derived from the resultant schema - failure to do so **-->
<!--** can result in an instance that does not conform to either the base schema or the **-->
<!--** Application Profile. **-->
<!--***********************************************************************************************-->
<rule context="ims:manifest/ims:resources/ims:resource/ims:dependency">
<assert test="(not(../@type='associatedcontent/imscc_xmlv1p0/learning-application-resource')) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='webcontent']/@identifier)">Assertion failed for pattern_3. A Resource object which is a Learning Object associated resource may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)</assert>
<rule context="ims:manifest/ims:organizations/ims:organization//ims:item">
<assert test="count(./@identifierref)=0 or count(./ims:item)=0">Assertion failed for pattern_4. An Item object which represents a folder is indicated by the absence of an IdentifierRef characteristic object. Folder Items support unlimited nesting of other folder Items and learning object link Items. Learning Application Resource Item objects may be nested by folder Item object but may not nest other folder or Learning Application resource Item objects.(#S04)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not((./@type='webcontent' or ./@type='associatedcontent/imscc_xmlv1p0/learning-application-resource') and ./@identifier = //ims:item/@identifierref) or count(./@href)=1">Error: Assertion failed for pattern_5: If a cartridge web content or associated content resource is linked from a Learning Application Object link Item object it must have an Href characteristic object which represents the launchable resource.(#S05)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsdt_xmlv1p0') or (count(./ims:file)= 1 and count(./@href)=0)">Error: Assertion failed for pattern_5: For Discussion Topic Resources the Resource object must contain a single File object which references the Discussion Topic descriptor XML file which conforms to the http://www.imsglobal.org/xsd/imsdt_v1p0 schema. Discussion Topic resources must not contain href (#S06)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imswl_xmlv1p0') or (count(./ims:file) = 1 and count(./ims:dependency)=0 and count(./@href)=0)">Error: Assertion validation failed for pattern_7: For Web Link Resources the Resource object must contain a single File object which references the Web Link descriptor XML file which conforms to the http://www.imsglobal.org/xsd/imswl_v1p0 schema.It must contain neither Dependency objects nor an href attribute.(#S07)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment') or (count(./ims:file) = 1 and count(./@href)=0)">Error: Assertion validation failed for pattern_11a: For Assessment resources the Resource object must contain a single File object which references the QTI XML file. This file must conform to the IMS CC profile of QTI 1.2.1. The profile is contained in the package of this profile as imscc_q*.zip. The derived schema of this QTI profile is in the package of this profile with the name ims_qtiasiv1p2_localised.xsd. The resource must not have an href attribute(#S11a)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank') or (count(./ims:file) = 1 )">Error: Assertion validation failed for pattern_11b1: For Question Bank resources the Resource object must contain a single File object which references the QTI XML file. (#S11b1)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank') or (count(./@href)=0 )">Error: Assertion validation failed for pattern_11b2: A Question Bank Resource must not have an href attribute. (#S11b2)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank') or ( not(//ims:item[@identifierref]=./@identifier) )">Error: Assertion validation failed for pattern_11b3: A Question Bank Resource must not be referenced from an item. (#S11b3)</assert>
<rule context="ims:manifest/ims:resources/ims:resource">
<assert test="not(./@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank') or (count(//ims:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'])=1)">Error: Assertion validation failed for pattern_11b4: There can be only one Questionbank Resource in a cartridge.(#S11b4)</assert>
<rule context="ims:manifest/ims:resources/ims:resource/ims:dependency">
<assert test="(not(../@type='imsdt_xmlv1p0')) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='webcontent']/@identifier) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier)">Assertion failed for pattern_12. A Resource object which is a Discussion Topic associated resource may contain Dependency objects which reference Resource objects with Type 'webcontent' or 'associatedcontent/imscc_xmlv1p0/learning-application-resource'.(#S12)</assert>
<rule context="ims:manifest/ims:resources/ims:resource/ims:dependency">
<assert test="(not(../@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment')) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='webcontent']/@identifier) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier)">Assertion failed for pattern_14. A Resource object which is an assessment may contain Dependency objects which reference Resource objects with Type 'webcontent' or 'associatedcontent/imscc_xmlv1p0/learning-application-resource'.(#S14)</assert>
<rule context="ims:manifest/ims:resources/ims:resource/ims:dependency">
<assert test="(not(../@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank')) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='webcontent']/@identifier) or (current()/@identifierref = /ims:manifest/ims:resources/ims:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier)">Assertion failed for pattern_15. A Resource object which is a Question Bank may contain Dependency objects which reference Resource objects with Type 'webcontent' or 'associatedcontent/imscc_xmlv1p0/learning-application-resource'.(#S15)</assert>
This document has been approved by the IMS Technical Advisory Board and is made available for pubic adoption. |
|