From: stronk7
Date: Sun, 18 Oct 2009 21:36:22 +0000 (+0000)
Subject: MDL-20591 IMS CC Import: All the code (but its integration in restore) goes here...
X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=df73d19d195e4aebbdf35f7afdce4b8c58ea3cb1;p=moodle.git
MDL-20591 IMS CC Import: All the code (but its integration in restore) goes here. Great job, UVCMS! Merged from 19_STABLE
---
diff --git a/backup/cc/cc2moodle.php b/backup/cc/cc2moodle.php
new file mode 100755
index 0000000000..369f7f3d4d
--- /dev/null
+++ b/backup/cc/cc2moodle.php
@@ -0,0 +1,714 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+require_once($CFG->dirroot . '/backup/cc/entities.class.php');
+require_once($CFG->dirroot . '/backup/cc/entity.label.class.php');
+require_once($CFG->dirroot . '/backup/cc/entity.resource.class.php');
+require_once($CFG->dirroot . '/backup/cc/entity.forum.class.php');
+require_once($CFG->dirroot . '/backup/cc/entity.quiz.class.php');
+
+class cc2moodle {
+
+ public static $instances = array();
+ public static $manifest;
+ public static $path_to_manifest_folder;
+
+ public static $namespaces = array('imscc' => 'http://www.imsglobal.org/xsd/imscc/imscp_v1p1',
+ 'lomimscc' => 'http://ltsc.ieee.org/xsd/imscc/LOM',
+ 'lom' => 'http://ltsc.ieee.org/xsd/LOM',
+ 'voc' => 'http://ltsc.ieee.org/xsd/LOM/vocab',
+ 'xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
+ 'cc' => 'http://www.imsglobal.org/xsd/imsccauth_v1p0');
+
+ function __construct ($path_to_manifest) {
+
+ self::$manifest = new DOMDocument();
+
+ self::$path_to_manifest_folder = dirname($path_to_manifest);
+
+ self::log_action('Proccess start');
+ self::log_action('Load the manifest file: ' . $path_to_manifest);
+
+ if (!self::$manifest->load($path_to_manifest)) {
+ self::log_action('Cannot load the manifest file: ' . $path_to_manifest, true);
+ }
+ }
+
+ public function is_auth () {
+
+ $xpath = self::newx_path(self::$manifest, self::$namespaces);
+
+ $count_auth = $xpath->evaluate('count(/imscc:manifest/cc:authorizations)');
+
+ if ($count_auth > 0) {
+ $response = true;
+ } else {
+ $response = false;
+ }
+
+ return $response;
+ }
+
+ private function get_metadata ($section, $key) {
+
+ $xpath = self::newx_path(self::$manifest, self::$namespaces);
+
+ $metadata = $xpath->query('/imscc:manifest/imscc:metadata/lomimscc:lom/lomimscc:' . $section . '/lomimscc:' . $key . '/lomimscc:string');
+ $value = !empty($metadata->item(0)->nodeValue) ? $metadata->item(0)->nodeValue : '';
+
+ return $value;
+ }
+
+ public function generate_moodle_xml () {
+
+ global $CFG;
+
+ mkdir(self::$path_to_manifest_folder . DIRECTORY_SEPARATOR . 'course_files');
+
+ $sheet_base = self::loadsheet(SHEET_BASE);
+
+ // MOODLE_BACKUP / INFO / DETAILS / MOD
+ $node_info_details_mod = $this->create_code_info_details_mod();
+
+ // MOODLE_BACKUP / BLOCKS / BLOCK
+ $node_course_blocks_block = $this->create_node_course_blocks_block();
+
+ // MOODLE_BACKUP / COURSES / SECTIONS / SECTION
+ $node_course_sections_section = $this->create_node_course_sections_section();
+
+ // MOODLE_BACKUP / COURSES / QUESTION_CATEGORIES
+ $node_course_question_categories = $this->create_node_question_categories();
+
+ // MOODLE_BACKUP / COURSES / MODULES / MOD
+ $node_course_modules_mod = $this->create_node_course_modules_mod();
+
+ // MOODLE_BACKUP / COURSE / HEADER
+ $node_course_header = $this->create_node_course_header();
+
+ // GENERAL INFO
+ $filename = optional_param('file', 'not_available.zip');
+ $filename = basename($filename);
+
+ $www_root = $CFG->wwwroot;
+
+ $find_tags = array('[#zip_filename#]',
+ '[#www_root#]',
+ '[#node_course_header#]',
+ '[#node_info_details_mod#]',
+ '[#node_course_blocks_block#]',
+ '[#node_course_sections_section#]',
+ '[#node_course_question_categories#]',
+ '[#node_course_modules#]');
+
+ $replace_values = array($filename,
+ $www_root,
+ $node_course_header,
+ $node_info_details_mod,
+ $node_course_blocks_block,
+ $node_course_sections_section,
+ $node_course_question_categories,
+ $node_course_modules_mod);
+
+ $result_xml = str_replace($find_tags, $replace_values, $sheet_base);
+
+ // COPY RESOURSE FILES
+ $entities = new entities();
+
+ $entities->move_all_files();
+
+ if (array_key_exists("index", self::$instances)) {
+
+ if (!file_put_contents(self::$path_to_manifest_folder . DIRECTORY_SEPARATOR . 'moodle.xml', $result_xml)) {
+ self::log_action('Cannot save the moodle manifest file: ' . self::$path_to_tmp_folder . DIRECTORY_SEPARATOR . 'moodle.xml', true);
+ } else {
+ $status = true;
+ }
+
+ } else {
+ $status = false;
+ notify('The course is empty');
+ self::log_action('The course is empty', false);
+ }
+
+ return $status;
+
+ }
+
+ private function get_sections_numbers ($instances) {
+
+ $count = 0;
+
+ if (array_key_exists("index", $instances)) {
+ foreach ($instances["index"] as $instance) {
+ if ($instance["deep"] == ROOT_DEEP) {
+ $count++;
+ }
+ }
+ }
+
+ return $count;
+ }
+
+ private function create_node_course_header () {
+
+ $node_course_header = '';
+ $sheet_course_header = self::loadsheet(SHEET_COURSE_HEADER);
+
+ $course_title = $this->get_metadata('general', 'title');
+ $section_count = $this->get_sections_numbers(self::$instances) - 1;
+
+ if ($section_count == -1) {
+ $section_count = 0;
+ }
+
+ if (empty($course_title)) {
+ $this->log_action('The course title not found', true);
+ }
+
+ $course_short_name = $this->create_course_code($course_title);
+
+ $find_tags = array('[#course_name#]',
+ '[#course_short_name#]',
+ '[#date_now#]',
+ '[#section_count#]');
+
+ $replace_values = array($course_title,
+ $course_short_name,
+ time(),
+ $section_count);
+
+ $node_course_header = str_replace($find_tags, $replace_values, $sheet_course_header);
+
+ return $node_course_header;
+ }
+
+ private function create_node_question_categories () {
+
+ $quiz = new quiz();
+
+ self::log_action('Creating node: QUESTION_CATEGORIES');
+
+ $node_course_question_categories = $quiz->generate_node_question_categories();
+
+ return $node_course_question_categories;
+ }
+
+ private function create_node_course_modules_mod () {
+
+ $labels = new label();
+ $resources = new resource();
+ $forums = new forum();
+ $quiz = new quiz();
+
+ self::log_action('Creating node: COURSE/MODULES/MOD');
+
+ // LABELS
+ $node_course_modules_mod_label = $labels->generate_node();
+
+ // RESOURCES (WEB CONTENT AND WEB LINK)
+ $node_course_modules_mod_resource = $resources->generate_node();
+
+ // FORUMS
+ $node_course_modules_mod_forum = $forums->generate_node();
+
+ // QUIZ
+ $node_course_modules_mod_quiz = $quiz->generate_node_course_modules_mod();
+ $node_course_modules = $node_course_modules_mod_label . $node_course_modules_mod_resource . $node_course_modules_mod_forum . $node_course_modules_mod_quiz;
+
+ return $node_course_modules;
+ }
+
+
+ private function create_node_course_sections_section () {
+
+ self::log_action('Creating node: COURSE/SECTIONS/SECTION');
+
+ $node_course_sections_section = '';
+ $sheet_course_sections_section = self::loadsheet(SHEET_COURSE_SECTIONS_SECTION);
+
+ $topics = $this->get_nodes_by_criteria('deep', ROOT_DEEP);
+
+ $i = 0;
+
+ if (!empty($topics)) {
+
+ foreach ($topics as $topic) {
+
+ $i++;
+ $node_node_course_sections_section_mods_mod = $this->create_node_course_sections_section_mods_mod($topic['index']);
+
+ if ($topic['moodle_type'] == MOODLE_TYPE_LABEL) {
+
+ $find_tags = array('[#section_id#]',
+ '[#section_number#]',
+ '[#section_summary#]',
+ '[#node_course_sections_section_mods_mod#]');
+
+ $replace_values = array($i,
+ $i - 1,
+ $topic['title'],
+ $node_node_course_sections_section_mods_mod);
+
+ } else {
+
+ $find_tags = array('[#section_id#]',
+ '[#section_number#]',
+ '[#section_summary#]',
+ '[#node_course_sections_section_mods_mod#]');
+
+ $replace_values = array($i,
+ $i - 1,
+ '',
+ $node_node_course_sections_section_mods_mod);
+
+ }
+
+ $node_course_sections_section .= str_replace($find_tags, $replace_values, $sheet_course_sections_section);
+ }
+ }
+
+
+ return $node_course_sections_section;
+ }
+
+ private function create_node_course_blocks_block () {
+
+ global $CFG;
+
+ self::log_action('Creating node: COURSE/BLOCKS/BLOCK');
+
+ $sheet_course_blocks_block = self::loadsheet(SHEET_COURSE_BLOCKS_BLOCK);
+ $node_course_blocks_block = '';
+
+ $format_config = $CFG->dirroot . '/course/format/weeks/config.php';
+
+ if (@is_file($format_config) && is_readable($format_config)) {
+ require ($format_config);
+ }
+
+ if (!empty($format['defaultblocks'])) {
+ $blocknames = $format['defaultblocks'];
+ } else {
+ if (!empty($CFG->defaultblocks)) {
+ $blocknames = $CFG->defaultblocks;
+ } else {
+ $blocknames = 'participants,activity_modules,search_forums,admin,course_list:news_items,calendar_upcoming,recent_activity';
+ }
+ }
+
+ $blocknames = explode(':', $blocknames);
+ $blocks_left = explode(',', $blocknames[0]);
+ $blocks_right = explode(',', $blocknames[1]);
+
+ $find_tags = array('[#block_id#]',
+ '[#block_name#]',
+ '[#block_position#]',
+ '[#block_weight#]');
+
+ $i = 0;
+ $weight = 0;
+
+ foreach ($blocks_left as $block) {
+ $i++;
+ $weight++;
+
+ $replace_values = array($i,
+ $block,
+ 'l',
+ $weight);
+
+ $node_course_blocks_block .= str_replace($find_tags, $replace_values, $sheet_course_blocks_block);
+ }
+
+ $weight = 0;
+
+ foreach ($blocks_right as $block) {
+
+ $i++;
+ $weight ++;
+
+ $replace_values = array($i,
+ $block,
+ 'r',
+ $weight);
+
+ $node_course_blocks_block .= str_replace($find_tags, $replace_values, $sheet_course_blocks_block);
+ }
+
+ return $node_course_blocks_block;
+
+ }
+
+ private function create_node_course_sections_section_mods_mod ($root_parent) {
+
+ $sheet_course_sections_section_mods_mod = self::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD);
+ $childs = $this->get_nodes_by_criteria('root_parent', $root_parent);
+
+ if ($childs) {
+
+ $node_course_sections_section_mods_mod = '';
+
+ foreach ($childs as $child) {
+
+ if ($child['moodle_type'] == MOODLE_TYPE_LABEL) {
+ if ($child['index'] == $child['root_parent']) {
+ $is_summary = true;
+ } else {
+ $is_summary = false;
+ }
+ } else {
+ $is_summary = false;
+ }
+
+ if (!$is_summary) {
+
+ $indent = $child['deep'] - ROOT_DEEP;
+
+ if ($indent > 0) {
+ $indent = $indent - 1;
+ }
+
+ $find_tags = array('[#mod_id#]',
+ '[#mod_instance_id#]',
+ '[#mod_type#]',
+ '[#date_now#]',
+ '[#mod_indent#]');
+
+ $replace_values = array($child['index'],
+ $child['instance'],
+ $child['moodle_type'],
+ time(),
+ $indent);
+
+ $node_course_sections_section_mods_mod .= str_replace($find_tags, $replace_values, $sheet_course_sections_section_mods_mod);
+ }
+ }
+
+ $response = $node_course_sections_section_mods_mod;
+
+ } else {
+ $response = '';
+ }
+
+ return $response;
+
+ }
+
+ public function get_nodes_by_criteria ($key, $value) {
+
+ $response = array();
+
+ if (array_key_exists('index', self::$instances)) {
+ foreach (self::$instances['index'] as $item) {
+ if ($item[$key] == $value) {
+ $response[] = $item;
+ }
+ }
+ }
+
+ return $response;
+ }
+
+ private function create_code_info_details_mod () {
+
+ self::log_action('Creating node: INFO/DETAILS/MOD');
+
+ $xpath = self::newx_path(self::$manifest, self::$namespaces);
+
+ $items = $xpath->query('/imscc:manifest/imscc:organizations/imscc:organization/imscc:item | /imscc:manifest/imscc:resources/imscc:resource[@type="' . CC_TYPE_QUESTION_BANK . '"]');
+
+ $this->create_instances($items);
+
+ $count_quiz = $this->count_instances(MOODLE_TYPE_QUIZ);
+ $count_forum = $this->count_instances(MOODLE_TYPE_FORUM);
+ $count_resource = $this->count_instances(MOODLE_TYPE_RESOURCE);
+ $count_label = $this->count_instances(MOODLE_TYPE_LABEL);
+
+ $sheet_info_details_mod_instances_instance = self::loadsheet(SHEET_INFO_DETAILS_MOD_INSTANCE);
+
+ if ($count_resource > 0) {
+ $resource_instance = $this->create_mod_info_details_mod_instances_instance($sheet_info_details_mod_instances_instance, $count_resource, self::$instances['instances'][MOODLE_TYPE_RESOURCE]);
+ }
+ if ($count_quiz > 0) {
+ $quiz_instance = $this->create_mod_info_details_mod_instances_instance($sheet_info_details_mod_instances_instance, $count_quiz, self::$instances['instances'][MOODLE_TYPE_QUIZ]);
+ }
+ if ($count_forum > 0) {
+ $forum_instance = $this->create_mod_info_details_mod_instances_instance($sheet_info_details_mod_instances_instance, $count_forum, self::$instances['instances'][MOODLE_TYPE_FORUM]);
+ }
+ if ($count_label > 0) {
+ $label_instance = $this->create_mod_info_details_mod_instances_instance($sheet_info_details_mod_instances_instance, $count_label, self::$instances['instances'][MOODLE_TYPE_LABEL]);
+ }
+
+ $resource_mod = $count_resource ? $this->create_mod_info_details_mod(MOODLE_TYPE_RESOURCE, $resource_instance) : '';
+ $quiz_mod = $count_quiz ? $this->create_mod_info_details_mod(MOODLE_TYPE_QUIZ, $quiz_instance) : '';
+ $forum_mod = $count_forum ? $this->create_mod_info_details_mod(MOODLE_TYPE_FORUM, $forum_instance) : '';
+ $label_mod = $count_label ? $this->create_mod_info_details_mod(MOODLE_TYPE_LABEL, $label_instance) : '';
+
+ return $label_mod . $resource_mod . $quiz_mod . $forum_mod;
+
+ }
+
+ private function create_mod_info_details_mod ($mod_type, $node_info_details_mod_instances_instance) {
+
+ $sheet_info_details_mod = self::loadsheet(SHEET_INFO_DETAILS_MOD);
+
+ $find_tags = array('[#mod_type#]' ,'[#node_info_details_mod_instances_instance#]');
+ $replace_values = array($mod_type , $node_info_details_mod_instances_instance);
+
+ return str_replace($find_tags, $replace_values, $sheet_info_details_mod);
+ }
+
+ private function create_mod_info_details_mod_instances_instance ($sheet, $instances_quantity, $instances) {
+
+ $instance = '';
+
+ $find_tags = array('[#mod_instance_id#]',
+ '[#mod_name#]',
+ '[#mod_user_info#]');
+
+ for ($i = 1; $i <= $instances_quantity; $i++) {
+
+ $user_info = ($instances[$i - 1]['common_cartriedge_type'] == CC_TYPE_FORUM) ? 'true' : 'false';
+
+ $replace_values = array($instances[$i - 1]['instance'],
+ $instances[$i - 1]['title'],
+ $user_info);
+
+ $instance .= str_replace($find_tags, $replace_values, $sheet);
+ }
+
+ return $instance;
+
+ }
+
+ private function create_instances ($items, $level = 0, &$array_index = 0, $index_root = 0) {
+
+ $level++;
+ $i = 1;
+
+ if ($items) {
+
+ $xpath = self::newx_path(self::$manifest, self::$namespaces);
+
+ foreach ($items as $item) {
+
+ $array_index++;
+
+ if ($item->nodeName == "item") {
+
+ $identifierref = $xpath->query('@identifierref', $item);
+ $identifierref = !empty($identifierref->item(0)->nodeValue) ? $identifierref->item(0)->nodeValue : '';
+
+ $title = $xpath->query('imscc:title', $item);
+ $title = !empty($title->item(0)->nodeValue) ? $title->item(0)->nodeValue : '';
+
+ $cc_type = $this->get_item_cc_type($identifierref);
+ $moodle_type = $this->convert_to_moodle_type($cc_type);
+
+ }
+ elseif ($item->nodeName == "resource") {
+
+ $identifierref = $xpath->query('@identifier', $item);
+ $identifierref = !empty($identifierref->item(0)->nodeValue) ? $identifierref->item(0)->nodeValue : '';
+
+ $cc_type = $this->get_item_cc_type($identifierref);
+ $moodle_type = $this->convert_to_moodle_type($cc_type);
+
+ $title = 'Quiz Bank ' . ($this->count_instances($moodle_type) + 1);
+
+ }
+
+ if ($level == ROOT_DEEP) {
+ $index_root = $array_index;
+ }
+
+ self::$instances['index'][$array_index]['common_cartriedge_type'] = $cc_type;
+ self::$instances['index'][$array_index]['moodle_type'] = $moodle_type;
+ self::$instances['index'][$array_index]['title'] = $title ? $title : '';
+ self::$instances['index'][$array_index]['root_parent'] = $index_root;
+ self::$instances['index'][$array_index]['index'] = $array_index;
+ self::$instances['index'][$array_index]['deep'] = $level;
+ self::$instances['index'][$array_index]['instance'] = $this->count_instances($moodle_type);
+ self::$instances['index'][$array_index]['resource_indentifier'] = $identifierref;
+
+ self::$instances['instances'][$moodle_type][] = array('title' => $title,
+ 'instance' => self::$instances['index'][$array_index]['instance'],
+ 'common_cartriedge_type' => $cc_type , 'resource_indentifier' => $identifierref);
+
+ $more_items = $xpath->query('imscc:item', $item);
+
+ if ($more_items->length > 0) {
+ $this->create_instances($more_items, $level, $array_index, $index_root);
+ }
+
+ $i++;
+
+ }
+ }
+ }
+
+ public function count_instances ($type) {
+
+ $quantity = 0;
+
+ if (array_key_exists('index', self::$instances)) {
+ if (self::$instances['index'] && $type) {
+
+ foreach (self::$instances['index'] as $instance) {
+ if (!empty($instance['moodle_type'])) {
+ $types[] = $instance['moodle_type'];
+ }
+ }
+
+ $quantity_instances = array_count_values($types);
+ $quantity = array_key_exists($type, $quantity_instances) ? $quantity_instances[$type] : 0;
+ }
+ }
+
+ return $quantity;
+ }
+
+ public function convert_to_moodle_type ($cc_type) {
+
+ if ($cc_type == CC_TYPE_FORUM) {
+ $type = MOODLE_TYPE_FORUM;
+ }
+ if ($cc_type == CC_TYPE_QUIZ) {
+ $type = MOODLE_TYPE_QUIZ;
+ }
+ if ($cc_type == CC_TYPE_WEBLINK) {
+ $type = MOODLE_TYPE_RESOURCE;
+ }
+ if ($cc_type == CC_TYPE_WEBCONTENT) {
+ $type = MOODLE_TYPE_RESOURCE;
+ }
+ if ($cc_type == CC_TYPE_ASSOCIATED_CONTENT) {
+ $type = MOODLE_TYPE_RESOURCE;
+ }
+ if ($cc_type == CC_TYPE_QUESTION_BANK) {
+ $type = MOODLE_TYPE_QUESTION_BANK;
+ }
+ if ($cc_type == CC_TYPE_EMPTY) {
+ $type = MOODLE_TYPE_LABEL;
+ }
+
+ $type = empty($type) ? TYPE_UNKNOWN : $type;
+
+ return $type;
+ }
+
+ public function get_item_cc_type ($identifier) {
+
+ $xpath = self::newx_path(self::$manifest, self::$namespaces);
+
+ $nodes = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $identifier . '"]/@type');
+
+ if ($nodes && !empty($nodes->item(0)->nodeValue)) {
+ return $nodes->item(0)->nodeValue;
+ } else {
+ return '';
+ }
+ }
+
+ public static function newx_path (DOMDocument $manifest, $namespaces = '') {
+
+ $xpath = new DOMXPath($manifest);
+
+ if (!empty($namespaces)) {
+ foreach ($namespaces as $prefix => $ns) {
+ if (!$xpath->registerNamespace($prefix, $ns)) {
+ self::log_action('Cannot register the namespace: ' . $prefix . ':' . $ns, true);
+ }
+ }
+ }
+
+ return $xpath;
+ }
+
+ public static function loadsheet ($file) {
+
+ $content = (is_readable($file) && ($content = file_get_contents($file))) ? $content : false;
+
+ self::log_action('Loading sheet: ' . $file);
+
+ if (!$content) {
+ self::log_action('Cannot load the xml sheet: ' . $file, true);
+ }
+
+ self::log_action('Load OK!');
+
+ return $content;
+ }
+
+ public static function log_action ($text, $critical_error = false) {
+
+ $filename = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . 'cc2moodle.log';
+ $full_message = strtoupper(date("j/n/Y g:i:s a")) . " - " . $text . "\r";
+
+ file_put_contents($filename, $full_message, FILE_APPEND);
+
+ if ($critical_error) {
+ self::critical_error($text);
+ }
+ }
+
+ private function critical_error ($text) {
+
+ $path_to_log = cc2moodle::$path_to_manifest_folder . '/cc2moodle.log';
+
+ echo '
+
+
+
A critical error has been found!
+
+ ' . $text . '
+
+
+
+ The process has been stopped. Please see the log file for more information.
+
+ Log: ' . $path_to_log . '
+
+
+
+
+ ';
+
+ die();
+ }
+
+ private function create_course_code ($title) {
+
+ $code = '';
+ $words = explode(' ', $title);
+
+ foreach ($words as $word) {
+ $code .= $word[0];
+ }
+
+ $code = strtoupper($code . '-1');
+ return $code;
+ }
+}
+?>
diff --git a/backup/cc/entities.class.php b/backup/cc/entities.class.php
new file mode 100755
index 0000000000..6c17609342
--- /dev/null
+++ b/backup/cc/entities.class.php
@@ -0,0 +1,270 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+class entities {
+
+ public function load_xml_resource ($path_to_file) {
+
+ $resource = new DOMDocument();
+
+ cc2moodle::log_action('Load the XML resource file: ' . $path_to_file);
+
+ if (!$resource->load($path_to_file)) {
+ cc2moodle::log_action('Cannot load the XML resource file: ' . $path_to_file, true);
+ }
+
+ return $resource;
+ }
+
+ public function update_sources ($html, $root_path = '') {
+
+ $document = new DOMDocument();
+
+ @$document->loadHTML($html);
+
+ $tags = array('img' => 'src' , 'a' => 'href');
+
+ foreach ($tags as $tag => $attribute) {
+
+ $elements = $document->getElementsByTagName($tag);
+
+ foreach ($elements as $element) {
+
+ $attribute_value = $element->getAttribute($attribute);
+ $protocol = parse_url($attribute_value, PHP_URL_SCHEME);
+
+ if (empty($protocol)) {
+ $attribute_value = str_replace("\$IMS-CC-FILEBASE\$", "", $attribute_value);
+ $attribute_value = $this->full_path($root_path . "/" . $attribute_value, "/");
+ $attribute_value = "\$@FILEPHP@\$" . "/" . $attribute_value;
+ }
+
+ $element->setAttribute($attribute, $attribute_value);
+ }
+ }
+
+ $html = $this->clear_doctype($document->saveHTML());
+
+ return $html;
+ }
+
+ public function full_path ($path, $dir_sep = DIRECTORY_SEPARATOR) {
+
+ $token = '$IMS-CC-FILEBASE$';
+ $path = str_replace($token, '', $path);
+
+ if (is_string($path) && ($path != '')) {
+ $dir_sep;
+ $dot_dir = '.';
+ $up_dir = '..';
+ $length = strlen($path);
+ $rtemp = trim($path);
+ $start = strrpos($path, $dir_sep);
+ $can_continue = ($start !== false);
+ $result = $can_continue ? '' : $path;
+ $rcount = 0;
+
+ while ($can_continue) {
+
+ $dir_part = ($start !== false) ? substr($rtemp, $start + 1, $length - $start) : $rtemp;
+ $can_continue = ($dir_part !== false);
+
+ if ($can_continue) {
+ if ($dir_part != $dot_dir) {
+ if ($dir_part == $up_dir) {
+ $rcount++;
+ } else {
+ if ($rcount > 0) {
+ $rcount --;
+ } else {
+ $result = ($result == '') ? $dir_part : $dir_part . $dir_sep . $result;
+ }
+ }
+ }
+ $rtemp = substr($path, 0, $start);
+ $start = strrpos($rtemp, $dir_sep);
+ $can_continue = (($start !== false) || (strlen($rtemp) > 0));
+ }
+ }
+ }
+
+ return $result;
+
+ }
+
+ public function include_titles ($html) {
+
+ $document = new DOMDocument();
+ @$document->loadHTML($html);
+
+ $images = $document->getElementsByTagName('img');
+
+ foreach ($images as $image) {
+
+ $src = $image->getAttribute('src');
+ $alt = $image->getAttribute('alt');
+ $title = $image->getAttribute('title');
+
+ $filename = pathinfo($src);
+ $filename = $filename['filename'];
+
+ $alt = empty($alt) ? $filename : $alt;
+ $title = empty($title) ? $filename : $title;
+
+ $image->setAttribute('alt', $alt);
+ $image->setAttribute('title', $title);
+ }
+
+ $html = $this->clear_doctype($document->saveHTML());
+
+ return $html;
+ }
+
+ public function get_external_xml ($identifier) {
+
+ $response = '';
+
+ $xpath = cc2moodle::newx_path(cc2moodle::$manifest, cc2moodle::$namespaces);
+
+ $files = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $identifier . '"]/imscc:file/@href');
+
+ if (empty($files)) {
+ $response = '';
+ } else {
+ $response = $files->item(0)->nodeValue;
+ }
+
+ return $response;
+ }
+
+ public function move_files ($files, $destination_folder) {
+
+ if (!empty($files)) {
+
+ foreach ($files as $file) {
+
+ $source = cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $file->nodeValue;
+ $destination = $destination_folder . DIRECTORY_SEPARATOR . $file->nodeValue;
+
+ $destination_directory = dirname($destination);
+
+ cc2moodle::log_action('Copy the file: ' . $source . ' to ' . $destination);
+
+ //echo 'Copy the file: ' . $source . ' to ' . $destination . '
';
+
+ if (!file_exists($destination_directory)) {
+ mkdir($destination_directory, 0777, true);
+ }
+
+ $copy_success = @copy($source, $destination);
+
+ if (!$copy_success) {
+ notify('WARNING: Cannot copy the file ' . $source . ' to ' . $destination);
+ cc2moodle::log_action('Cannot copy the file ' . $source . ' to ' . $destination, false);
+ }
+ }
+ }
+ }
+
+ private function get_all_files () {
+
+ $all_files = array();
+
+ $xpath = cc2moodle::newx_path(cc2moodle::$manifest, cc2moodle::$namespaces);
+
+ $types = array('associatedcontent/imscc_xmlv1p0/learning-application-resource',
+ 'webcontent',
+ );
+
+ foreach ($types as $type) {
+
+ $files = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@type="' . $type . '"]/imscc:file/@href');
+
+ if (!empty($files)) {
+ foreach ($files as $file) {
+ $all_files[] = $file;
+ }
+ }
+
+ unset($files);
+ }
+
+ $all_files = empty($all_files) ? '' : $all_files;
+
+ return $all_files;
+ }
+
+ public function move_all_files() {
+
+ $files = $this->get_all_files();
+
+ if (!empty($files)) {
+ $this->move_files($files, cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . 'course_files', true);
+ }
+
+ }
+
+ private function clear_doctype ($html) {
+
+ return preg_replace('/^/',
+ '',
+ str_replace(array('' , '' , '' , ''),
+ array('' , '' , '' , ''),
+ $html));
+ }
+
+ public function generate_random_string ($length = 6) {
+
+ $response = '';
+ $source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+
+ if ($length > 0) {
+
+ $response = '';
+ $source = str_split($source, 1);
+
+ for ($i = 1; $i <= $length; $i++) {
+ mt_srand((double) microtime() * 1000000);
+ $num = mt_rand(1, count($source));
+ $response .= $source[$num - 1];
+ }
+ }
+
+ return $response;
+ }
+
+ public function truncate_text ($text, $max, $remove_html) {
+
+ if ($max > 10) {
+ $text = substr($text, 0, ($max - 6)) . ' [...]';
+ } else {
+ $text = substr($text, 0, $max);
+ }
+
+ $text = $remove_html ? strip_tags($text) : $text;
+
+ return $text;
+ }
+}
+?>
diff --git a/backup/cc/entity.forum.class.php b/backup/cc/entity.forum.class.php
new file mode 100755
index 0000000000..928f687853
--- /dev/null
+++ b/backup/cc/entity.forum.class.php
@@ -0,0 +1,128 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+class forum extends entities {
+
+ public function generate_node () {
+
+ cc2moodle::log_action('Creating Forum mods');
+
+ $response = '';
+
+ if (!empty(cc2moodle::$instances['instances'][MOODLE_TYPE_FORUM])) {
+ foreach (cc2moodle::$instances['instances'][MOODLE_TYPE_FORUM] as $instance) {
+ $response .= $this->create_node_course_modules_mod_forum($instance);
+ }
+ }
+
+ return $response;
+ }
+
+ private function create_node_course_modules_mod_forum ($instance) {
+
+ $sheet_mod_forum = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_FORUM);
+
+ $topic_data = $this->get_topic_data($instance);
+
+ if (!empty($topic_data)) {
+
+ $find_tags = array('[#mod_instance#]',
+ '[#mod_forum_title#]',
+ '[#mod_forum_intro#]',
+ '[#date_now#]');
+
+ $replace_values = array($instance['instance'],
+ $instance['title'] . ' - ' . $topic_data['title'],
+ $topic_data['description'],
+ time());
+
+ return str_replace($find_tags, $replace_values, $sheet_mod_forum);
+
+ } else {
+ return '';
+ }
+ }
+
+ public function get_topic_data ($instance) {
+
+ $topic_data = '';
+
+ $namespaces = array('dt' => 'http://www.imsglobal.org/xsd/imsdt_v1p0');
+
+ $topic_file = $this->get_external_xml($instance['resource_indentifier']);
+
+ if (!empty($topic_file)) {
+
+ $topic = $this->load_xml_resource(cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $topic_file);
+
+ if (!empty($topic)) {
+
+ $xpath = cc2moodle::newx_path($topic, $namespaces);
+
+ $topic_title = $xpath->query('/dt:topic/title');
+ $topic_title = !empty($topic_title->item(0)->nodeValue) ? $topic_title->item(0)->nodeValue : '';
+
+ $topic_text = $xpath->query('/dt:topic/text');
+ $topic_text = !empty($topic_text->item(0)->nodeValue) ? $this->update_sources($topic_text->item(0)->nodeValue, dirname($topic_file)) : '';
+ $topic_text = !empty($topic_text) ? str_replace("%24", "\$", $this->include_titles($topic_text)) : '';
+
+ if (!empty($topic_title)) {
+ $topic_data['title'] = $topic_title;
+ $topic_data['description'] = $topic_text;
+ }
+ }
+
+ $topic_attachments = $xpath->query('/dt:topic/attachments/attachment/@href');
+
+ if ($topic_attachments->length > 0) {
+
+ $attachment_html = '';
+
+ foreach ($topic_attachments as $file) {
+ $attachment_html .= $this->generate_attachment_html($file->nodeValue);
+ }
+
+ $topic_data['description'] = !empty($attachment_html) ? $topic_text . 'Attachments:
' . $attachment_html : $topic_text;
+ }
+ }
+
+ return $topic_data;
+ }
+
+ private function generate_attachment_html ($filename) {
+
+ $images_extensions = array('gif' , 'jpeg' , 'jpg' , 'jif' , 'jfif' , 'png' , 'bmp');
+
+ $fileinfo = pathinfo($filename);
+
+ if (in_array($fileinfo['extension'], $images_extensions)) {
+ return '![' . $fileinfo['basename'] . ' ' . $fileinfo['basename'] . ']($@FILEPHP@$/' . $filename . ')
';
+ } else {
+ return '' . $fileinfo['basename'] . '
';
+ }
+
+ return '';
+ }
+}
+?>
diff --git a/backup/cc/entity.label.class.php b/backup/cc/entity.label.class.php
new file mode 100755
index 0000000000..01ab31458d
--- /dev/null
+++ b/backup/cc/entity.label.class.php
@@ -0,0 +1,59 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+class label extends entities {
+
+ public function generate_node () {
+
+ cc2moodle::log_action('Creating Labels mods');
+
+ $response = '';
+
+ $sheet_mod_label = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_LABEL);
+
+ if (!empty(cc2moodle::$instances['instances'][MOODLE_TYPE_LABEL])) {
+ foreach (cc2moodle::$instances['instances'][MOODLE_TYPE_LABEL] as $instance) {
+ $response .= $this->create_node_course_modules_mod_label($sheet_mod_label, $instance);
+ }
+ }
+
+ return $response;
+ }
+
+ private function create_node_course_modules_mod_label ($sheet_mod_label, $instance) {
+
+ $find_tags = array('[#mod_instance#]',
+ '[#mod_name#]',
+ '[#mod_content#]',
+ '[#date_now#]');
+
+ $replace_values = array($instance['instance'],
+ $instance['title'],
+ $instance['title'],
+ time());
+
+ return str_replace($find_tags, $replace_values, $sheet_mod_label);
+ }
+}
+?>
diff --git a/backup/cc/entity.quiz.class.php b/backup/cc/entity.quiz.class.php
new file mode 100755
index 0000000000..ee0edf06c8
--- /dev/null
+++ b/backup/cc/entity.quiz.class.php
@@ -0,0 +1,958 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+class quiz extends entities {
+
+ private $namespaces = array('xmlns' => 'http://www.imsglobal.org/xsd/ims_qtiasiv1p2');
+
+ public function generate_node_question_categories () {
+
+ $instances = $this->generate_instances();
+
+ $node_course_question_categories = $this->create_node_course_question_categories($instances);
+ $node_course_question_categories = empty($node_course_question_categories) ? '' : $node_course_question_categories;
+
+ return $node_course_question_categories;
+
+ }
+
+ public function generate_node_course_modules_mod () {
+
+ cc2moodle::log_action('Creating Quiz mods');
+
+ $node_course_modules_mod = '';
+ $instances = $this->generate_instances();
+
+ if (!empty($instances)) {
+ foreach ($instances as $instance) {
+ if ($instance['is_question_bank'] == 0) {
+ $node_course_modules_mod .= $this->create_node_course_modules_mod($instance);
+ }
+ }
+ }
+
+ return $node_course_modules_mod;
+
+ }
+
+ private function create_node_course_modules_mod_quiz_feedback () {
+
+ $sheet_question_mod_feedback = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ_FEEDBACK);
+
+ return $sheet_question_mod_feedback;
+ }
+
+ private function generate_instances () {
+
+ $last_instance_id = 0;
+ $last_question_id = 0;
+ $last_answer_id = 0;
+
+ $instances = '';
+
+ $types = array(MOODLE_TYPE_QUIZ, MOODLE_TYPE_QUESTION_BANK);
+
+ foreach ($types as $type) {
+
+ if (!empty(cc2moodle::$instances['instances'][$type])) {
+
+ foreach (cc2moodle::$instances['instances'][$type] as $instance) {
+
+ if ($type == MOODLE_TYPE_QUIZ) {
+ $is_question_bank = 0;
+ } else {
+ $is_question_bank = 1;
+ }
+
+ $assessment_file = $this->get_external_xml($instance['resource_indentifier']);
+
+ if (!empty($assessment_file)) {
+
+ $assessment = $this->load_xml_resource(cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $assessment_file);
+
+ if (!empty($assessment)) {
+
+ $replace_values = array('unlimited' => 0);
+
+ $questions = $this->get_questions($assessment, $last_question_id, $last_answer_id, dirname($assessment_file), $is_question_bank);
+ $question_count = count($questions);
+
+ if ($question_count > 1) {
+
+ $last_instance_id++;
+
+ $instances[$instance['resource_indentifier']]['questions'] = $questions;
+ $instances[$instance['resource_indentifier']]['id'] = $last_instance_id;
+ $instances[$instance['resource_indentifier']]['title'] = $instance['title'];
+ $instances[$instance['resource_indentifier']]['is_question_bank'] = $is_question_bank;
+ $instances[$instance['resource_indentifier']]['options']['timelimit'] = $this->get_global_config($assessment, 'qmd_timelimit', 0);
+ $instances[$instance['resource_indentifier']]['options']['max_attempts'] = $this->get_global_config($assessment, 'cc_maxattempts', 0, $replace_values);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return $instances;
+ }
+
+
+ private function create_node_course_modules_mod ($instance) {
+
+ $sheet_question_mod = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ);
+
+ $node_course_modules_quiz_question_instances = $this->create_node_course_modules_mod_quiz_question_instances($instance);
+ $node_course_modules_quiz_feedback = $this->create_node_course_modules_mod_quiz_feedback($instance);
+
+ $questions_strings = $this->get_questions_string($instance);
+ $quiz_stamp = 'localhost+' . time() . '+' . $this->generate_random_string(6);
+
+ $find_tags = array('[#mod_id#]',
+ '[#mod_name#]',
+ '[#mod_intro#]',
+ '[#mod_stamp#]',
+ '[#question_string#]',
+ '[#date_now#]',
+ '[#mod_max_attempts#]',
+ '[#mod_timelimit#]',
+ '[#node_question_instance#]',
+ '[#node_questions_feedback#]');
+
+ $replace_values = array($instance['id'],
+ $instance['title'],
+ $instance['title'],
+ $quiz_stamp,
+ $questions_strings,
+ time(),
+ $instance['options']['max_attempts'],
+ $instance['options']['timelimit'],
+ $node_course_modules_quiz_question_instances,
+ $node_course_modules_quiz_feedback);
+
+ $node_question_mod = str_replace($find_tags, $replace_values, $sheet_question_mod);
+
+ return $node_question_mod;
+ }
+
+ private function get_global_config ($assessment, $option, $default_value, $replace_values = '') {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+ $metadata = $xpath->query('/xmlns:questestinterop/xmlns:assessment/xmlns:qtimetadata/xmlns:qtimetadatafield');
+
+ foreach ($metadata as $field) {
+ $field_label = $xpath->query('xmlns:fieldlabel', $field);
+ $field_label = !empty($field_label->item(0)->nodeValue) ? $field_label->item(0)->nodeValue : '';
+
+ if (strtolower($field_label) == strtolower($option)) {
+ $field_entry = $xpath->query('xmlns:fieldentry', $field);
+ $response = !empty($field_entry->item(0)->nodeValue) ? $field_entry->item(0)->nodeValue : '';
+ }
+ }
+
+ $response = !empty($response) ? trim($response) : '';
+
+ if (!empty($replace_values)) {
+ foreach ($replace_values as $key => $value) {
+ $response = ($key == $response) ? $value : $response;
+ }
+ }
+
+ $response = empty($response) ? $default_value : $response;
+
+ return $response;
+ }
+
+ private function create_node_course_modules_mod_quiz_question_instances ($instance) {
+
+ $node_course_module_mod_quiz_questions_instances = '';
+ $sheet_question_mod_instance = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ_QUESTION_INSTANCE);
+
+ $find_tags = array('[#question_id#]' , '[#instance_id#]');
+
+ if (!empty($instance['questions'])) {
+
+ foreach ($instance['questions'] as $question) {
+ $replace_values = array($question['id'] , $question['id']);
+ $node_course_module_mod_quiz_questions_instances .= str_replace($find_tags, $replace_values, $sheet_question_mod_instance);
+ }
+
+ $node_course_module_mod_quiz_questions_instances = str_replace($find_tags, $replace_values, $node_course_module_mod_quiz_questions_instances);
+ }
+
+ return $node_course_module_mod_quiz_questions_instances;
+ }
+
+ private function get_questions_string ($instance) {
+
+ $questions_string = '';
+
+ if (!empty($instance['questions'])) {
+ foreach ($instance['questions'] as $question) {
+ $questions_string .= $question['id'] . ',';
+ }
+ }
+
+ $questions_string = !empty($questions_string) ? substr($questions_string, 0, strlen($questions_string) - 1) : '';
+
+ return $questions_string;
+ }
+
+ private function create_node_course_question_categories ($instances) {
+
+ $sheet_question_categories = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES);
+
+ if (!empty($instances)) {
+
+ $node_course_question_categories_question_category = '';
+
+ foreach ($instances as $instance) {
+ $node_course_question_categories_question_category .= $this->create_node_course_question_categories_question_category($instance);
+ }
+
+ $find_tags = array('[#node_course_question_categories_question_category#]');
+ $replace_values = array($node_course_question_categories_question_category);
+
+ $node_course_question_categories = str_replace($find_tags, $replace_values, $sheet_question_categories);
+ }
+
+ $node_course_question_categories = empty($node_course_question_categories) ? '' : $node_course_question_categories;
+
+ return $node_course_question_categories;
+ }
+
+ private function create_node_course_question_categories_question_category ($instance) {
+
+ $sheet_question_categories_quetion_category = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY);
+
+ $find_tags = array('[#quiz_id#]',
+ '[#quiz_name#]',
+ '[#quiz_stamp#]',
+ '[#node_course_question_categories_question_category_questions#]');
+
+ $node_course_question_categories_questions = $this->create_node_course_question_categories_question_category_question($instance);
+ $node_course_question_categories_questions = empty($node_course_question_categories_questions) ? '' : $node_course_question_categories_questions;
+
+ $quiz_stamp = 'localhost+' . time() . '+' . $this->generate_random_string(6);
+
+ $replace_values = array($instance['id'],
+ $instance['title'],
+ $quiz_stamp,
+ $node_course_question_categories_questions);
+
+ $node_question_categories = str_replace($find_tags, $replace_values, $sheet_question_categories_quetion_category);
+
+ return $node_question_categories;
+ }
+
+ private function create_node_course_question_categories_question_category_question ($instance) {
+
+ global $USER;
+
+ $node_course_question_categories_question = '';
+
+ $find_tags = array('[#question_id#]',
+ '[#question_title#]',
+ '[#question_text#]',
+ '[#question_type#]',
+ '[#question_general_feedback#]',
+ '[#date_now#]',
+ '[#question_type_nodes#]',
+ '[#question_stamp#]',
+ '[#question_version#]',
+ '[#logged_user#]');
+
+ $sheet_question_categories_question = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION);
+
+ $questions = $instance['questions'];
+
+ if (!empty($questions)) {
+
+ foreach ($questions as $question) {
+
+ $quiz_stamp = 'localhost+' . time() . '+' . $this->generate_random_string(6);
+ $quiz_version = 'localhost+' . time() . '+' . $this->generate_random_string(6);
+
+ $question_moodle_type = $question['moodle_type'];
+ $question_cc_type = $question['cc_type'];
+
+ $question_type_node = '';
+
+ $question_type_node = ($question_moodle_type == MOODLE_QUIZ_MULTIPLE_CHOICE) ? $this->create_node_course_question_categories_question_category_question_multiple_choice($question) : $question_type_node;
+ $question_type_node = ($question_moodle_type == MOODLE_QUIZ_TRUE_FALSE) ? $this->create_node_course_question_categories_question_category_question_true_false($question) : $question_type_node;
+ $question_type_node = ($question_moodle_type == MOODLE_QUIZ_ESSAY) ? $this->create_node_course_question_categories_question_category_question_eesay($question) : $question_type_node;
+ $question_type_node = ($question_moodle_type == MOODLE_QUIZ_SHORTANSWER) ? $this->create_node_course_question_categories_question_category_question_shortanswer($question) : $question_type_node;
+
+ $replace_values = array($question['id'],
+ $this->truncate_text($question['title'], 255, true),
+ $question['title'],
+ $question_moodle_type,
+ $question['feedback'],
+ time(),
+ $question_type_node,
+ $quiz_stamp,
+ $quiz_version,
+ $USER->id);
+
+ $node_course_question_categories_question .= str_replace($find_tags, $replace_values, $sheet_question_categories_question);
+ }
+ }
+
+ $node_course_question_categories_question = empty($node_course_question_categories_question) ? '' : $node_course_question_categories_question;
+
+ return $node_course_question_categories_question;
+ }
+
+ private function get_questions ($assessment, &$last_question_id, &$last_answer_id, $root_path, $is_question_bank) {
+
+ $questions = array();
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ if (!$is_question_bank) {
+ $questions_items = $xpath->query('/xmlns:questestinterop/xmlns:assessment/xmlns:section/xmlns:item');
+ } else {
+ $questions_items = $xpath->query('/xmlns:questestinterop/xmlns:objectbank/xmlns:item');
+ }
+
+ foreach ($questions_items as $question_item) {
+
+ $count_questions = $xpath->evaluate('count(xmlns:presentation/xmlns:flow/xmlns:material/xmlns:mattext)', $question_item);
+
+ if ($count_questions == 0) {
+ $question_title = $xpath->query('xmlns:presentation/xmlns:material/xmlns:mattext', $question_item);
+ } else {
+ $question_title = $xpath->query('xmlns:presentation/xmlns:flow/xmlns:material/xmlns:mattext', $question_item);
+ }
+
+ $question_title = !empty($question_title->item(0)->nodeValue) ? $question_title->item(0)->nodeValue : '';
+
+ $question_identifier = $xpath->query('@ident', $question_item);
+ $question_identifier = !empty($question_identifier->item(0)->nodeValue) ? $question_identifier->item(0)->nodeValue : '';
+
+ if (!empty($question_identifier)) {
+
+ $question_type = $this->get_question_type($question_identifier, $assessment);
+
+ if (!empty($question_type['moodle'])) {
+
+ $last_question_id++;
+
+ $questions[$question_identifier]['id'] = $last_question_id;
+
+ $question_title = $this->update_sources($question_title, $root_path);
+ $question_title = !empty($question_title) ? str_replace("%24", "\$", $this->include_titles($question_title)) : '';
+
+ $questions[$question_identifier]['title'] = $question_title;
+ $questions[$question_identifier]['identifier'] = $question_identifier;
+ $questions[$question_identifier]['moodle_type'] = $question_type['moodle'];
+ $questions[$question_identifier]['cc_type'] = $question_type['cc'];
+ $questions[$question_identifier]['feedback'] = $this->get_general_feedback($assessment, $question_identifier);
+ $questions[$question_identifier]['answers'] = $this->get_answers($question_identifier, $assessment, $last_answer_id);
+
+ }
+ }
+ }
+
+ $questions = !empty($questions) ? $questions : '';
+
+ return $questions;
+ }
+
+ private function str_replace_once ($search, $replace, $subject) {
+
+ $first_char = strpos($subject, $search);
+
+ if ($first_char !== false) {
+
+ $before_str = substr($subject, 0, $first_char);
+ $after_str = substr($subject, $first_char + strlen($search));
+
+ return $before_str . $replace . $after_str;
+
+ } else {
+ return $subject;
+ }
+ }
+
+ private function get_general_feedback ($assessment, $question_identifier) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $respconditions = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:resprocessing/xmlns:respcondition');
+
+ if (!empty($respconditions)) {
+
+ foreach ($respconditions as $respcondition) {
+
+ $continue = $respcondition->getAttributeNode('continue');
+ $continue = !empty($continue->nodeValue) ? strtolower($continue->nodeValue) : '';
+
+ if ($continue == 'yes') {
+
+ $display_feedback = $xpath->query('xmlns:displayfeedback', $respcondition);
+
+ if (!empty($display_feedback)) {
+ foreach ($display_feedback as $feedback) {
+
+ $feedback_identifier = $feedback->getAttributeNode('linkrefid');
+ $feedback_identifier = !empty($feedback_identifier->nodeValue) ? $feedback_identifier->nodeValue : '';
+
+ if (!empty($feedback_identifier)) {
+ $feedbacks_identifiers[] = $feedback_identifier;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ $feedback = '';
+ $feedbacks_identifiers = empty($feedbacks_identifiers) ? '' : $feedbacks_identifiers;
+
+ if (!empty($feedbacks_identifiers)) {
+ foreach ($feedbacks_identifiers as $feedback_identifier) {
+ $feedbacks = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:itemfeedback[@ident="' . $feedback_identifier . '"]/xmlns:flow_mat/xmlns:material/xmlns:mattext');
+ $feedback .= !empty($feedbacks->item(0)->nodeValue) ? $feedbacks->item(0)->nodeValue . ' ' : '';
+ }
+ }
+
+ return $feedback;
+ }
+
+ private function get_feedback ($assessment, $identifier, $item_identifier, $question_type) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $resource_processing = $xpath->query('//xmlns:item[@ident="' . $item_identifier . '"]/xmlns:resprocessing/xmlns:respcondition');
+
+ if (!empty($resource_processing)) {
+
+ foreach ($resource_processing as $response) {
+
+ $varequal = $xpath->query('xmlns:conditionvar/xmlns:varequal', $response);
+ $varequal = !empty($varequal->item(0)->nodeValue) ? $varequal->item(0)->nodeValue : '';
+
+ if (strtolower($varequal) == strtolower($identifier) || ($question_type == CC_QUIZ_ESSAY)) {
+
+ $display_feedback = $xpath->query('xmlns:displayfeedback', $response);
+
+ if (!empty($display_feedback)) {
+ foreach ($display_feedback as $feedback) {
+
+ $feedback_identifier = $feedback->getAttributeNode('linkrefid');
+ $feedback_identifier = !empty($feedback_identifier->nodeValue) ? $feedback_identifier->nodeValue : '';
+
+ if (!empty($feedback_identifier)) {
+ $feedbacks_identifiers[] = $feedback_identifier;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ $feedback = '';
+ $feedbacks_identifiers = empty($feedbacks_identifiers) ? '' : $feedbacks_identifiers;
+
+ if (!empty($feedbacks_identifiers)) {
+ foreach ($feedbacks_identifiers as $feedback_identifier) {
+ $feedbacks = $xpath->query('//xmlns:item[@ident="' . $item_identifier . '"]/xmlns:itemfeedback[@ident="' . $feedback_identifier . '"]/xmlns:flow_mat/xmlns:material/xmlns:mattext');
+ $feedback .= !empty($feedbacks->item(0)->nodeValue) ? $feedbacks->item(0)->nodeValue . ' ' : '';
+ }
+ }
+
+ return $feedback;
+ }
+
+ private function get_answers_fib ($question_identifier, $identifier, $assessment, &$last_answer_id) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $answers_fib = array();
+
+ $response_items = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:resprocessing/xmlns:respcondition');
+
+ foreach ($response_items as $response_item) {
+
+ $setvar = $xpath->query('xmlns:setvar', $response_item);
+ $setvar = is_object($setvar->item(0)) ? $setvar->item(0)->nodeValue : '';
+
+ if ($setvar != '') {
+
+ $last_answer_id++;
+
+ $answer_title = $xpath->query('xmlns:conditionvar/xmlns:varequal[@respident="' . $identifier . '"]', $response_item);
+ $answer_title = !empty($answer_title->item(0)->nodeValue) ? $answer_title->item(0)->nodeValue : '';
+
+ $case = $xpath->query('xmlns:conditionvar/xmlns:varequal/@case', $response_item);
+ $case = is_object($case->item(0)) ? $case->item(0)->nodeValue : 'no'
+ ;
+ $case = strtolower($case) == 'yes' ? 1 :
+ 0;
+
+ $display_feedback = $xpath->query('xmlns:displayfeedback', $response_item);
+
+ unset($feedbacks_identifiers);
+
+ if (!empty($display_feedback)) {
+
+ foreach ($display_feedback as $feedback) {
+
+ $feedback_identifier = $feedback->getAttributeNode('linkrefid');
+ $feedback_identifier = !empty($feedback_identifier->nodeValue) ? $feedback_identifier->nodeValue : '';
+
+ if (!empty($feedback_identifier)) {
+ $feedbacks_identifiers[] = $feedback_identifier;
+ }
+ }
+ }
+
+ $feedback = '';
+ $feedbacks_identifiers = empty($feedbacks_identifiers) ? '' : $feedbacks_identifiers;
+
+ if (!empty($feedbacks_identifiers)) {
+ foreach ($feedbacks_identifiers as $feedback_identifier) {
+ $feedbacks = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:itemfeedback[@ident="' . $feedback_identifier . '"]/xmlns:flow_mat/xmlns:material/xmlns:mattext');
+ $feedback .= !empty($feedbacks->item(0)->nodeValue) ? $feedbacks->item(0)->nodeValue . ' ' : '';
+ }
+ }
+
+ $answers_fib[] = array('id' => $last_answer_id,
+ 'title' => $answer_title,
+ 'score' => $setvar,
+ 'feedback' => $feedback,
+ 'case' => $case);
+ }
+ }
+
+ $answers_fib = empty($answers_fib) ? '' : $answers_fib;
+
+ return $answers_fib;
+ }
+
+ private function get_answers_pattern_match ($question_identifier, $identifier, $assessment, &$last_answer_id) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $answers_fib = array();
+
+ $response_items = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:resprocessing/xmlns:respcondition');
+
+ foreach ($response_items as $response_item) {
+
+ $setvar = $xpath->query('xmlns:setvar', $response_item);
+ $setvar = is_object($setvar->item(0)) ? $setvar->item(0)->nodeValue : '';
+
+ if ($setvar != '') {
+
+ $last_answer_id++;
+
+ $answer_title = $xpath->query('xmlns:conditionvar/xmlns:varequal[@respident="' . $identifier . '"]', $response_item);
+ $answer_title = !empty($answer_title->item(0)->nodeValue) ? $answer_title->item(0)->nodeValue : '';
+
+ if (empty($answer_title)) {
+ $answer_title = $xpath->query('xmlns:conditionvar/xmlns:varsubstring[@respident="' . $identifier . '"]', $response_item);
+ $answer_title = !empty($answer_title->item(0)->nodeValue) ? '*' . $answer_title->item(0)->nodeValue . '*' : '';
+ }
+
+ if (empty($answer_title)) {
+ $answer_title = '*';
+ }
+
+ $case = $xpath->query('xmlns:conditionvar/xmlns:varequal/@case', $response_item);
+ $case = is_object($case->item(0)) ? $case->item(0)->nodeValue : 'no'
+ ;
+ $case = strtolower($case) == 'yes' ? 1 :
+ 0;
+
+ $display_feedback = $xpath->query('xmlns:displayfeedback', $response_item);
+
+ unset($feedbacks_identifiers);
+
+ if (!empty($display_feedback)) {
+
+ foreach ($display_feedback as $feedback) {
+
+ $feedback_identifier = $feedback->getAttributeNode('linkrefid');
+ $feedback_identifier = !empty($feedback_identifier->nodeValue) ? $feedback_identifier->nodeValue : '';
+
+ if (!empty($feedback_identifier)) {
+ $feedbacks_identifiers[] = $feedback_identifier;
+ }
+ }
+ }
+
+ $feedback = '';
+ $feedbacks_identifiers = empty($feedbacks_identifiers) ? '' : $feedbacks_identifiers;
+
+ if (!empty($feedbacks_identifiers)) {
+ foreach ($feedbacks_identifiers as $feedback_identifier) {
+ $feedbacks = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:itemfeedback[@ident="' . $feedback_identifier . '"]/xmlns:flow_mat/xmlns:material/xmlns:mattext');
+ $feedback .= !empty($feedbacks->item(0)->nodeValue) ? $feedbacks->item(0)->nodeValue . ' ' : '';
+ }
+ }
+
+ $answers_fib[] = array('id' => $last_answer_id,
+ 'title' => $answer_title,
+ 'score' => $setvar,
+ 'feedback' => $feedback,
+ 'case' => $case);
+ }
+ }
+
+ $answers_fib = empty($answers_fib) ? '' : $answers_fib;
+
+ return $answers_fib;
+ }
+
+
+ private function get_answers ($identifier, $assessment, &$last_answer_id) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $answers = array();
+
+ $question_cc_type = $this->get_question_type($identifier, $assessment);
+ $question_cc_type = $question_cc_type['cc'];
+
+ if ($question_cc_type == CC_QUIZ_MULTIPLE_CHOICE || $question_cc_type == CC_QUIZ_MULTIPLE_RESPONSE || $question_cc_type == CC_QUIZ_TRUE_FALSE) {
+
+ $query_answers = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:response_lid/xmlns:render_choice/xmlns:response_label';
+ $query_answers_with_flow = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:flow/xmlns:response_lid/xmlns:render_choice/xmlns:response_label';
+
+ $query_indentifer = '@ident';
+ $query_title = 'xmlns:material/xmlns:mattext';
+ }
+
+ if ($question_cc_type == CC_QUIZ_ESSAY) {
+
+ $query_answers = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:response_str';
+ $query_answers_with_flow = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:flow/xmlns:response_str';
+
+ $query_indentifer = '@ident';
+ $query_title = 'xmlns:render_fib';
+ }
+
+ if ($question_cc_type == CC_QUIZ_FIB || $question_cc_type == CC_QUIZ_PATTERN_MACHT) {
+
+ $xpath_query = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:response_str/@ident';
+ $xpath_query_with_flow = '//xmlns:item[@ident="' . $identifier . '"]/xmlns:presentation/xmlns:flow/xmlns:response_str/@ident';
+
+ $count_response = $xpath->evaluate('count(' . $xpath_query_with_flow . ')');
+
+ if ($count_response == 0) {
+ $answer_identifier = $xpath->query($xpath_query);
+ } else {
+ $answer_identifier = $xpath->query($xpath_query_with_flow);
+ }
+
+ $answer_identifier = !empty($answer_identifier->item(0)->nodeValue) ? $answer_identifier->item(0)->nodeValue : '';
+
+ if ($question_cc_type == CC_QUIZ_FIB) {
+ $answers = $this->get_answers_fib ($identifier, $answer_identifier, $assessment, &$last_answer_id);
+ } else {
+ $answers = $this->get_answers_pattern_match ($identifier, $answer_identifier, $assessment, &$last_answer_id);
+ }
+
+ } else {
+
+ $count_response = $xpath->evaluate('count(' . $query_answers_with_flow . ')');
+
+ if ($count_response == 0) {
+ $response_items = $xpath->query($query_answers);
+ } else {
+ $response_items = $xpath->query($query_answers_with_flow);
+ }
+
+ if (!empty($response_items)) {
+
+ foreach ($response_items as $response_item) {
+
+ $last_answer_id++;
+
+ $answer_identifier = $xpath->query($query_indentifer, $response_item);
+ $answer_identifier = !empty($answer_identifier->item(0)->nodeValue) ? $answer_identifier->item(0)->nodeValue : '';
+
+ $answer_title = $xpath->query($query_title, $response_item);
+ $answer_title = !empty($answer_title->item(0)->nodeValue) ? $answer_title->item(0)->nodeValue : '';
+
+ $answer_feedback = $this->get_feedback($assessment, $answer_identifier, $identifier, $question_cc_type);
+
+ $answer_score = $this->get_score($assessment, $answer_identifier, $identifier);
+
+ $answers[] = array('id' => $last_answer_id,
+ 'title' => $answer_title,
+ 'score' => $answer_score,
+ 'identifier' => $answer_identifier,
+ 'feedback' => $answer_feedback);
+ }
+ }
+ }
+
+ $answers = empty($answers) ? '' : $answers;
+
+ return $answers;
+
+ }
+
+ private function get_score ($assessment, $identifier, $question_identifier) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $resource_processing = $xpath->query('//xmlns:item[@ident="' . $question_identifier . '"]/xmlns:resprocessing/xmlns:respcondition');
+
+ if (!empty($resource_processing)) {
+
+ foreach ($resource_processing as $response) {
+
+ $question_cc_type = $this->get_question_type($question_identifier, $assessment);
+ $question_cc_type = $question_cc_type['cc'];
+
+ $varequal = $xpath->query('xmlns:conditionvar/xmlns:varequal', $response);
+ $varequal = !empty($varequal->item(0)->nodeValue) ? $varequal->item(0)->nodeValue : '';
+
+ if (strtolower($varequal) == strtolower($identifier)) {
+ $score = $xpath->query('xmlns:setvar', $response);
+ $score = !empty($score->item(0)->nodeValue) ? $score->item(0)->nodeValue : '';
+ }
+ }
+ }
+
+ $score = empty($score) ? 0 : $score;
+
+ return $score;
+ }
+
+ private function create_node_course_question_categories_question_category_question_multiple_choice ($question) {
+
+ $node_course_question_categories_question_answer = '';
+ $sheet_question_categories_question = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_MULTIPLE_CHOICE);
+
+ if (!empty($question['answers'])) {
+ foreach ($question['answers'] as $answer) {
+ $node_course_question_categories_question_answer .= $this->create_node_course_question_categories_question_category_question_answer($answer);
+ }
+ }
+
+ $answer_string = $this->get_answers_string($question['answers']);
+
+ $is_single = ($question['cc_type'] == CC_QUIZ_MULTIPLE_CHOICE) ? 1 : 0;
+
+ $find_tags = array('[#node_course_question_categories_question_category_question_answer#]',
+ '[#answer_string#]',
+ '[#is_single#]');
+
+ $replace_values = array($node_course_question_categories_question_answer,
+ $answer_string,
+ $is_single);
+
+ $node_question_categories_question = str_replace($find_tags, $replace_values, $sheet_question_categories_question);
+
+ return $node_question_categories_question;
+ }
+
+ private function create_node_course_question_categories_question_category_question_eesay ($question) {
+
+ $node_course_question_categories_question_answer = '';
+
+ $sheet_question_categories_question = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_EESAY);
+
+ if (!empty($question['answers'])) {
+ foreach ($question['answers'] as $answer) {
+ $node_course_question_categories_question_answer .= $this->create_node_course_question_categories_question_category_question_answer($answer);
+ }
+ }
+
+ $find_tags = array('[#node_course_question_categories_question_category_question_answer#]');
+ $replace_values = array($node_course_question_categories_question_answer);
+
+ $node_question_categories_question = str_replace($find_tags, $replace_values, $sheet_question_categories_question);
+
+ return $node_question_categories_question;
+ }
+
+ private function create_node_course_question_categories_question_category_question_shortanswer ($question) { //, &$fib_questions) {
+
+ $sheet_question_categories_question = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_SHORTANSWER);
+ $node_course_question_categories_question_answer = '';
+
+ if (!empty($question['answers'])) {
+ foreach ($question['answers'] as $answer) {
+ $node_course_question_categories_question_answer .= $this->create_node_course_question_categories_question_category_question_answer($answer);
+ }
+ }
+
+ $answers_string = $this->get_answers_string($question['answers']);
+
+ $use_case = 0;
+
+ foreach ($question['answers'] as $answer) {
+
+ if ($answer['case'] == 1) {
+ $use_case = 1;
+ }
+
+ }
+
+ $find_tags = array('[#answers_string#]',
+ '[#use_case#]',
+ '[#node_course_question_categories_question_category_question_answer#]');
+
+ $replace_values = array($answers_string,
+ $use_case,
+ $node_course_question_categories_question_answer);
+
+
+
+ $node_question_categories_question = str_replace($find_tags, $replace_values, $sheet_question_categories_question);
+
+ return $node_question_categories_question;
+
+ }
+
+ private function create_node_course_question_categories_question_category_question_true_false ($question) {
+
+ $node_course_question_categories_question_answer = '';
+
+ $sheet_question_categories_question = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_TRUE_FALSE);
+
+ $max_score = 0;
+ $true_answer_id = 0;
+ $false_answer_id = 0;
+
+ if (!empty($question['answers'])) {
+
+ foreach ($question['answers'] as $answer) {
+ if ($answer['score'] > $max_score) {
+ $max_score = $answer['score'];
+ $true_answer_id = $answer['id'];
+ }
+
+ $node_course_question_categories_question_answer .= $this->create_node_course_question_categories_question_category_question_answer($answer);
+ }
+
+ foreach ($question['answers'] as $answer) {
+
+ if ($answer['id'] != $true_answer_id) {
+ $max_score = $answer['score'];
+ $false_answer_id = $answer['id'];
+ }
+ }
+ }
+
+ $find_tags = array('[#node_course_question_categories_question_category_question_answer#]',
+ '[#true_answer_id#]',
+ '[#false_answer_id#]');
+
+ $replace_values = array($node_course_question_categories_question_answer,
+ $true_answer_id,
+ $false_answer_id);
+
+ $node_question_categories_question = str_replace($find_tags, $replace_values, $sheet_question_categories_question);
+
+ return $node_question_categories_question;
+ }
+
+ private function get_answers_string ($answers) {
+
+ $answer_string = '';
+
+ if (!empty($answers)) {
+ foreach ($answers as $answer) {
+ $answer_string .= $answer['id'] . ',';
+ }
+ }
+
+ $answer_string = !empty($answer_string) ? substr($answer_string, 0, strlen($answer_string) - 1) : '';
+
+ return $answer_string;
+
+ }
+
+ private function create_node_course_question_categories_question_category_question_answer ($answer) {
+
+ $sheet_question_categories_question_answer = cc2moodle::loadsheet(SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_ANSWER);
+
+ $find_tags = array('[#answer_id#]',
+ '[#answer_text#]',
+ '[#answer_score#]',
+ '[#answer_feedback#]');
+
+ $replace_values = array($answer['id'],
+ $answer['title'],
+ $answer['score'],
+ $answer['feedback']);
+
+ $node_question_categories_question_answer = str_replace($find_tags, $replace_values, $sheet_question_categories_question_answer);
+
+ return $node_question_categories_question_answer;
+ }
+
+ private function get_question_type ($identifier, $assessment) {
+
+ $xpath = cc2moodle::newx_path($assessment, $this->namespaces);
+
+ $metadata = $xpath->query('//xmlns:item[@ident="' . $identifier . '"]/xmlns:itemmetadata/xmlns:qtimetadata/xmlns:qtimetadatafield');
+
+ foreach ($metadata as $field) {
+
+ $field_label = $xpath->query('xmlns:fieldlabel', $field);
+ $field_label = !empty($field_label->item(0)->nodeValue) ? $field_label->item(0)->nodeValue : '';
+
+ if ($field_label == 'cc_profile') {
+ $field_entry = $xpath->query('xmlns:fieldentry', $field);
+ $type = !empty($field_entry->item(0)->nodeValue) ? $field_entry->item(0)->nodeValue : '';
+ }
+ }
+
+ $return_type = array();
+
+ $return_type['moodle'] = '';
+ $return_type['cc'] = $type;
+
+ if ($type == CC_QUIZ_MULTIPLE_CHOICE) {
+ $return_type['moodle'] = MOODLE_QUIZ_MULTIPLE_CHOICE;
+ }
+ if ($type == CC_QUIZ_MULTIPLE_RESPONSE) {
+ $return_type['moodle'] = MOODLE_QUIZ_MULTIPLE_CHOICE;
+ }
+ if ($type == CC_QUIZ_TRUE_FALSE) {
+ $return_type['moodle'] = MOODLE_QUIZ_TRUE_FALSE;
+ }
+ if ($type == CC_QUIZ_ESSAY) {
+ $return_type['moodle'] = MOODLE_QUIZ_ESSAY;
+ }
+ if ($type == CC_QUIZ_FIB) {
+ $return_type['moodle'] = MOODLE_QUIZ_SHORTANSWER;
+ }
+ if ($type == CC_QUIZ_PATTERN_MACHT) {
+ $return_type['moodle'] = MOODLE_QUIZ_SHORTANSWER;
+ }
+
+ return $return_type;
+
+ }
+}
+?>
diff --git a/backup/cc/entity.resource.class.php b/backup/cc/entity.resource.class.php
new file mode 100755
index 0000000000..76ca4bcfd3
--- /dev/null
+++ b/backup/cc/entity.resource.class.php
@@ -0,0 +1,104 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+class resource extends entities {
+
+ private $namespaces = array('wl' => 'http://www.imsglobal.org/xsd/imswl_v1p0');
+
+ public function generate_node () {
+
+ cc2moodle::log_action('Creating Resource mods');
+
+ $response = '';
+ $sheet_mod_resource = cc2moodle::loadsheet(SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_RESOURCE);
+
+ if (!empty(cc2moodle::$instances['instances'][MOODLE_TYPE_RESOURCE])) {
+ foreach (cc2moodle::$instances['instances'][MOODLE_TYPE_RESOURCE] as $instance) {
+ $response .= $this->create_node_course_modules_mod_resource($sheet_mod_resource, $instance);
+ }
+ }
+
+ return $response;
+
+ }
+
+ private function create_node_course_modules_mod_resource ($sheet_mod_resource, $instance) {
+
+ $link = '';
+ $xpath = cc2moodle::newx_path(CC2Moodle::$manifest, CC2Moodle::$namespaces);
+
+ if ($instance['common_cartriedge_type'] == CC_TYPE_WEBCONTENT || $instance['common_cartriedge_type'] == CC_TYPE_ASSOCIATED_CONTENT) {
+ $resource = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $instance['resource_indentifier'] . '"]/@href');
+ $resource = !empty($resource->item(0)->nodeValue) ? $resource->item(0)->nodeValue : '';
+
+ if (empty($resource)) {
+
+ unset($resource);
+
+ $resource = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $instance['resource_indentifier'] . '"]/imscc:file/@href');
+ $resource = !empty($resource->item(0)->nodeValue) ? $resource->item(0)->nodeValue : '';
+
+ }
+
+ if (!empty($resource)) {
+ $link = $resource;
+ }
+ }
+
+ if ($instance['common_cartriedge_type'] == CC_TYPE_WEBLINK) {
+
+ $external_resource = $xpath->query('/imscc:manifest/imscc:resources/imscc:resource[@identifier="' . $instance['resource_indentifier'] . '"]/imscc:file/@href')->item(0)->nodeValue;
+
+ if ($external_resource) {
+
+ $resource = $this->load_xml_resource(cc2moodle::$path_to_manifest_folder . DIRECTORY_SEPARATOR . $external_resource);
+
+ if (!empty($resource)) {
+ $xpath = cc2moodle::newx_path($resource, $this->namespaces);
+ $resource = $xpath->query('/wl:webLink/url/@href');
+ $link = $resource->item(0)->nodeValue;
+ }
+ }
+ }
+
+ $find_tags = array('[#mod_instance#]',
+ '[#mod_name#]',
+ '[#mod_type#]',
+ '[#mod_reference#]',
+ '[#mod_summary#]',
+ '[#mod_alltext#]',
+ '[#date_now#]');
+
+ $replace_values = array($instance['instance'],
+ $instance['title'],
+ 'file',
+ $link,
+ '',
+ '',
+ time());
+
+ return str_replace($find_tags, $replace_values, $sheet_mod_resource);
+ }
+}
+?>
diff --git a/backup/cc/includes/constants.php b/backup/cc/includes/constants.php
new file mode 100755
index 0000000000..84d08c05dc
--- /dev/null
+++ b/backup/cc/includes/constants.php
@@ -0,0 +1,96 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+// GENERAL PARAMETERS ************************************************************************************************* //
+define('ROOT_DEEP', 2);
+
+// PACKAGES FORMATS *************************************************************************************************** //
+define('FORMAT_UNKNOWN', 'NA');
+define('FORMAT_COMMON_CARTRIDGE', 'CC');
+define('FORMAT_BLACK_BOARD', 'BB');
+
+// FORMATS NAMESPACES ************************************************************************************************* //
+define('NS_COMMON_CARTRIDGE', 'http://www.imsglobal.org/xsd/imscc/imscp_v1p1');
+define('NS_BLACK_BOARD', 'http://www.blackboard.com/content-packaging');
+
+// SHEET FILES ******************************************************************************************************** //
+define('SHEET_BASE', 'cc/sheets/base.xml');
+define('SHEET_INFO_DETAILS_MOD', 'cc/sheets/info_details_mod.xml');
+define('SHEET_INFO_DETAILS_MOD_INSTANCE', 'cc/sheets/info_details_mod_instance.xml');
+define('SHEET_COURSE_BLOCKS_BLOCK', 'cc/sheets/course_blocks_block.xml');
+define('SHEET_COURSE_HEADER', 'cc/sheets/course_header.xml');
+define('SHEET_COURSE_SECTIONS_SECTION', 'cc/sheets/course_sections_section.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD', 'cc/sheets/course_sections_section_mods_mod.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_FORUM', 'cc/sheets/course_modules_mod_forum.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_LABEL', 'cc/sheets/course_modules_mod_label.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_RESOURCE', 'cc/sheets/course_modules_mod_resource.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ', 'cc/sheets/course_modules_mod_quiz.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ_QUESTION_INSTANCE', 'cc/sheets/course_modules_mod_quiz_question_instance.xml');
+define('SHEET_COURSE_SECTIONS_SECTION_MODS_MOD_QUIZ_FEEDBACK', 'cc/sheets/course_modules_mod_quiz_feedback.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES', 'cc/sheets/course_question_categories.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY', 'cc/sheets/course_question_categories_question_category.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION', 'cc/sheets/course_question_categories_question_category_question.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_MULTIPLE_CHOICE', 'cc/sheets/course_question_categories_question_category_question_multiple_choice.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_TRUE_FALSE', 'cc/sheets/course_question_categories_question_category_question_true_false.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_EESAY', 'cc/sheets/course_question_categories_question_category_question_eesay.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_SHORTANSWER', 'cc/sheets/course_question_categories_question_category_question_shortanswer.xml');
+define('SHEET_COURSE_QUESTION_CATEGORIES_QUESTION_CATEGORY_QUESTION_ANSWER', 'cc/sheets/course_question_categories_question_category_question_answer.xml');
+
+// CC RESOURCES TYPE ************************************************************************************************** //
+define('CC_TYPE_FORUM', 'imsdt_xmlv1p0');
+define('CC_TYPE_QUIZ', 'imsqti_xmlv1p2/imscc_xmlv1p0/assessment');
+define('CC_TYPE_QUESTION_BANK', 'imsqti_xmlv1p2/imscc_xmlv1p0/question-bank');
+define('CC_TYPE_WEBLINK', 'imswl_xmlv1p0');
+define('CC_TYPE_WEBCONTENT', 'webcontent');
+define('CC_TYPE_ASSOCIATED_CONTENT', 'associatedcontent/imscc_xmlv1p0/learning-application-resource');
+define('CC_TYPE_EMPTY', '');
+
+// MOODLE RESOURCES TYPE ********************************************************************************************** //
+define('MOODLE_TYPE_FORUM', 'forum');
+define('MOODLE_TYPE_QUIZ', 'quiz');
+define('MOODLE_TYPE_QUESTION_BANK', 'question_bank');
+define('MOODLE_TYPE_RESOURCE', 'resource');
+define('MOODLE_TYPE_LABEL', 'label');
+
+// UNKNOWN TYPE ******************************************************************************************************* //
+define('TYPE_UNKNOWN', '[UNKNOWN]');
+
+// CC QUESTIONS TYPES ************************************************************************************************* //
+define('CC_QUIZ_MULTIPLE_CHOICE', 'cc.multiple_choice.v0p1');
+define('CC_QUIZ_TRUE_FALSE', 'cc.true_false.v0p1');
+define('CC_QUIZ_FIB', 'cc.fib.v0p1');
+define('CC_QUIZ_MULTIPLE_RESPONSE', 'cc.multiple_response.v0p1');
+define('CC_QUIZ_PATTERN_MACHT', 'cc.pattern_match.v0p1');
+define('CC_QUIZ_ESSAY', 'cc.essay.v0p1');
+
+//MOODLE QUESTIONS TYPES ********************************************************************************************** //
+define('MOODLE_QUIZ_MULTIPLE_CHOICE', 'multichoice');
+define('MOODLE_QUIZ_TRUE_FALSE', 'truefalse');
+define('MOODLE_QUIZ_MULTIANSWER', 'multianswer');
+define('MOODLE_QUIZ_MULTIPLE_RESPONSE', 'multichoice');
+define('MOODLE_QUIZ_MACHT', 'match');
+define('MOODLE_QUIZ_ESSAY', 'essay');
+define('MOODLE_QUIZ_SHORTANSWER', 'shortanswer');
+
+?>
diff --git a/backup/cc/restore_cc.php b/backup/cc/restore_cc.php
new file mode 100755
index 0000000000..1a1b2b0ac1
--- /dev/null
+++ b/backup/cc/restore_cc.php
@@ -0,0 +1,137 @@
+.
+/**
+ * @package moodlecore
+ * @subpackage backup-imscc
+ * @copyright 2009 Mauro Rondinelli (mauro.rondinelli [AT] uvcms.com)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+defined('MOODLE_INTERNAL') or die('Direct access to this script is forbidden.');
+
+require_once($CFG->dirroot . '/backup/cc/includes/constants.php');
+require_once($CFG->dirroot . '/backup/cc/cc2moodle.php');
+
+function cc_convert ($dir) {
+
+ $manifest_file = $dir . DIRECTORY_SEPARATOR . 'imsmanifest.xml';
+ $moodle_file = $dir . DIRECTORY_SEPARATOR . 'moodle.xml';
+ $schema_file = 'cc' . DIRECTORY_SEPARATOR . '' . DIRECTORY_SEPARATOR . 'schemas' . DIRECTORY_SEPARATOR . 'cclibxml2validator.xsd';
+
+ if (is_readable($manifest_file) && !is_readable($moodle_file)) {
+
+ $is_cc = detect_cc_format($manifest_file);
+
+ if ($is_cc) {
+
+ $detected_requirements = detect_requirements();
+
+ if (!$detected_requirements["php5"]) {
+ notify(get_string('cc_import_req_php5', 'imscc'));
+ return false;
+ }
+
+ if (!$detected_requirements["dom"]) {
+ notify(get_string('cc_import_req_dom', 'imscc'));
+ return false;
+ }
+
+ if (!$detected_requirements["libxml"]) {
+ notify(get_string('cc_import_req_libxml', 'imscc'));
+ return false;
+ }
+
+ if (!$detected_requirements["xsl"]) {
+ notify(get_string('cc_import_req_xsl', 'imscc'));
+ return false;
+ }
+
+ echo get_string('cc2moodle_checking_schema', 'imscc') . '
';
+
+ $cc_manifest = new DOMDocument();
+
+ if ($cc_manifest->load($manifest_file)) {
+ if ($cc_manifest->schemaValidate($schema_file)) {
+
+ echo get_string('cc2moodle_valid_schema', 'imscc') . '
';
+
+ $cc2moodle = new cc2moodle($manifest_file);
+
+ if (!$cc2moodle->is_auth()) {
+ return $cc2moodle->generate_moodle_xml();
+ } else {
+ notify(get_string('cc2moodle_req_auth', 'imscc'));
+ return false;
+ }
+
+ } else {
+ notify(get_string('cc2moodle_invalid_schema', 'imscc'));
+ return false;
+ }
+
+ } else {
+ notify(get_string('cc2moodle_manifest_dont_load', 'imscc'));
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+function detect_requirements () {
+
+ if (floor(phpversion()) >= 5) {
+ $detected["php5"] = true;
+ } else {
+ $detected["php5"] = false;
+ }
+
+ $detected["xsl"] = extension_loaded('xsl');
+ $detected['dom'] = extension_loaded('dom');
+ $detected['libxml'] = extension_loaded('libxml');
+
+ return $detected;
+
+}
+
+function detect_cc_format ($xml_file) {
+
+ $inpos = 0;
+ $xml_snippet = file_get_contents($xml_file, 0, NULL, 0, 500);
+
+ if (!empty($xml_snippet)) {
+
+ $xml_snippet = strtolower($xml_snippet);
+ $xml_snippet = preg_replace('/\s*/m', '', $xml_snippet);
+ $xml_snippet = str_replace("'", '', $xml_snippet);
+ $xml_snippet = str_replace('"', '', $xml_snippet);
+
+ $search_string = "xmlns=" . NS_COMMON_CARTRIDGE;
+
+ $inpos = strpos($xml_snippet, $search_string);
+
+ if ($inpos) {
+ return true;
+ } else {
+ return false;
+ }
+
+ } else {
+ return false;
+ }
+
+}
+?>
diff --git a/backup/cc/schemas/cclibxml2validator.xsd b/backup/cc/schemas/cclibxml2validator.xsd
new file mode 100755
index 0000000000..09864406ef
--- /dev/null
+++ b/backup/cc/schemas/cclibxml2validator.xsd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/config.xml b/backup/cc/schemas/config.xml
new file mode 100755
index 0000000000..e20fef3994
--- /dev/null
+++ b/backup/cc/schemas/config.xml
@@ -0,0 +1,63 @@
+
+
+
+ http://www.imsglobal.org/xsd/imscc/imscp_v1p1
+ imscp_v1p2_localised.xsd
+
+
+ http://www.imsglobal.org/xsd/imscp_v1p1
+ imscp_v1p2.xsd
+
+
+ http://www.imsglobal.org/xsd/imsccauth_v1p0
+ domainProfile_0/imsccauth_v1p0_localised.xsd
+
+
+ http://ltsc.ieee.org/xsd/imscc/LOM
+ domainProfile_1/lomLoose_localised.xsd
+
+
+ http://ltsc.ieee.org/xsd/imscc/LOM/unique
+ domainProfile_1/loose.xsd
+
+
+ http://ltsc.ieee.org/xsd/imscc/LOM/vocab
+ domainProfile_1/vocab/loose.xsd
+
+
+ http://ltsc.ieee.org/xsd/imscc/LOM/extend
+ domainProfile_1/extend/custom.xsd
+
+
+ http://ltsc.ieee.org/xsd/LOM
+ domainProfile_2/lomLoose_localised.xsd
+
+
+ http://ltsc.ieee.org/xsd/LOM/unique
+ domainProfile_2/loose.xsd
+
+
+ http://ltsc.ieee.org/xsd/LOM/vocab
+ domainProfile_2/vocab/loose.xsd
+
+
+ http://ltsc.ieee.org/xsd/LOM/extend
+ domainProfile_2/extend/custom.xsd
+
+
+ http://www.imsglobal.org/xsd/imscp_extensionv1p2
+ domainProfile_3/imscp_extensionv1p2_localised.xsd
+
+
+ http://www.imsglobal.org/xsd/ims_qtiasiv1p2
+ domainProfile_4/ims_qtiasiv1p2_localised.xsd
+
+
+ http://www.imsglobal.org/xsd/imswl_v1p0
+ domainProfile_5/imswl_v1p0_localised.xsd
+
+
+ http://www.imsglobal.org/xsd/imsdt_v1p0
+ domainProfile_6/imsdt_v1p0_localised.xsd
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_0/imsccauth_v1p0.xsd b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0.xsd
new file mode 100755
index 0000000000..070217bbe0
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0.xsd
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group is defined exactly as in IMS Content Packaging v 1.2.
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_constraintsDocument.scmt b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_constraintsDocument.scmt
new file mode 100755
index 0000000000..d91614364d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_constraintsDocument.scmt
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assertion failed for pattern_1. 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)
+
+
+
+
+ Assertion failed for pattern_2. A Resource object which is a Learning Object Web Content may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)
+
+
+
+
+ Assertion failed for pattern_3. If an item is invisible, its descendants must be invisible too.(#S02)
+
+
+
+
+ Assertion failed for pattern_4. 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)
+
+
+
+
+ Assertion failed for pattern_5.
+ The test was: .
+ The context was: ims:resources/ims:resource/ims:dependency | ims:manifest/ims:resources/ims:resource/ims:dependency
+
+
+
+
+ Assertion failed for pattern_6. 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)
+
+
+
+
+ Assertion failed for pattern_7. 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)
+
+
+
+
+ Assertion failed for pattern_8. 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)
+
+
+
+
+ Assertion failed for pattern_9. 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)
+
+
+
+
+ Assertion failed for pattern_10. 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)
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_localised.xsd b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_localised.xsd
new file mode 100755
index 0000000000..e03b30490f
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_0/imsccauth_v1p0_localised.xsd
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ general: This specification defines the authorizations for Common Cartridges and the roles to be used for selective display of resources to Learner or Instructor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group is defined exactly as in IMS Content Packaging v 1.2.
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/anyElement.xsd b/backup/cc/schemas/domainProfile_1/anyElement.xsd
new file mode 100755
index 0000000000..5b2ba1d249
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/anyElement.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/anyElement_localised.xsd b/backup/cc/schemas/domainProfile_1/anyElement_localised.xsd
new file mode 100755
index 0000000000..0dfe131acd
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/anyElement_localised.xsd
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/common/anyElement.xsd b/backup/cc/schemas/domainProfile_1/common/anyElement.xsd
new file mode 100755
index 0000000000..34d6c6a63e
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/anyElement.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/dataTypes.xsd b/backup/cc/schemas/domainProfile_1/common/dataTypes.xsd
new file mode 100755
index 0000000000..eebfb932da
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/dataTypes.xsd
@@ -0,0 +1,118 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data types defined in the LOMv1.0 base schema.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/elementNames.xsd b/backup/cc/schemas/domainProfile_1/common/elementNames.xsd
new file mode 100755
index 0000000000..019dd2e399
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/elementNames.xsd
@@ -0,0 +1,783 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion defines global element declarations for
+ each of the data elements defined in the LOMv1.0 base schema. This component
+ schema definition is used to check for the uniqueness of elements declared
+ to be unique within their parent elements by the presence of the
+ "uniqueElementName" attribute. The XML Schema constraint "unique" is used
+ to enforce uniqueness constraints.
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/elementTypes.xsd b/backup/cc/schemas/domainProfile_1/common/elementTypes.xsd
new file mode 100755
index 0000000000..9d45a71148
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/elementTypes.xsd
@@ -0,0 +1,779 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data elements defined in the LOMv1.0 base schema. This component XSD
+ defines the aggregation relationship among the LOM data elements. These aggregation
+ relationships enforce the LOMv1.0 base schema requirement that elements can only
+ be present in a LOM XML instance as elements of the aggregate element to which they
+ belong.
+
+ Duplicate declarations are included as comments for completeness. These declarations
+ should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/rootElement.xsd b/backup/cc/schemas/domainProfile_1/common/rootElement.xsd
new file mode 100755
index 0000000000..936f045d8f
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/rootElement.xsd
@@ -0,0 +1,43 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion provides the element name declaration for the
+ root element for all LOM XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/vocabTypes.xsd b/backup/cc/schemas/domainProfile_1/common/vocabTypes.xsd
new file mode 100755
index 0000000000..128de9e2ed
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/vocabTypes.xsd
@@ -0,0 +1,355 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion provides global type declarations for those
+ LOM data elements whose values are taken from a Vocabulary data type.
+
+
+
+ This component XSD requires schema components from other
+ schemas that are defined in other namespaces. These statements import the
+ appropriate components. The xsi:schemaLocation attribute is used to specify
+ the location of the file that contains the schema that defines the namespace.
+ The xsi:schemaLocation attribute is optional and is ommitted. By definition of
+ the composite schemas the appropriate namespaces and related files where those
+ namespaces are defined are brought into scope. Some XML parsers may require
+ these import statements to contain the optional xsi:schemaLocation attribute.
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/common/vocabValues.xsd b/backup/cc/schemas/domainProfile_1/common/vocabValues.xsd
new file mode 100755
index 0000000000..8d26b6e233
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/common/vocabValues.xsd
@@ -0,0 +1,266 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides global type declarations for the standard
+ LOMv1.0 vocabulary tokens for those LOM data elements whose values are taken from
+ a Vocabulary data type.
+
+ This component schema defintion defines the stanard vocabulary value
+ declarations as defined in the LOMv1.0 base schema. These vocabulary
+ value declarations are used in conjunction with both vocab/custom.xsd and
+ vocab/loose.xsd.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/dataTypes_localised.xsd b/backup/cc/schemas/domainProfile_1/dataTypes_localised.xsd
new file mode 100755
index 0000000000..a3747096a9
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/dataTypes_localised.xsd
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data types defined in the LOMv1.0 base schema.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/elementNames_localised.xsd b/backup/cc/schemas/domainProfile_1/elementNames_localised.xsd
new file mode 100755
index 0000000000..9ab993e5b7
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/elementNames_localised.xsd
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion defines global element declarations for
+ each of the data elements defined in the LOMv1.0 base schema. This component
+ schema definition is used to check for the uniqueness of elements declared
+ to be unique within their parent elements by the presence of the
+ "uniqueElementName" attribute. The XML Schema constraint "unique" is used
+ to enforce uniqueness constraints.
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/elementTypes_localised.xsd b/backup/cc/schemas/domainProfile_1/elementTypes_localised.xsd
new file mode 100755
index 0000000000..406435b4ff
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/elementTypes_localised.xsd
@@ -0,0 +1,905 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data elements defined in the LOMv1.0 base schema. This component XSD
+ defines the aggregation relationship among the LOM data elements. These aggregation
+ relationships enforce the LOMv1.0 base schema requirement that elements can only
+ be present in a LOM XML instance as elements of the aggregate element to which they
+ belong.
+
+ Duplicate declarations are included as comments for completeness. These declarations
+ should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+ explanation: metaMetadata is unused.
+
+
+
+
+
+
+
+ explanation: lom.annotation is unused.
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: General.structure is unused.
+
+
+
+ explanation: General.aggregationLevel is unused.
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: liveCycle.version is unused.
+
+
+
+ explanation: lifeCycle.status is unused.
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: technical.size is unused.
+
+
+
+ explanation: technical.location is unused.
+
+
+
+ explanation: technical.requirement is unused.
+
+
+
+ explanation: technical.installationRemarks is unused.
+
+
+
+ explanation: technical.otherPlatformRequirements is unused.
+
+
+
+ explanation: technical.duration is unused.
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: interactivityType is unused.
+
+
+
+
+ explanation: interactivityLevel is unused.
+
+
+
+ explanation: semanticDensity is unused.
+
+
+
+ explanation: intendedEndUserRole is unused.
+
+
+
+ explanation: Context is unused.
+
+
+
+ explanation: typicalAgeRange is unused.
+
+
+
+ explanation: difficulty is unused.
+
+
+
+ explanation: typicalLearningTime is unused.
+
+
+
+ explanation: description is unused in educational context.
+
+
+
+ explanation: language unused in technical context, only in general context.
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/extend/custom.xsd b/backup/cc/schemas/domainProfile_1/extend/custom.xsd
new file mode 100755
index 0000000000..bba5a3f56a
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/extend/custom.xsd
@@ -0,0 +1,52 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defines the XML Schema content model groups customElements
+ and customAttributes to support validation of extension XML elements and attributes.
+
+ This component XSD should be used if extensions are to be supported in LOM
+ XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/imscc_m_definition.xsd b/backup/cc/schemas/domainProfile_1/imscc_m_definition.xsd
new file mode 100755
index 0000000000..7c67154d5e
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/imscc_m_definition.xsd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/lomLoose.xsd b/backup/cc/schemas/domainProfile_1/lomLoose.xsd
new file mode 100755
index 0000000000..ecb82c767b
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/lomLoose.xsd
@@ -0,0 +1,71 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This file represents a composite schema for validating
+ LOM XML Instances. This file is built by default to represent a
+ composite schema for validation of the following:
+
+ 1) The use of LOMv1.0 base schema (i.e., 1484.12.1-2002) vocabulary
+ source/value pairs only
+ 2) Uniqueness constraints defined by LOMv1.0 base schema
+ 3) No existenace of any defined extensions:
+ LOMv1.0 base schema XML element extension,
+ LOMv1.0 base schema XML attribute extension and
+ LOMv1.0 base schema vocabulary data type extension
+
+ Alternative composite schemas can be assembled by selecting
+ from the various alternative component schema listed below.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/lomLoose_constraintsDocument.scmt b/backup/cc/schemas/domainProfile_1/lomLoose_constraintsDocument.scmt
new file mode 100755
index 0000000000..d91614364d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/lomLoose_constraintsDocument.scmt
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assertion failed for pattern_1. 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)
+
+
+
+
+ Assertion failed for pattern_2. A Resource object which is a Learning Object Web Content may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)
+
+
+
+
+ Assertion failed for pattern_3. If an item is invisible, its descendants must be invisible too.(#S02)
+
+
+
+
+ Assertion failed for pattern_4. 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)
+
+
+
+
+ Assertion failed for pattern_5.
+ The test was: .
+ The context was: ims:resources/ims:resource/ims:dependency | ims:manifest/ims:resources/ims:resource/ims:dependency
+
+
+
+
+ Assertion failed for pattern_6. 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)
+
+
+
+
+ Assertion failed for pattern_7. 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)
+
+
+
+
+ Assertion failed for pattern_8. 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)
+
+
+
+
+ Assertion failed for pattern_9. 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)
+
+
+
+
+ Assertion failed for pattern_10. 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)
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/lomLoose_localised.xsd b/backup/cc/schemas/domainProfile_1/lomLoose_localised.xsd
new file mode 100755
index 0000000000..db2aece2f5
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/lomLoose_localised.xsd
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This file represents a composite schema for validating
+ LOM XML Instances. This file is built by default to represent a
+ composite schema for validation of the following:
+
+ 1) The use of LOMv1.0 base schema (i.e., 1484.12.1-2002) vocabulary
+ source/value pairs only
+ 2) Uniqueness constraints defined by LOMv1.0 base schema
+ 3) No existenace of any defined extensions:
+ LOMv1.0 base schema XML element extension,
+ LOMv1.0 base schema XML attribute extension and
+ LOMv1.0 base schema vocabulary data type extension
+
+ Alternative composite schemas can be assembled by selecting
+ from the various alternative component schema listed below.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+ conformance: 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
+
+ scope: This profile is used within the Common Cartridge specification.
+ name: IMS Common Cartridge profile of IEEE LOM V1.0 loose for unqualified Dublin Core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/loose.xsd b/backup/cc/schemas/domainProfile_1/loose.xsd
new file mode 100755
index 0000000000..bc6a0474e5
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/loose.xsd
@@ -0,0 +1,292 @@
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides attribute group declarations for
+ LOM data elements to support schema-based validation of uniqueness constraints
+ within a LOM XML instance where the exact set of attributes associated with each
+ element has to be as specified by the LOM XML Schema binding (i.e., where extra
+ attributes to enforce uniqueness have to be avoided).
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+ NOTE: The absence of the enforcement of the uniqueness constraints does not
+ relieve a particular LOM XML instance from satisfying the uniqueness constraints
+ described in the LOMv1.0 base schema. Applications that require the use of
+ the unique/loose.xsd component XSD have to enforce those uniqueness constraints
+ by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/rootElement_localised.xsd b/backup/cc/schemas/domainProfile_1/rootElement_localised.xsd
new file mode 100755
index 0000000000..dfddcb2349
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/rootElement_localised.xsd
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion provides the element name declaration for the
+ root element for all LOM XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/unique/loose.xsd b/backup/cc/schemas/domainProfile_1/unique/loose.xsd
new file mode 100755
index 0000000000..8047676bdc
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/unique/loose.xsd
@@ -0,0 +1,295 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides attribute group declarations for
+ LOM data elements to support schema-based validation of uniqueness constraints
+ within a LOM XML instance where the exact set of attributes associated with each
+ element has to be as specified by the LOM XML Schema binding (i.e., where extra
+ attributes to enforce uniqueness have to be avoided).
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+ NOTE: The absence of the enforcement of the uniqueness constraints does not
+ relieve a particular LOM XML instance from satisfying the uniqueness constraints
+ described in the LOMv1.0 base schema. Applications that require the use of
+ the unique/loose.xsd component XSD have to enforce those uniqueness constraints
+ by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/vocab/loose.xsd b/backup/cc/schemas/domainProfile_1/vocab/loose.xsd
new file mode 100755
index 0000000000..c25d38fabc
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/vocab/loose.xsd
@@ -0,0 +1,147 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides simple type declarations for LOM
+ data elements that are defined as Vocabulary data types.
+
+ This component schema definition enforces that vocabulary sources and values
+ are character strings, which simplifies the schema validation process for those
+ applications that perform vocabulary source/value validation using
+ post-schema-validation.
+
+ This component schema definition relaxes the validation constraints by
+ allowing both sources and values to be arbitrary character strings.
+
+ NOTE: The absence of the enforcement of vocabulary values does not relieve a
+ particular LOM XML instance from satisfying vocabulary requirements defined
+ in the LOMv1.0 base schema. Applications that require the use of vocab/loose.xsd
+ component XSD should enforce those vocabulary requirements by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_1/vocabTypes_localised.xsd b/backup/cc/schemas/domainProfile_1/vocabTypes_localised.xsd
new file mode 100755
index 0000000000..57ad0a1cf0
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/vocabTypes_localised.xsd
@@ -0,0 +1,379 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion provides global type declarations for those
+ LOM data elements whose values are taken from a Vocabulary data type.
+
+
+
+ This component XSD requires schema components from other
+ schemas that are defined in other namespaces. These statements import the
+ appropriate components. The xsi:schemaLocation attribute is used to specify
+ the location of the file that contains the schema that defines the namespace.
+ The xsi:schemaLocation attribute is optional and is ommitted. By definition of
+ the composite schemas the appropriate namespaces and related files where those
+ namespaces are defined are brought into scope. Some XML parsers may require
+ these import statements to contain the optional xsi:schemaLocation attribute.
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: learningResourceType must be 'IMS Common Cartridge'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: No custom elements are allowed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_1/vocabValues_localised.xsd b/backup/cc/schemas/domainProfile_1/vocabValues_localised.xsd
new file mode 100755
index 0000000000..81429041b1
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_1/vocabValues_localised.xsd
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides global type declarations for the standard
+ LOMv1.0 vocabulary tokens for those LOM data elements whose values are taken from
+ a Vocabulary data type.
+
+ This component schema defintion defines the stanard vocabulary value
+ declarations as defined in the LOMv1.0 base schema. These vocabulary
+ value declarations are used in conjunction with both vocab/custom.xsd and
+ vocab/loose.xsd.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/anyElement.xsd b/backup/cc/schemas/domainProfile_2/anyElement.xsd
new file mode 100755
index 0000000000..de01fb98b4
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/anyElement.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/anyElement_localised.xsd b/backup/cc/schemas/domainProfile_2/anyElement_localised.xsd
new file mode 100755
index 0000000000..df66c7f369
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/anyElement_localised.xsd
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/common/anyElement.xsd b/backup/cc/schemas/domainProfile_2/common/anyElement.xsd
new file mode 100755
index 0000000000..936f372cdf
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/anyElement.xsd
@@ -0,0 +1,39 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides the element group declaration and the
+ attribute group declaration used for extension XML elements and attributes.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/dataTypes.xsd b/backup/cc/schemas/domainProfile_2/common/dataTypes.xsd
new file mode 100755
index 0000000000..fbd3e102e6
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/dataTypes.xsd
@@ -0,0 +1,118 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data types defined in the LOMv1.0 base schema.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/elementNames.xsd b/backup/cc/schemas/domainProfile_2/common/elementNames.xsd
new file mode 100755
index 0000000000..bc20ce0601
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/elementNames.xsd
@@ -0,0 +1,783 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion defines global element declarations for
+ each of the data elements defined in the LOMv1.0 base schema. This component
+ schema definition is used to check for the uniqueness of elements declared
+ to be unique within their parent elements by the presence of the
+ "uniqueElementName" attribute. The XML Schema constraint "unique" is used
+ to enforce uniqueness constraints.
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/elementTypes.xsd b/backup/cc/schemas/domainProfile_2/common/elementTypes.xsd
new file mode 100755
index 0000000000..b7731c157e
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/elementTypes.xsd
@@ -0,0 +1,779 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data elements defined in the LOMv1.0 base schema. This component XSD
+ defines the aggregation relationship among the LOM data elements. These aggregation
+ relationships enforce the LOMv1.0 base schema requirement that elements can only
+ be present in a LOM XML instance as elements of the aggregate element to which they
+ belong.
+
+ Duplicate declarations are included as comments for completeness. These declarations
+ should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/rootElement.xsd b/backup/cc/schemas/domainProfile_2/common/rootElement.xsd
new file mode 100755
index 0000000000..70bd42a3e2
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/rootElement.xsd
@@ -0,0 +1,43 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion provides the element name declaration for the
+ root element for all LOM XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/vocabTypes.xsd b/backup/cc/schemas/domainProfile_2/common/vocabTypes.xsd
new file mode 100755
index 0000000000..55d428760d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/vocabTypes.xsd
@@ -0,0 +1,355 @@
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion provides global type declarations for those
+ LOM data elements whose values are taken from a Vocabulary data type.
+
+
+
+ This component XSD requires schema components from other
+ schemas that are defined in other namespaces. These statements import the
+ appropriate components. The xsi:schemaLocation attribute is used to specify
+ the location of the file that contains the schema that defines the namespace.
+ The xsi:schemaLocation attribute is optional and is ommitted. By definition of
+ the composite schemas the appropriate namespaces and related files where those
+ namespaces are defined are brought into scope. Some XML parsers may require
+ these import statements to contain the optional xsi:schemaLocation attribute.
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/common/vocabValues.xsd b/backup/cc/schemas/domainProfile_2/common/vocabValues.xsd
new file mode 100755
index 0000000000..f31f18ec5d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/common/vocabValues.xsd
@@ -0,0 +1,266 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides global type declarations for the standard
+ LOMv1.0 vocabulary tokens for those LOM data elements whose values are taken from
+ a Vocabulary data type.
+
+ This component schema defintion defines the stanard vocabulary value
+ declarations as defined in the LOMv1.0 base schema. These vocabulary
+ value declarations are used in conjunction with both vocab/custom.xsd and
+ vocab/loose.xsd.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/dataTypes_localised.xsd b/backup/cc/schemas/domainProfile_2/dataTypes_localised.xsd
new file mode 100755
index 0000000000..35ea033888
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/dataTypes_localised.xsd
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data types defined in the LOMv1.0 base schema.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/elementNames_localised.xsd b/backup/cc/schemas/domainProfile_2/elementNames_localised.xsd
new file mode 100755
index 0000000000..dd1b9ee7d0
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/elementNames_localised.xsd
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion defines global element declarations for
+ each of the data elements defined in the LOMv1.0 base schema. This component
+ schema definition is used to check for the uniqueness of elements declared
+ to be unique within their parent elements by the presence of the
+ "uniqueElementName" attribute. The XML Schema constraint "unique" is used
+ to enforce uniqueness constraints.
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/elementTypes_localised.xsd b/backup/cc/schemas/domainProfile_2/elementTypes_localised.xsd
new file mode 100755
index 0000000000..9b9f77b628
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/elementTypes_localised.xsd
@@ -0,0 +1,806 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion defines global schema data type declarations
+ for data elements defined in the LOMv1.0 base schema. This component XSD
+ defines the aggregation relationship among the LOM data elements. These aggregation
+ relationships enforce the LOMv1.0 base schema requirement that elements can only
+ be present in a LOM XML instance as elements of the aggregate element to which they
+ belong.
+
+ Duplicate declarations are included as comments for completeness. These declarations
+ should remain commented out or they can be removed completely.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/extend/custom.xsd b/backup/cc/schemas/domainProfile_2/extend/custom.xsd
new file mode 100755
index 0000000000..611012e8eb
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/extend/custom.xsd
@@ -0,0 +1,52 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defines the XML Schema content model groups customElements
+ and customAttributes to support validation of extension XML elements and attributes.
+
+ This component XSD should be used if extensions are to be supported in LOM
+ XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/imscc_mR_definition.xsd b/backup/cc/schemas/domainProfile_2/imscc_mR_definition.xsd
new file mode 100755
index 0000000000..9b82a7b5dc
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/imscc_mR_definition.xsd
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/lomLoose.xsd b/backup/cc/schemas/domainProfile_2/lomLoose.xsd
new file mode 100755
index 0000000000..791eb7cf64
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/lomLoose.xsd
@@ -0,0 +1,71 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This file represents a composite schema for validating
+ LOM XML Instances. This file is built by default to represent a
+ composite schema for validation of the following:
+
+ 1) The use of LOMv1.0 base schema (i.e., 1484.12.1-2002) vocabulary
+ source/value pairs only
+ 2) Uniqueness constraints defined by LOMv1.0 base schema
+ 3) No existenace of any defined extensions:
+ LOMv1.0 base schema XML element extension,
+ LOMv1.0 base schema XML attribute extension and
+ LOMv1.0 base schema vocabulary data type extension
+
+ Alternative composite schemas can be assembled by selecting
+ from the various alternative component schema listed below.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/lomLoose_constraintsDocument.scmt b/backup/cc/schemas/domainProfile_2/lomLoose_constraintsDocument.scmt
new file mode 100755
index 0000000000..d91614364d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/lomLoose_constraintsDocument.scmt
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assertion failed for pattern_1. 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)
+
+
+
+
+ Assertion failed for pattern_2. A Resource object which is a Learning Object Web Content may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)
+
+
+
+
+ Assertion failed for pattern_3. If an item is invisible, its descendants must be invisible too.(#S02)
+
+
+
+
+ Assertion failed for pattern_4. 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)
+
+
+
+
+ Assertion failed for pattern_5.
+ The test was: .
+ The context was: ims:resources/ims:resource/ims:dependency | ims:manifest/ims:resources/ims:resource/ims:dependency
+
+
+
+
+ Assertion failed for pattern_6. 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)
+
+
+
+
+ Assertion failed for pattern_7. 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)
+
+
+
+
+ Assertion failed for pattern_8. 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)
+
+
+
+
+ Assertion failed for pattern_9. 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)
+
+
+
+
+ Assertion failed for pattern_10. 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)
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/lomLoose_localised.xsd b/backup/cc/schemas/domainProfile_2/lomLoose_localised.xsd
new file mode 100755
index 0000000000..81ea05a9e8
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/lomLoose_localised.xsd
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This file represents a composite schema for validating
+ LOM XML Instances. This file is built by default to represent a
+ composite schema for validation of the following:
+
+ 1) The use of LOMv1.0 base schema (i.e., 1484.12.1-2002) vocabulary
+ source/value pairs only
+ 2) Uniqueness constraints defined by LOMv1.0 base schema
+ 3) No existenace of any defined extensions:
+ LOMv1.0 base schema XML element extension,
+ LOMv1.0 base schema XML attribute extension and
+ LOMv1.0 base schema vocabulary data type extension
+
+ Alternative composite schemas can be assembled by selecting
+ from the various alternative component schema listed below.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/loose.xsd b/backup/cc/schemas/domainProfile_2/loose.xsd
new file mode 100755
index 0000000000..a41244a978
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/loose.xsd
@@ -0,0 +1,292 @@
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides attribute group declarations for
+ LOM data elements to support schema-based validation of uniqueness constraints
+ within a LOM XML instance where the exact set of attributes associated with each
+ element has to be as specified by the LOM XML Schema binding (i.e., where extra
+ attributes to enforce uniqueness have to be avoided).
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+ NOTE: The absence of the enforcement of the uniqueness constraints does not
+ relieve a particular LOM XML instance from satisfying the uniqueness constraints
+ described in the LOMv1.0 base schema. Applications that require the use of
+ the unique/loose.xsd component XSD have to enforce those uniqueness constraints
+ by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/rootElement_localised.xsd b/backup/cc/schemas/domainProfile_2/rootElement_localised.xsd
new file mode 100755
index 0000000000..8101ec3e2b
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/rootElement_localised.xsd
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema defintion provides the element name declaration for the
+ root element for all LOM XML instances.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/unique/loose.xsd b/backup/cc/schemas/domainProfile_2/unique/loose.xsd
new file mode 100755
index 0000000000..0defa03986
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/unique/loose.xsd
@@ -0,0 +1,295 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides attribute group declarations for
+ LOM data elements to support schema-based validation of uniqueness constraints
+ within a LOM XML instance where the exact set of attributes associated with each
+ element has to be as specified by the LOM XML Schema binding (i.e., where extra
+ attributes to enforce uniqueness have to be avoided).
+
+ Duplicate declarations are included as comments for completeness. These
+ declarations should remain commented out or they can be removed completely.
+
+ NOTE: The absence of the enforcement of the uniqueness constraints does not
+ relieve a particular LOM XML instance from satisfying the uniqueness constraints
+ described in the LOMv1.0 base schema. Applications that require the use of
+ the unique/loose.xsd component XSD have to enforce those uniqueness constraints
+ by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/vocab/loose.xsd b/backup/cc/schemas/domainProfile_2/vocab/loose.xsd
new file mode 100755
index 0000000000..b216d835c4
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/vocab/loose.xsd
@@ -0,0 +1,147 @@
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides simple type declarations for LOM
+ data elements that are defined as Vocabulary data types.
+
+ This component schema definition enforces that vocabulary sources and values
+ are character strings, which simplifies the schema validation process for those
+ applications that perform vocabulary source/value validation using
+ post-schema-validation.
+
+ This component schema definition relaxes the validation constraints by
+ allowing both sources and values to be arbitrary character strings.
+
+ NOTE: The absence of the enforcement of vocabulary values does not relieve a
+ particular LOM XML instance from satisfying vocabulary requirements defined
+ in the LOMv1.0 base schema. Applications that require the use of vocab/loose.xsd
+ component XSD should enforce those vocabulary requirements by other means.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/domainProfile_2/vocabTypes_localised.xsd b/backup/cc/schemas/domainProfile_2/vocabTypes_localised.xsd
new file mode 100755
index 0000000000..c44208cc5e
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/vocabTypes_localised.xsd
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+ This component schema defintion provides global type declarations for those
+ LOM data elements whose values are taken from a Vocabulary data type.
+
+
+
+ This component XSD requires schema components from other
+ schemas that are defined in other namespaces. These statements import the
+ appropriate components. The xsi:schemaLocation attribute is used to specify
+ the location of the file that contains the schema that defines the namespace.
+ The xsi:schemaLocation attribute is optional and is ommitted. By definition of
+ the composite schemas the appropriate namespaces and related files where those
+ namespaces are defined are brought into scope. Some XML parsers may require
+ these import statements to contain the optional xsi:schemaLocation attribute.
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: The vocabulary for intendedEndUserRole is 'IMSGLC_CC_Rolesv1p0'.
+
+
+
+
+
+
+
+
+
+
+ explanation: The source for a context object is fixed to 'LOMv1.0'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: Possible intendedEndUserRoles are only 'Learner' and 'Instructor'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ explanation: The value of context is fixed to 'higher education'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_2/vocabValues_localised.xsd b/backup/cc/schemas/domainProfile_2/vocabValues_localised.xsd
new file mode 100755
index 0000000000..42128ac084
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_2/vocabValues_localised.xsd
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ This work is licensed under the Creative Commons Attribution-ShareAlike
+ License. To view a copy of this license, see the file license.txt,
+ visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
+ Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+
+
+ This component schema definition provides global type declarations for the standard
+ LOMv1.0 vocabulary tokens for those LOM data elements whose values are taken from
+ a Vocabulary data type.
+
+ This component schema defintion defines the stanard vocabulary value
+ declarations as defined in the LOMv1.0 base schema. These vocabulary
+ value declarations are used in conjunction with both vocab/custom.xsd and
+ vocab/loose.xsd.
+
+
+ This file has been modified by the Knowledge Media Institute of the
+ University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
+ following changes:
+ 1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
+ because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
+ 2) In all component XSDs the schemaLocation attribute was amended to the
+ xs:import and xs:include statements. This enables the usage of the schemas
+ with tools which don't deal well with missing schemaLocation informations.
+
+ This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2.xsd b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2.xsd
new file mode 100755
index 0000000000..4720ca83f0
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2.xsd
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+ XSD Data File Information
+ -------------------------
+ Author: Colin Smythe (IMS, UK)
+ Date: 31st October, 2006
+ Version: 2.0
+ Status: Public Draft
+ Description: This is a normative representation of the IMS Packaging Extension 1.0 Information Model for binding
+ purposes. Read the corresponding IMS Content Packaging Information Model for the Platform
+ Independent Model representation.
+
+ History: Version 2 includes the modified definition of LingualTitle.
+ Version 1 of the IMS Packaging Utility v1.2 XSD for public draft release.
+ It has a target namespace of http://www.imsglobal.org/xsd/imscp_extensionv1p2.
+ This Utility uses this general approach to modeling:
+ (1) All of the elements and attributes are defined as local to their host object;
+ (2) There are multiple host objects;
+ (3) Comments have been added to the complexType definitions.
+
+ Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+ IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information
+ contained in this binding ("Specification") for purposes of scientific
+ experimental and scholarly collaboration only. IMS/GLC makes no warranty or
+ representation regarding the accuracy or completeness of the Specification.
+ This material is provided on an "As Is" and "As Available basis".
+ The Specification is at all times subject to change and revision without
+ notice. It is your sole responsibility to evaluate the usefulness, accuracy
+ and completeness of the Specification as it relates to you. IMS/GLC would
+ appreciate receiving your comments and suggestions. Please contact IMS/GLC
+ through our website at: http://www.imsglobal.org.
+
+ Source XSLT File Information
+ ----------------------------
+ XSL Generator: UMLtoXSDTransformv0p7.xsl
+ XSLT Processor: Xalan
+ Release: 1.0 Beta 1
+ Date: 30th November, 2005
+
+ Auto-generation Tool
+ --------------------
+ This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt
+ has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware
+ that this is an experimental tool. Permission is given to make use of this tool. IMS makes no
+ claim on the materials created by third party users of this tool. Details on how to use this tool
+ are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"
+ available at the IMS web-site.
+ Tool Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+
+
+
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A bound instance of an IPointer object allows a packager to associate
+ a specific XML node set in the same IMS Manifest Document that contains
+ it or an XML node set in a different IMS Manifest Document instance with
+ the parent object containing an IMS Pointer instance.
+
+ A referenced node set must be a valid child of the referencing parent element,
+ both as to kind and multiplicity in a referencing parent's context.
+
+ Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An instance of the metadata element contains data structures that declare descriptive
+ information about a metadata element's parent only.
+
+ One or more different metadata models may be declared as child extensions of a
+ metadata element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+ A variant element is closely analogous to a resource element in the
+ IMS Content Packaging Information Model. Variant is a container for a
+ an alternative resource. A resource may contain references
+ to assets that are all of the same type or different types (i.e., file formats).
+
+ The Variant class points to the alternatibe resource. Metadata is used to
+ describe the nature of a collection of alternative assets and their intended
+ use. Examples include, but are not limited to, use as lingual variants,
+ visual or auditory variants, remediation variants, or platform delivery variants.
+
+ The scope of referenced assets is specific to a Variant object. Their use is in the
+ context of the parent object containing a variant instance, typically a bound instance
+ of a Resource object from the IMS CP namespace.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_constraintsDocument.scmt b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_constraintsDocument.scmt
new file mode 100755
index 0000000000..d91614364d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_constraintsDocument.scmt
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assertion failed for pattern_1. 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)
+
+
+
+
+ Assertion failed for pattern_2. A Resource object which is a Learning Object Web Content may contain Dependency objects which reference Resource objects with Type 'webcontent'.(#S03)
+
+
+
+
+ Assertion failed for pattern_3. If an item is invisible, its descendants must be invisible too.(#S02)
+
+
+
+
+ Assertion failed for pattern_4. 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)
+
+
+
+
+ Assertion failed for pattern_5.
+ The test was: .
+ The context was: ims:resources/ims:resource/ims:dependency | ims:manifest/ims:resources/ims:resource/ims:dependency
+
+
+
+
+ Assertion failed for pattern_6. 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)
+
+
+
+
+ Assertion failed for pattern_7. 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)
+
+
+
+
+ Assertion failed for pattern_8. 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)
+
+
+
+
+ Assertion failed for pattern_9. 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)
+
+
+
+
+ Assertion failed for pattern_10. 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)
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_localised.xsd b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_localised.xsd
new file mode 100755
index 0000000000..4cc935bab0
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_3/imscp_extensionv1p2_localised.xsd
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XSD Data File Information
+ -------------------------
+ Author: Colin Smythe (IMS, UK)
+ Date: 31st October, 2006
+ Version: 2.0
+ Status: Public Draft
+ Description: This is a normative representation of the IMS Packaging Extension 1.0 Information Model for binding
+ purposes. Read the corresponding IMS Content Packaging Information Model for the Platform
+ Independent Model representation.
+
+ History: Version 2 includes the modified definition of LingualTitle.
+ Version 1 of the IMS Packaging Utility v1.2 XSD for public draft release.
+ It has a target namespace of http://www.imsglobal.org/xsd/imscp_extensionv1p2.
+ This Utility uses this general approach to modeling:
+ (1) All of the elements and attributes are defined as local to their host object;
+ (2) There are multiple host objects;
+ (3) Comments have been added to the complexType definitions.
+
+ Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+ IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information
+ contained in this binding ("Specification") for purposes of scientific
+ experimental and scholarly collaboration only. IMS/GLC makes no warranty or
+ representation regarding the accuracy or completeness of the Specification.
+ This material is provided on an "As Is" and "As Available basis".
+ The Specification is at all times subject to change and revision without
+ notice. It is your sole responsibility to evaluate the usefulness, accuracy
+ and completeness of the Specification as it relates to you. IMS/GLC would
+ appreciate receiving your comments and suggestions. Please contact IMS/GLC
+ through our website at: http://www.imsglobal.org.
+
+ Source XSLT File Information
+ ----------------------------
+ XSL Generator: UMLtoXSDTransformv0p7.xsl
+ XSLT Processor: Xalan
+ Release: 1.0 Beta 1
+ Date: 30th November, 2005
+
+ Auto-generation Tool
+ --------------------
+ This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt
+ has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware
+ that this is an experimental tool. Permission is given to make use of this tool. IMS makes no
+ claim on the materials created by third party users of this tool. Details on how to use this tool
+ are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"
+ available at the IMS web-site.
+ Tool Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+
+ general: This profile of the extension schema of IMS CP 1.2 restricts extensions to use the variant element only.
+
+
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A bound instance of an IPointer object allows a packager to associate
+ a specific XML node set in the same IMS Manifest Document that contains
+ it or an XML node set in a different IMS Manifest Document instance with
+ the parent object containing an IMS Pointer instance.
+
+ A referenced node set must be a valid child of the referencing parent element,
+ both as to kind and multiplicity in a referencing parent's context.
+
+ Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An instance of the metadata element contains data structures that declare descriptive
+ information about a metadata element's parent only.
+
+ One or more different metadata models may be declared as child extensions of a
+ metadata element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+ A variant element is closely analogous to a resource element in the
+ IMS Content Packaging Information Model. Variant is a container for a
+ an alternative resource. A resource may contain references
+ to assets that are all of the same type or different types (i.e., file formats).
+
+ The Variant class points to the alternatibe resource. Metadata is used to
+ describe the nature of a collection of alternative assets and their intended
+ use. Examples include, but are not limited to, use as lingual variants,
+ visual or auditory variants, remediation variants, or platform delivery variants.
+
+ The scope of referenced assets is specific to a Variant object. Their use is in the
+ context of the parent object containing a variant instance, typically a bound instance
+ of a Resource object from the IMS CP namespace.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2.xsd b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2.xsd
new file mode 100755
index 0000000000..3a2463f8a1
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2.xsd
@@ -0,0 +1,2234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_def_copy.xsd b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_def_copy.xsd
new file mode 100755
index 0000000000..063a43d10e
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_def_copy.xsd
@@ -0,0 +1,2249 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_localised.xsd b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_localised.xsd
new file mode 100755
index 0000000000..fe87324531
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_4/ims_qtiasiv1p2_localised.xsd
@@ -0,0 +1,2179 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_4/imscc_q_definition.xsd b/backup/cc/schemas/domainProfile_4/imscc_q_definition.xsd
new file mode 100755
index 0000000000..30e0aa047d
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_4/imscc_q_definition.xsd
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_4/xml.xsd b/backup/cc/schemas/domainProfile_4/xml.xsd
new file mode 100755
index 0000000000..aec62fc9bf
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_4/xml.xsd
@@ -0,0 +1,145 @@
+
+
+
+
+
+ See http://www.w3.org/XML/1998/namespace.html and
+ http://www.w3.org/TR/REC-xml for information about this namespace.
+
+ This schema document describes the XML namespace, in a form
+ suitable for import by other schema documents.
+
+ Note that local names in this namespace are intended to be defined
+ only by the World Wide Web Consortium or its subgroups. The
+ following names are currently defined in this namespace and should
+ not be used with conflicting semantics by any Working Group,
+ specification, or document instance:
+
+ base (as an attribute name): denotes an attribute whose value
+ provides a URI to be used as the base for interpreting any
+ relative URIs in the scope of the element on which it
+ appears; its value is inherited. This name is reserved
+ by virtue of its definition in the XML Base specification.
+
+ id (as an attribute name): denotes an attribute whose value
+ should be interpreted as if declared to be of type ID.
+ This name is reserved by virtue of its definition in the
+ xml:id specification.
+
+ lang (as an attribute name): denotes an attribute whose value
+ is a language code for the natural language of the content of
+ any element; its value is inherited. This name is reserved
+ by virtue of its definition in the XML specification.
+
+ space (as an attribute name): denotes an attribute whose
+ value is a keyword indicating what whitespace processing
+ discipline is intended for the content of the element; its
+ value is inherited. This name is reserved by virtue of its
+ definition in the XML specification.
+
+ Father (in any context at all): denotes Jon Bosak, the chair of
+ the original XML Working Group. This name is reserved by
+ the following decision of the W3C XML Plenary and
+ XML Coordination groups:
+
+ In appreciation for his vision, leadership and dedication
+ the W3C XML Plenary on this 10th day of February, 2000
+ reserves for Jon Bosak in perpetuity the XML name
+ xml:Father
+
+
+
+
+ This schema defines attributes and an attribute group
+ suitable for use by
+ schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ attributes on elements they define.
+
+ To enable this, such a schema must import this schema
+ for the XML namespace, e.g. as follows:
+ <schema . . .>
+ . . .
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+ Subsequently, qualified reference to any of the attributes
+ or the group defined below will have the desired effect, e.g.
+
+ <type . . .>
+ . . .
+ <attributeGroup ref="xml:specialAttrs"/>
+
+ will define a type which will schema-validate an instance
+ element with any of those attributes
+
+
+
+ In keeping with the XML Schema WG's standard versioning
+ policy, this schema document will persist at
+ http://www.w3.org/2007/08/xml.xsd.
+ At the date of issue it can also be found at
+ http://www.w3.org/2001/xml.xsd.
+ The schema document at that URI may however change in the future,
+ in order to remain compatible with the latest version of XML Schema
+ itself, or with the XML namespace itself. In other words, if the XML
+ Schema or XML namespaces change, the version of this document at
+ http://www.w3.org/2001/xml.xsd will change
+ accordingly; the version at
+ http://www.w3.org/2007/08/xml.xsd will not change.
+
+
+
+
+
+ Attempting to install the relevant ISO 2- and 3-letter
+ codes as the enumerated possible values is probably never
+ going to be a realistic possibility. See
+ RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
+ at http://www.iana.org/assignments/lang-tag-apps.htm for
+ further information.
+
+ The union allows for the 'un-declaration' of xml:lang with
+ the empty string.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ See http://www.w3.org/TR/xmlbase/ for
+ information about this attribute.
+
+
+
+
+
+ See http://www.w3.org/TR/xml-id/ for
+ information about this attribute.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_5/imswl_v1p0.xsd b/backup/cc/schemas/domainProfile_5/imswl_v1p0.xsd
new file mode 100755
index 0000000000..31d287b372
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_5/imswl_v1p0.xsd
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_5/imswl_v1p0_localised.xsd b/backup/cc/schemas/domainProfile_5/imswl_v1p0_localised.xsd
new file mode 100755
index 0000000000..426689d326
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_5/imswl_v1p0_localised.xsd
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_6/imsdt_v1p0.xsd b/backup/cc/schemas/domainProfile_6/imsdt_v1p0.xsd
new file mode 100755
index 0000000000..1831d54c6f
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_6/imsdt_v1p0.xsd
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/domainProfile_6/imsdt_v1p0_localised.xsd b/backup/cc/schemas/domainProfile_6/imsdt_v1p0_localised.xsd
new file mode 100755
index 0000000000..4fd9bfdc72
--- /dev/null
+++ b/backup/cc/schemas/domainProfile_6/imsdt_v1p0_localised.xsd
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/imscc_c1p2maeV0p15_definition.xsd b/backup/cc/schemas/imscc_c1p2maeV0p15_definition.xsd
new file mode 100755
index 0000000000..4f38ca9adb
--- /dev/null
+++ b/backup/cc/schemas/imscc_c1p2maeV0p15_definition.xsd
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/imscp_v1p2.xsd b/backup/cc/schemas/imscp_v1p2.xsd
new file mode 100755
index 0000000000..4013ea9454
--- /dev/null
+++ b/backup/cc/schemas/imscp_v1p2.xsd
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+ XSD Data File Information
+ -------------------------
+ Author: CP1.2 Project Team
+ Date: 31st October, 2006
+ Version: 2.0
+ Status: CM/DN Release
+ Description: This is a normative representation of the IMS CP 1.2 Information Model for binding
+ purposes. Read the corresponding IMS CP Information Model for the Platform
+ Independent Model representation.
+
+ History: This is version 1 of the IMS CP v1.2 XSD. It directly supercedes IMS CP v1.1.4 XSD.
+ Note that the target namespace has NOT been changed.
+ Apart from the functional additions, the main structural changes are:
+ (1) All of the elements and attributes are defined as local to their host object;
+ (2) Comments have been added to the complexType definitions.
+
+ Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+ IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information
+ contained in this binding ("Specification") for purposes of scientific
+ experimental and scholarly collaboration only. IMS/GLC makes no warranty or
+ representation regarding the accuracy or completeness of the Specification.
+ This material is provided on an "As Is" and "As Available basis".
+ The Specification is at all times subject to change and revision without
+ notice. It is your sole responsibility to evaluate the usefulness, accuracy
+ and completeness of the Specification as it relates to you. IMS/GLC would
+ appreciate receiving your comments and suggestions. Please contact IMS/GLC
+ through our website at: http://www.imsglobal.org.
+
+ Source XSLT File Information
+ ----------------------------
+ XSL Generator: UMLtoXSDTransformv0p7.xsl
+ XSLT Processor: Xalan
+ Release: 1.0 Beta 1
+ Date: 30th November, 2005
+
+ Auto-generation Tool
+ --------------------
+ This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt
+ has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware
+ that this is an experimental tool. Permission is given to make use of this tool. IMS makes no
+ claim on the materials created by third party users of this tool. Details on how to use this tool
+ are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"
+ available at the IMS web-site.
+ Tool Copyright: 2005 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+
+
+
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A manifest element is a container for data structures whose contents describe a
+ semantically complete instance of the IMS Content Packaging Information Model.
+
+ A manifest element may contain and reference child manifest elements
+ in the same IMS Manifest document. The root manifest element defines an
+ entire IMS Package. A child manifest element defines a semantically complete
+ subset of that Package.
+
+ Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An instance of the metadata element contains data structures
+ that declare descriptive information about a metadata element's
+ parent only.
+
+ One or more different metadata models may be declared as
+ child extensions of a metadata element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+ The organizations element is a container for all data structures
+ that describe the way or ways that information encapsulated by
+ its parent manifest element is structured.
+
+ Represents of binding of the child objects of ims-cp-imOrganizations: Organizations.[ Organization, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Resources element is a container for data structures containing
+ references to one or more assets. Asset references may be grouped
+ within a containing resources element in whatever manner seems best.
+
+ The scope of referenced assets is specific to a resources element's parent
+ manifest element only.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResources: Resources.[ Resource, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An organization element is a container for all data structures relating
+ to a particular way or view that information encapsulated by a
+ grandparent manifest object is structured.
+
+ Multiple organization elements within the same parent organizations
+ element are equivalent in purpose: Each shows a different way for
+ structuring the same information declared within a grandparent
+ manifest object.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-Organization: Organization[ Title, Item, Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A resource element is a container for a particular asset
+ or collection of assets. A resource may contain references
+ to assets that are all of the same type or different types (i.e., file formats).
+
+ The scope or boundary of an IMS Package is defined by the asset
+ references collected into all resources containers associated with the
+ root manifest element, whether as a child, direcdt descendant, or externally
+ linked descendant.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An item element represents a structural node in a particular organization.
+ An item element may be a parent or sibling of other Item elements,
+ each one representing a unique structural node.
+
+ An organization has no meaning unless it has at least one Item element.
+
+ Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A file element declares a reference to a single asset. The reference may
+ be relative to the Package containing the file element or absolute
+ (external to the Package).
+
+ A file element may contain child extensions declaring alternative references
+ to the same asset as that referenced by the file element's href attribute.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imFile: File.[ Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A dependency element provides a way to associate another collection of
+ asset references within the scope of the dependency element's parent
+ resource element.
+
+ This element allows the parsimonious declaration of asset references.
+ Shared asset references can be declared once and associated many
+ times through a Dependency element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imDependency: Dependency.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+ This metadata element contains data structures that declare
+ descriptive information about an entire Package.
+
+ One or more different metadata models may be declared as
+ child extensions of a metadata element.
+
+ The schema and schemaversion children define the kind or collection
+ of metadata models being used.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imManifestMetadata: ManifestMetadata.[ Schema, SchemaVersion, MetadataModel ]..
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/schemas/imscp_v1p2_constraintsDocument.scmt b/backup/cc/schemas/imscp_v1p2_constraintsDocument.scmt
new file mode 100755
index 0000000000..0ee9287b0d
--- /dev/null
+++ b/backup/cc/schemas/imscp_v1p2_constraintsDocument.scmt
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assertion failed for pattern_2. If an item is invisible, its descendants must be invisible too.(#S02)
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
+
+ Error: Assertion validation failed for pattern_11b2: A Question Bank Resource must not have an href attribute. (#S11b2)
+
+
+
+
+
+ Error: Assertion validation failed for pattern_11b3: A Question Bank Resource must not be referenced from an item. (#S11b3)
+
+
+
+
+
+ Error: Assertion validation failed for pattern_11b4: There can be only one Questionbank Resource in a cartridge.(#S11b4)
+
+
+
+
+
+ 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)
+
+
+
+
+
+
+
+ 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)
+
+
+
+
+
+ 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)
+
+
+
+
\ No newline at end of file
diff --git a/backup/cc/schemas/imscp_v1p2_localised.xsd b/backup/cc/schemas/imscp_v1p2_localised.xsd
new file mode 100755
index 0000000000..e1375e0768
--- /dev/null
+++ b/backup/cc/schemas/imscp_v1p2_localised.xsd
@@ -0,0 +1,455 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XSD Data File Information
+ -------------------------
+ Author: CP1.2 Project Team
+ Date: 31st October, 2006
+ Version: 2.0
+ Status: CM/DN Release
+ Description: This is a normative representation of the IMS CP 1.2 Information Model for binding
+ purposes. Read the corresponding IMS CP Information Model for the Platform
+ Independent Model representation.
+
+ History: This is version 1 of the IMS CP v1.2 XSD. It directly supercedes IMS CP v1.1.4 XSD.
+ Note that the target namespace has NOT been changed.
+ Apart from the functional additions, the main structural changes are:
+ (1) All of the elements and attributes are defined as local to their host object;
+ (2) Comments have been added to the complexType definitions.
+
+ Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+ IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information
+ contained in this binding ("Specification") for purposes of scientific
+ experimental and scholarly collaboration only. IMS/GLC makes no warranty or
+ representation regarding the accuracy or completeness of the Specification.
+ This material is provided on an "As Is" and "As Available basis".
+ The Specification is at all times subject to change and revision without
+ notice. It is your sole responsibility to evaluate the usefulness, accuracy
+ and completeness of the Specification as it relates to you. IMS/GLC would
+ appreciate receiving your comments and suggestions. Please contact IMS/GLC
+ through our website at: http://www.imsglobal.org.
+
+ Source XSLT File Information
+ ----------------------------
+ XSL Generator: UMLtoXSDTransformv0p7.xsl
+ XSLT Processor: Xalan
+ Release: 1.0 Beta 1
+ Date: 30th November, 2005
+
+ Auto-generation Tool
+ --------------------
+ This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt
+ has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware
+ that this is an experimental tool. Permission is given to make use of this tool. IMS makes no
+ claim on the materials created by third party users of this tool. Details on how to use this tool
+ are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"
+ available at the IMS web-site.
+ Tool Copyright: 2005 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
+
+
+
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+ Any namespaced element from any namespace may be included within an "any" element.
+ The namespace for the imported element must be defined in the instance, and the schema must be imported.
+ The extension has a definition of "strict" i.e. they must have their own namespace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A manifest element is a container for data structures whose contents describe a
+ semantically complete instance of the IMS Content Packaging Information Model.
+
+ A manifest element may contain and reference child manifest elements
+ in the same IMS Manifest document. The root manifest element defines an
+ entire IMS Package. A child manifest element defines a semantically complete
+ subset of that Package.
+
+ Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An instance of the metadata element contains data structures
+ that declare descriptive information about a metadata element's
+ parent only.
+
+ One or more different metadata models may be declared as
+ child extensions of a metadata element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+ The organizations element is a container for all data structures
+ that describe the way or ways that information encapsulated by
+ its parent manifest element is structured.
+
+ Represents of binding of the child objects of ims-cp-imOrganizations: Organizations.[ Organization, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The Resources element is a container for data structures containing
+ references to one or more assets. Asset references may be grouped
+ within a containing resources element in whatever manner seems best.
+
+ The scope of referenced assets is specific to a resources element's parent
+ manifest element only.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResources: Resources.[ Resource, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An organization element is a container for all data structures relating
+ to a particular way or view that information encapsulated by a
+ grandparent manifest object is structured.
+
+ Multiple organization elements within the same parent organizations
+ element are equivalent in purpose: Each shows a different way for
+ structuring the same information declared within a grandparent
+ manifest object.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-Organization: Organization[ Title, Item, Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A resource element is a container for a particular asset
+ or collection of assets. A resource may contain references
+ to assets that are all of the same type or different types (i.e., file formats).
+
+ The scope or boundary of an IMS Package is defined by the asset
+ references collected into all resources containers associated with the
+ root manifest element, whether as a child, direcdt descendant, or externally
+ linked descendant.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An item element represents a structural node in a particular organization.
+ An item element may be a parent or sibling of other Item elements,
+ each one representing a unique structural node.
+
+ An organization has no meaning unless it has at least one Item element.
+
+ Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An item element represents a structural node in a particular organization.
+ An item element may be a parent or sibling of other Item elements,
+ each one representing a unique structural node.
+
+ An organization has no meaning unless it has at least one Item element.
+
+ Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A file element declares a reference to a single asset. The reference may
+ be relative to the Package containing the file element or absolute
+ (external to the Package).
+
+ A file element may contain child extensions declaring alternative references
+ to the same asset as that referenced by the file element's href attribute.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imFile: File.[ Metadata, Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A dependency element provides a way to associate another collection of
+ asset references within the scope of the dependency element's parent
+ resource element.
+
+ This element allows the parsimonious declaration of asset references.
+ Shared asset references can be declared once and associated many
+ times through a Dependency element.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imDependency: Dependency.[ Extension ].
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This metadata element contains data structures that declare
+ descriptive information about an entire Package.
+
+ One or more different metadata models may be declared as
+ child extensions of a metadata element.
+
+ The schema and schemaversion children define the kind or collection
+ of metadata models being used.
+
+ Represents a binding of the kinds of child objects defined for ims-cp-imManifestMetadata: ManifestMetadata.[ Schema, SchemaVersion, MetadataModel ]..
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backup/cc/sheets/base.xml b/backup/cc/sheets/base.xml
new file mode 100755
index 0000000000..6b1a7e7418
--- /dev/null
+++ b/backup/cc/sheets/base.xml
@@ -0,0 +1,46 @@
+
+
+
+ [#zip_filename#]
+ 2007101540
+ 1.9.4 (Build: 20090128)
+ 2008030301
+ 1.9.3
+ 1244044665
+ [#www_root#]
+ e9e0cd91fb39442e3baef853f645b2a3
+ internal
+
+ [#node_info_details_mod#]
+ false
+ none
+ false
+ false
+ true
+ false
+ false
+ false
+ false
+ instances
+
+
+
+
+
+ [#node_course_header#]
+
+
+ [#node_course_blocks_block#]
+
+
+ [#node_course_sections_section#]
+
+
+ [#node_course_question_categories#]
+
+
+ [#node_course_modules#]
+
+
+
+
diff --git a/backup/cc/sheets/course_blocks_block.xml b/backup/cc/sheets/course_blocks_block.xml
new file mode 100755
index 0000000000..5d3370dadb
--- /dev/null
+++ b/backup/cc/sheets/course_blocks_block.xml
@@ -0,0 +1,12 @@
+
+ [#block_id#]
+ [#block_name#]
+ 2
+ course-view
+ [#block_position#]
+ [#block_weight#]
+ 1
+ Tjs=
+
+
+
diff --git a/backup/cc/sheets/course_header.xml b/backup/cc/sheets/course_header.xml
new file mode 100755
index 0000000000..05a2430de8
--- /dev/null
+++ b/backup/cc/sheets/course_header.xml
@@ -0,0 +1,44 @@
+ 1
+
+ 1
+ Miscellaneous
+
+
+ [#course_name#]
+ [#course_short_name#]
+
+
+ topics
+ 1
+ 5
+ Teacher
+ Teachers
+ Student
+ Students
+ 0
+ [#date_now#]
+ [#section_count#]
+ 268435456
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ USD
+ 0
+ 1
+ 0
+ [#date_now#]
+ [#date_now#]
+ 0
+ 0
+ 0
+ 864000
+ 1
+ 0
+ 0
+ 0
+
+
diff --git a/backup/cc/sheets/course_modules_mod_forum.xml b/backup/cc/sheets/course_modules_mod_forum.xml
new file mode 100755
index 0000000000..56a3029e92
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_forum.xml
@@ -0,0 +1,21 @@
+
+ [#mod_instance#]
+ forum
+ news
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 0
+ 0
+ [#date_now#]
+ 0
+ 0
+ 0
+
+
diff --git a/backup/cc/sheets/course_modules_mod_label.xml b/backup/cc/sheets/course_modules_mod_label.xml
new file mode 100755
index 0000000000..7002e16dd1
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_label.xml
@@ -0,0 +1,7 @@
+
+ [#mod_instance#]
+ label
+
+
+ [#date_now#]
+
diff --git a/backup/cc/sheets/course_modules_mod_quiz.xml b/backup/cc/sheets/course_modules_mod_quiz.xml
new file mode 100755
index 0000000000..1aabbc9adc
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_quiz.xml
@@ -0,0 +1,35 @@
+
+ [#mod_id#]
+ quiz
+ [#mod_name#]
+ [#mod_intro#]
+ 0
+ 0
+ 1
+ 0
+ [#mod_max_attempts#]
+ 0
+ 1
+ 0
+ 0
+ 30
+ 0
+ 0
+ [#question_string#]
+ 4
+ 10
+ [#date_now#]
+ [#date_now#]
+ [#mod_timelimit#]
+
+
+ 0
+ 0
+ 0
+
+ [#node_question_instance#]
+
+
+ [#node_questions_feedback#]
+
+
diff --git a/backup/cc/sheets/course_modules_mod_quiz_feedback.xml b/backup/cc/sheets/course_modules_mod_quiz_feedback.xml
new file mode 100755
index 0000000000..e747bdeaae
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_quiz_feedback.xml
@@ -0,0 +1,7 @@
+
+ 1
+ 1
+
+ 0
+ 11
+
diff --git a/backup/cc/sheets/course_modules_mod_quiz_question_instance.xml b/backup/cc/sheets/course_modules_mod_quiz_question_instance.xml
new file mode 100755
index 0000000000..7621f57002
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_quiz_question_instance.xml
@@ -0,0 +1,5 @@
+
+ [#instance_id#]
+ [#question_id#]
+ 1
+
diff --git a/backup/cc/sheets/course_modules_mod_resource.xml b/backup/cc/sheets/course_modules_mod_resource.xml
new file mode 100755
index 0000000000..3c539a1629
--- /dev/null
+++ b/backup/cc/sheets/course_modules_mod_resource.xml
@@ -0,0 +1,12 @@
+
+ [#mod_instance#]
+ resource
+
+ [#mod_type#]
+ [#mod_reference#]
+
+
+
+
+ [#date_now#]
+
diff --git a/backup/cc/sheets/course_question_categories.xml b/backup/cc/sheets/course_question_categories.xml
new file mode 100755
index 0000000000..119edfb540
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories.xml
@@ -0,0 +1,3 @@
+
+ [#node_course_question_categories_question_category#]
+
diff --git a/backup/cc/sheets/course_question_categories_question_category.xml b/backup/cc/sheets/course_question_categories_question_category.xml
new file mode 100755
index 0000000000..19fb1b8f4b
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category.xml
@@ -0,0 +1,14 @@
+
+ [#quiz_id#]
+
+
+
+ course
+
+ [#quiz_stamp#]
+ 0
+ 999
+
+ [#node_course_question_categories_question_category_questions#]
+
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question.xml b/backup/cc/sheets/course_question_categories_question_category_question.xml
new file mode 100755
index 0000000000..6481e14180
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question.xml
@@ -0,0 +1,21 @@
+
+ [#question_id#]
+ 0
+
+
+ 1
+
+
+ 1
+ 0
+ [#question_type#]
+ 1
+ [#question_stamp#]
+ [#question_version#]
+ 0
+ [#date_now#]
+ [#date_now#]
+ [#logged_user#]
+ [#logged_user#]
+ [#question_type_nodes#]
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question_answer.xml b/backup/cc/sheets/course_question_categories_question_category_question_answer.xml
new file mode 100755
index 0000000000..aba35eac48
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question_answer.xml
@@ -0,0 +1,6 @@
+
+ [#answer_id#]
+
+ [#answer_score#]
+
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question_eesay.xml b/backup/cc/sheets/course_question_categories_question_category_question_eesay.xml
new file mode 100755
index 0000000000..c5b8311dec
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question_eesay.xml
@@ -0,0 +1,3 @@
+
+ [#node_course_question_categories_question_category_question_answer#]
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question_multiple_choice.xml b/backup/cc/sheets/course_question_categories_question_category_question_multiple_choice.xml
new file mode 100755
index 0000000000..d7138f15db
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question_multiple_choice.xml
@@ -0,0 +1,13 @@
+
+ 0
+ [#answer_string#]
+ [#is_single#]
+ 0
+
+
+
+ abc
+
+
+ [#node_course_question_categories_question_category_question_answer#]
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question_shortanswer.xml b/backup/cc/sheets/course_question_categories_question_category_question_shortanswer.xml
new file mode 100755
index 0000000000..92b84dc446
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question_shortanswer.xml
@@ -0,0 +1,7 @@
+
+ [#answers_string#]
+ [#use_case#]
+
+
+ [#node_course_question_categories_question_category_question_answer#]
+
diff --git a/backup/cc/sheets/course_question_categories_question_category_question_true_false.xml b/backup/cc/sheets/course_question_categories_question_category_question_true_false.xml
new file mode 100755
index 0000000000..cd2aec899e
--- /dev/null
+++ b/backup/cc/sheets/course_question_categories_question_category_question_true_false.xml
@@ -0,0 +1,7 @@
+
+ [#true_answer_id#]
+ [#false_answer_id#]
+
+
+ [#node_course_question_categories_question_category_question_answer#]
+
diff --git a/backup/cc/sheets/course_sections_section.xml b/backup/cc/sheets/course_sections_section.xml
new file mode 100755
index 0000000000..69fec3207d
--- /dev/null
+++ b/backup/cc/sheets/course_sections_section.xml
@@ -0,0 +1,9 @@
+
+ [#section_id#]
+ [#section_number#]
+ [#section_summary#]
+ 1
+
+ [#node_course_sections_section_mods_mod#]
+
+
diff --git a/backup/cc/sheets/course_sections_section_mods_mod.xml b/backup/cc/sheets/course_sections_section_mods_mod.xml
new file mode 100755
index 0000000000..7a5f36c486
--- /dev/null
+++ b/backup/cc/sheets/course_sections_section_mods_mod.xml
@@ -0,0 +1,15 @@
+
+ [#mod_id#]
+ [#mod_type#]
+ [#mod_instance_id#]
+ [#date_now#]
+ 0
+ [#mod_indent#]
+ 1
+ 0
+ 0
+ 0
+
+
+
+
diff --git a/backup/cc/sheets/info_details_mod.xml b/backup/cc/sheets/info_details_mod.xml
new file mode 100755
index 0000000000..0e97f7ad09
--- /dev/null
+++ b/backup/cc/sheets/info_details_mod.xml
@@ -0,0 +1,8 @@
+
+ [#mod_type#]
+ true
+ false
+
+ [#node_info_details_mod_instances_instance#]
+
+
diff --git a/backup/cc/sheets/info_details_mod_instance.xml b/backup/cc/sheets/info_details_mod_instance.xml
new file mode 100755
index 0000000000..97a51ada81
--- /dev/null
+++ b/backup/cc/sheets/info_details_mod_instance.xml
@@ -0,0 +1,6 @@
+
+ [#mod_instance_id#]
+
+ true
+ false
+