Разработка системы автоматизации функций формирования SCORM совместимых метаданных для информационных ресурсов

Автор работы: Пользователь скрыл имя, 06 Ноября 2012 в 18:59, дипломная работа

Описание работы

В образовательных бизнес-процессах создается и используется множество разнообразных информационных ресурсов, отличающихся по содержанию, характеру информации, ее знаковой природе и способу представления, объему, структуре, типу носителя, функциональности, исходному целевому назначению и другим атрибутам. Информационные ресурсы являются неотъемлемой составляющей любой информационно-образовательной среды.

Содержание работы

Оглавление
1 Введение 4
1.1 Актуальность темы 4
1.2 Постановка задачи 5
2 Обзорно-аналитическая часть 6
2.1 Источники формирования структуры метаданных 6
2.2 Ссылочная модель совместно используемых объектов контента (SCORM) 6
2.3 Метаданные для информационных ресурсов сферы образования 10
2.3.1 Роль метаданных в систематизации информационных ресурсов 10
2.3.2 Развитие системы метаданных RUS_LOM 21
2.3.3 Структура информационной модели RUS_LOM 24
2.3.4 3.5. Словари и классификаторы 29
2.4 Формирование глобальных уникальных идентификаторов информационных ресурсов 31
2.4.1 Унифицированный идентификатор ресурса 32
2.4.2 Локализуемый идентификатор ресурса 33
2.4.3 Формат и алгоритмы генерации уникальных идентификаторов 34
2.5 Анализ роли метаданных в систематизации информационных ресурсов. 35
2.6 Анализ совместимости международных и российских моделей метаданных. 41
2.7 Профили метаданных 48
2.8 Дистрибутивные пакеты электронных информационных ресурсов 53
2.8.1 Потребность в унификации способов представления информационных ресурсов 53
2.8.2 Модель дистрибутивного пакета 58
2.8.3 Метаданные и манифест 59
2.8.4 Манифест дистрибутивного пакета, информационная модель 65
2.9 Средства автоматизации 68
2.9.1 Рубрикатор 68
2.9.2 Автоматизация заполнения свойств модулей 69
2.9.3 Использование справочников 71
2.9.4 Пакетная обработка модулей. 71
3 Охрана труда 72
3.1 Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 72
3.1.1 Введение 72
3.1.2 Выводы: 74
3.2 Анализ влияния опасных и вредных факторов на пользователя 74
3.2.1 Влияние электрического тока 74
3.2.2 Влияние статического электричества 75
3.2.3 Влияние электромагнитных излучений НЧ 75
3.2.4 Влияние ультрафиолетового излучения 76
3.2.5 Выводы 76
3.3 Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов 77
3.3.1 Методы и средства защиты от ультрафиолетового излучения 77
3.3.2 Методы и средства защиты от электромагнитных полей низкой частоты 77
3.3.3 Методы и средства защиты от статического электричества 77
3.3.4 Общие рекомендации при работе с вычислительной техникой 78
3.3.5 Требования к помещениям и организации рабочих мест 78
3.3.6 Требования к организации работы 80
3.3.7 Выводы 81
4 Специальная часть 82
4.1 Инструментальные средства для формирования метаданных 82
4.2 Интерактивная панорама 84
5 Экспериментальная часть 85
5.1. Проверка работоспособности. 85
5.2.Устранение выявленных недостатков. 85
7 Выводы 86
8 Список литературы: 87
9 Приложения 93
9.1 Приложение 1. 93
9.2 Приложение 2. 116

Файлы: 1 файл

Пояснительная записка к дипломной работе На тему- «Разработка си.doc

— 1.38 Мб (Скачать файл)
  1. Выводы

 

 

В данной работе были решены следующие  задачи:

- Разработана, протестирована и  внедрена система автоматического  изменения версии модуля.

- Собранна виртуальная фотопанорама 360° аудитории 504 здания МИЭМ  на Б. Трехсвятительском пер.

 

  1. Список литературы:

  1. Принципы и технологические основы создания открытых информационно-образовательных сред, А. И. Башмаков, В. А. Старых
  2. SCORM 2004 3rd Edition – Advanced Distributed Learning Initiative. http://www.adlnet.gov/scorm/index.cfm
  3. ГОСТ 12.0.003-86 Опасные и вредные производственные факторы. Классификация
  4. Сибаров Ю.Г. и др. Охрана труда на ВЦ. М. 1989.
  5. ГОСТ  12.1.030-81 Электробезопасность. Защитные заземления, зануления.
  6. САНПиН 1340-03 Гигиенические требования к персональным ЭВМ и организация работы
  7. ГОСТ CCБТ 12.1.045-84 Электростатические поля. Допустимые условия на  рабочем месте
  8. ГОСТ CCБТ  12.1.124-84 Средства защиты от статического электричества
  9. ФЗ РФ №181 1999г. «Об основах охраны труда в РФ»
  10. Sharable Content Object Reference Model (SCORM) 2004 [Электронный ресурс] / Advanced Distributed Learning Initiative. - 3rd Edition. - Электрон, текстовые дан. - USA : ADL, 2006. - Режим доступа : http://www.adlnet.gov/downloads/ AuthNotReqd.aspx?FileName=SCORM.2004.3ED.DocSuite.zip & ID=237. - Англ.
  11. Башмаков А.И., Башмаков И.А. Разработка компьютерных учебников и обучающих систем. - М.: Информационно-издательский дом «Филинъ», 2003. - 616 с.
  12. W3C XML Schema Part 2: Datatypes [Электронный pe- cypc] / W3C. - Second Edition (W3C Recommendation 28.10.04). - Электрон, текстовые дан. - [Б. м.] : W3C, 2004. - Режим доступа : http://www.w3.org/TR/xmlschema-2/. - Англ.
  13. IEEE Std 1484.12.1-2002. IEEE Standard for Learning Technology - Learning Object Metadata standard. - New York: IEEE, 2002.
  14. IETF RFC 2045:1996. Multipurpose Internet Mail Extensions (MIME). Part One: Format of Internet Message Bodies [Электронный ресурс] / N. Freed, N. Borenstein. - Электрон, текстовые дан. (74673 байта). - [USA]: IETF, 1996. - Режим доступа: http://www.ietf.org/rfc/rfc2045.txt. - Англ. 39. IETF RFC 2046:1996. Multipurpose Internet Mail Extensions (MIME). Part Two: Media Types [Электронный ресурс] / N. Freed, N. Borenstein. - Электрон, текстовые дан. (108323 байта). - [USA] : IETF, 1996. - Режим доступа : http://www.ietf.org/ rfc/rfc2046.txt. - Англ.
  15. IETF RFC 4289:2005 Multipurpose Internet Mail Extensions (MIME). Part Four: Registration Procedures [Электронный ресурс] / N. Freed, J. Klensin. - Электрон, текстовые данные (21502 байта). - [USA]: IETF, 2005. - Режим доступа: http://www.ietf.org/rfc/rfc4289.txt. - Англ.
  16. IETF RFC 2077:1997. The Model Primary Content Type for Multipurpose Internet Mail Extensions [Электронный ресурс] / S. Nelson, C. Parks. - Электрон, текстовые дан. (30891 байт). - [USA] : IETF, 1997. - Режим доступа : http://www.ietf.org/ rfc/rfc2077.txt. - Англ.
  17. IETF RFC 2646:1999. The Text/Plain Format Parameter [Электронный ресурс] / R. Gellens. - Электрон, текстовые дан. (29962 байта). - [USA] : IETF, 1999. - Режим доступа : http://www.ietf.org/rfc/rfc2646.txt. - Англ.
  18. IETF RFC 3023:2001. XML Media Types [Электронный ресурс] / M. Murata, S. St. Laurent, D. Kohn. - Электрон, текстовые дан. (88198 байт). - [USA] : IETF, 2001. - Режим доступа : http://www.ietf.org/rfc/rfc3023.txt. - Англ.
  19. Гасов В.М., Цыганенко A.M. Методы и средства подготовки электронных изданий: Учеб. пособие. - М.: Моск. гос. ун-т печати, 2001. - 735 с.
  20. Вуль В.А. Электронные издания. - СПб.: БХВ-Петер- бург, 2003. -560 с.
  21. Зимина О.В. Печатные и электронные учебные издания в современном высшем образовании: Теория, методика, практика. - М.: Издательство МЭИ, 2003. - 336 с.
  22. Самое полное руководство по созданию мультимедийных проектов / Тэй Воган; Пер. с англ. М.И. Талачевой. - М.: ИТ Пресс, 2006. - 520 с.
  23. DCMI Glossary [Электронный ресурс] / M.S. Woodley, G. Clement, P. Winn. - DCMI Recommended Resource. - Электрон.
  24. Когаловский M.P. Перспективные технологии информационных систем. - М.: ДМК Пресс; М.: Компания АйТи, 2003. - 288 с.
  25. IETF RFC 3986:2005. Uniform Resource Identifier (URI): Generic Syntax [Электронный ресурс] / Т. Berners-Lee, R. Fielding, L. Masinter. - Электрон, текстовые дан. (145228 байтов). - [USA] : IETF, 2005. - Режим доступа : http://www.ietf.org/rfc/rfc3986.txt. - Англ.83. IEEE Std 1484.12.3-2005. IEEE Standard for Learning Technology - Extensible Markup Language (XML) Schema Definition Language Binding for Learning Object Metadata. - New York: IEEE, 2005.
  26. IMS Content Packaging Specification Information Model [Электронный ресурс] / IMS. - Version 1.1.4. - Электрон, текстовые дан. - [USA] : IMS, 2004. - Режим доступа : http://www.imsglobal.org/content/packaging/cpvlplp4/imscp_infovlplp4.html. - Англ.
  27. IMS Simple Sequencing Information and Behavior Model [Электронный ресурс] / IMS. - Version 1.0. - Электрон, текстовые дан. - [USA]: IMS, 2003. - Режим доступа: http://www.imglobal.org/ simplesequencing/ssvlp0/imsss_infovlp0.html. - Англ.100. IETF RFC 2425:1998. A MIME Content-Type for Directory Information [Электронный ресурс] / Т. Howes, M. Smith, F. Dawson. - Электрон, текстовые дан. (66281 байт). - [USA] : IETF, 1998. - Режим доступа: http://www.ietf.org/rfc/rfc2425.txt. - Англ.
  28. IETF RFC 2426:1998. vCard MIME Directory Profile [Электронный ресурс] / F. Dawson, T. Howes. - Электрон, текстовые дан. (77003 байта). - [USA] : IETF, 1998. - Режим доступа : httD://www.ietf.ore/rfc/rfc2426.txt. - Англ.
  29. ГОСТ 7.82-2001. Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления.
  30. IETF RFC 3066:2001. Tags for the Identification of Languages [Электронный ресурс] / H. Alvestrand. - Электрон, текстовые дан. (27255 байт). - [USA]: IETF, 2001. - Режим доступа : http://www.ietf.org/rfc/rfc3066.txt. - Англ.
  31. ISO 639-1. Code for the representation of names of languages - Part 1: Alpha-2 code.
  32. ISO 639-2. Codes for the representation of names of languages - Part 2: Alpha-3 code.
  33. ISO 3166-1. Codes for the representation of names of countries and their subdivisions - Part 1: Country codes.
  34. ГОСТ 7.9-95 (ИСО 214-76). Система стандартов по информации, библиотечному и издательскому делу. Реферат и аннотация. Общие требования.
  35. ISO 8601:2000. Data elements and interchange formats - Information interchange - Representation of dates and times.
  36. IETF RFC 1738:1994. Uniform Resource Locators (URL) [Электронный ресурс] / Т. Berners-Lee, L. Masinter, M. McCahill. - Электрон, текстовые дан. (52751 байт). - [USA] : IETF, 1994. - Режим доступа: http://www.ietf.org/rfc/rfcl738.txt. - Англ.
  37. IETF RFC 3987:2005. Internationalized Resource Identifiers (IRIs) [Электронный ресурс] / M. Duerst, M. Suignard. -
  38. Электрон, текстовые дан. (113767 байтов). - [USA] : IETF, 2005. - Режим доступа : http://www.ietf.org/rfc/rfc3987.txt. - Англ.
  39. W3C Namespaces in XML 1.1 [Электронный ресурс] / W3C. - Second Edition (W3C Recommendation 16.08.06). - Электрон. текстовые дан. - [Б. м.] : W3C, 2006. - Режим доступа : http://www.w3.org/TR/xml-namesll. - Англ.
  40. ISO/IEC 10646:2003. Information technology - Universal multiple-octet coded character set (UCS).
  41. IETF RFC 2141:1997. URN Syntax [Электронный pe- cypc] / R. Moats. - Электрон, текстовые дан. (14530 байт). — [USA] : IETF, 1997. - Режим доступа : http://www.ietf.org/ rfc/rfc2141.txt. - Англ.
  42. IETF RFC 3406:2002. Uniform Resource Names (URN) Namespace Definition Mechanisms [Электронный ресурс] / L. Daigle, D.W. van Gulik, R. Iannella, P. Faltstrom. - Электрон, текстовые дан. (44940 байт). - [USA]: IETF, 2002. - Режим доступа: http://www.ietf.org/rfc/rfc3406.txt. - Англ.181. IETF RFC 4288:2005 Media Type Specifications and Registration Procedures [Электронный ресурс] / N. Freed, J. Klensin. - Электрон, текстовые данные (52667 байтов). - [USA]: IETF, 2005. - Режим доступа: http://www.ietf.org/rfc/ rfc4288.txt. - Англ.
  43. ГОСТ 7.86-2003. Система стандартов по информации, библиотечному и издательскому делу. Издания. Общие требования к издательской аннотации.
  44. ISO 10597:1993. Information and documentation - International standard music number (ISMN).
  45. ГОСТ 7.75-97. Система стандартов по информации, библиотечному и издательскому делу. Коды наименований языков.
  46. ГОСТ 7.67-2003 (ИСО 3166-1:1997) Система стандартов по информации, библиотечному и издательскому делу. Коды названий стран.
  47. IMS Content Packaging Specification XML Binding [Электронный ресурс] / IMS. - Version 1.1.4. - Электрон, текстовые дан. - [USA] : IMS, 2004. - Режим доступа : http://www.imsglobal.org/content/packaging/cpvlplp4/ imscp_bindvlplp4.html. - Англ.
  48. IMS Content Packaging Specification Best Practice Guide [Электронный ресурс] / IMS. - Version 1.1.4. - Электрон, текстовые дан. - [USA] : IMS, 2004. - Режим доступа : http://www.imsglobal.org/content/packaging/cpv1p1p4/imscp_bestv1p1p4.html. - Англ.
  49. IMS Simple Sequencing XML Binding [Электронный pe- cypc] / IMS. - Version 1.0. - Электрон, текстовые дан. - [USA] : IMS, 2003. - Режим доступа : http://www.imsglobal.org/ simplesequencing/ssv1p0/imsssJbindv1p0.html. - Англ.
  50. IMS Simple Sequencing Best Practice and Implementation Guide [Электронный ресурс] / IMS. - Version 1.0. - Электрон, текстовые дан. - [USA] : IMS, 2003. - Режим доступа : http:// www.imsglobal.org/simplesequencing/ssv1p0/imsss_bestv1p0.html. - Англ.

 

  1. Приложения

    1. Приложение 1.

 

public static function Upload($dir, $local = 0, $from_temp = 1)

{

global $root;

 

if ($from_temp)

$dir = $root."temp/".$dir;

else

$dir = $root.$dir;

 

$manifest = new DOMDocument("1.0","utf-8");

if (@$manifest->load($dir."/META-INF/manifest.xml"))

{

$xpath = new DOMXPath($manifest);

$xpath->registerNamespace("lom","http://ltsc.ieee.org/xsd/LOM");

 

//guid

$guid = "";

$list = $xpath->query("//lom:lom/lom:general/lom:identifier[lom:catalog=\"X-RUS-FCIOR\"]/lom:entry");

$node = $list->item(0);

if ($node != null)

$guid = iconv('UTF-8','CP1251',$node->nodeValue);

 

$sql = "SELECT id, folder, published, version FROM tbmodule WHERE guid = '%s'";

try

{

$db = new DataBase();

$rec = $db->query($sql, array($guid));

if ($rec->num_rows() == 1)

{

if (self::Validate($dir))

{

$id = $rec->record['id'];

$folder = $root."db/".$rec->record['folder'];

 

$isstd = self::isStdFolder($dir);

$catopenid = self::$dfv['catopenid'];

$levelid = self::$dfv['interactlevelid'];

 

if ($isstd)

{

#@_DelDir($folder."/MODELERS");

@_DelDir($folder."/DATA/scene");

@_DelDir($folder."/DATA/components");

@_CopyDir($dir."/DATA/scene", $folder."/DATA/scene");

@_CopyDir($dir."/DATA/components", $folder."/DATA/components");

#@_CopyDir($dir."/MODELERS", $folder."/MODELERS");

//??!!!

//@copy($dir."/DATA/skin/textStylesDef.xml", $folder."/DATA/skin/textStylesDef.xml");

 

$levelid = self::calcInterLevel($folder, $catopenid);

}

else

{

@_DelDir($folder);

@_CopyDir($dir, $folder);      

}

$datatypes = self::skanDataTypes($folder);

 

$version = "";

if ($rec->record['published'])

{

$v_arr = explode(".",$rec->record['version']);

$v_arr[count($v_arr)-1] = (int)$v_arr[count($v_arr)-1] + 1;

$version = ", version = '".implode(".",$v_arr)."'";

}

if ($isstd)

{

$db->exec_query("UPDATE tbmodule SET isstd = '1', datatypes = '{$datatypes}', interactlevelid='{$levelid}', catopenid='{$catopenid}' {$version}

WHERE id = '{$id}'");

}

else

{

$db->exec_query("UPDATE tbmodule SET isstd = '0', datatypes = '{$datatypes}' {$version} WHERE id = '{$id}'");      

}

 

if ($local != 1) _SetMessage("Модуль успешно загружен", 'message');

 

CLLog::log('module upload OK: '.$id);

 

return $id;

}

else

{

if ($local != 1) _SetMessage("Ошибка! Модуль не прошёл верификацию");

return false;

}

}

else

{

//module not registered what's next?

CLLog::log('module upload not registered: '.$dir);

if ($local != 1) _SetMessage("Ошибка! Модуль не зарегистрирован в системе");

return false;

}

}

catch (Exception $e)

{

CLLog::error('module upload db error: '.$e->getMessage());

if ($local != 1) _SetMessage("Ошибка доступа  к БД");

return false;

}

}

else

{

CLLog::error('module upload manifest load failed: '.$dir);

if ($local != 1) _SetMessage("Ошибка! Не найден файл с метаданными");

return false;

}

}

private function metaGenerate($root, $tmpl, $dst)

{

/*

$guid

$fname

$name

$description

$keywords_str

$version

$date

$authors_str

$metalastupdate

$datatypes_str

$size

$cat_open

$type

$interact_level

$com_edu_level

$contact_time

$edu_level_id

$edu_level

$class

$discipline_str

$edu_purpose_str

$lcharacter*/

 

$manifest = new DOMDocument("1.0","utf-8");

if (@$manifest->load($root.$tmpl))

{

$xpath = new DOMXPath($manifest);

 

$xpath->registerNamespace("lom","http://ltsc.ieee.org/xsd/LOM");

 

//guid

$temp = $this->fields['guid']->getValue();

$value = iconv('CP1251','UTF-8',$temp);

$list = $xpath->query("//lom:lom/lom:general/lom:identifier[lom:catalog=\"X-RUS-FCIOR\"]/lom:entry");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $value;

 

 

//catalogid

$this->mfolder = $this->makeFolderName();

$list = $xpath->query("//lom:lom/lom:general/lom:identifier[lom:catalog=\"x-oms-module\"]/lom:entry");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $this->mfolder;

 

//title

$list = $xpath->query("//lom:lom/lom:general/lom:title/lom:string[@language=\"ru\"]");

$node = $list->item(0);

if ($node != null)

{

$node->nodeValue = iconv('CP1251','UTF-8',$this->makeTitle());

}

 

//description

$description = $this->fields['description']->getValue();

if (!$this->fields['description']->isFP())

{

$title = $this->fields['name']->getValue();

$s = str_replace("\$title","{$title}",$description);

$description = $s;

}

$list = $xpath->query("//lom:lom/lom:general/lom:description/lom:string[@language=\"ru\"]");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = iconv('CP1251','UTF-8',$description);

 

//keywords

$list = $xpath->query("//lom:lom/lom:general");

$node = $list->item(0);

if ($node != null)

{

$keywords = explode("\r\n",$this->fields['keywords']->getValue());

foreach ($keywords as $keyword)

{

$key = $manifest->createElement("keyword");

$tmp = $manifest->createElement("string");

$tmp->nodeValue = iconv('CP1251','UTF-8',$keyword);

$atr = $manifest->createAttribute("language");

$atr->nodeValue = "ru";

$tmp->appendChild($atr);

$key->appendChild($tmp);

$node->appendChild($key);

}

}

 

//version

$list = $xpath->query("//lom:lom/lom:lifeCycle/lom:version/lom:string[@language=\"none\"]");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $this->fields['version']->getValue();

 

//pubdate

$date = $this->fields['pubdate']->getValue();

$list = $xpath->query("//lom:lom/lom:lifeCycle/lom:contribute[lom:role[lom:value=\"publisher\"]]/lom:date/lom:dateTime");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $date;

 

//author

$list = $xpath->query("//lom:lom/lom:lifeCycle/rl:lastUpdating");

$node = $list->item(0);

if ($node != null)

{

$authors = $this->fields['author']->getValue();

foreach ($authors as $author)

{

#$sql = "select vCard from tbauthors where id = ".$author;

$sql = "select vCard from tboandp where id = ".$author;

$rec = $this->db->query($sql);

if ($rec->num_rows()==1)

{

$xml = "<contribute><role><source>LOMv1.0</source><value>author</value></role><entity>";

$xml .= iconv('CP1251','UTF-8',$rec->record[0]);

$xml .= "</entity></contribute>";

$tmp = $manifest->createDocumentFragment();

$tmp->appendXML($xml);

$node->parentNode->insertBefore($tmp,$node);

}

}

$roles = $this->fields['roles']->getValue();

foreach ($roles as $r_id => $v_arr)

{

foreach ($v_arr as $v_id)

{

$sql = "select v.vCard, r.name, r.source from tboandp v, tblomroles r where v.id = '".$v_id."' AND r.id = '".$r_id."'";

$rec = $this->db->query($sql);

if ($rec->num_rows()==1)

{

$xml = "<contribute><role><source>".$rec->record[2]."</source><value>".$rec->record[1]."</value></role><entity>";

$xml .= iconv('CP1251','UTF-8',$rec->record[0]);

$xml .= "</entity></contribute>";

$tmp = $manifest->createDocumentFragment();

$tmp->appendXML($xml);

$node->parentNode->insertBefore($tmp,$node);

}

}

}    

}

 

//update

$date = $this->fields['update']->getValue();

$list = $xpath->query("//lom:lom/lom:lifeCycle/rl:lastUpdating/lom:dateTime");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $date;

 

//metaupdate

$date = date('Y-m-d');

$list = $xpath->query("//lom:lom/lom:metaMetadata/lom:contribute[lom:role[lom:value=\"creator\"]]/lom:date/lom:dateTime");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $date;

 

//format

$list = $xpath->query("//lom:lom/lom:technical");

$pnode = $list->item(0);

$list = $xpath->query("//lom:lom/lom:technical/lom:size");

$node = $list->item(0);

if ($node != null)

{

$formats = $this->fields['datatypes']->getValue();

 

$sql = "select id, mime from tbdatatypes";

try

{

$rec = $this->db->query($sql);

}

catch (Exception $e)

{

}

 

$n = $rec->num_rows();

for ($i=0; $i < $n; $i++)

{

if (array_search($rec->record['id'],$formats) !== false)

{

$tmp = $manifest->createElement("format");

$tmp->nodeValue = $rec->record['mime'];

$pnode->insertBefore($tmp,$node);

}

$rec->next_record();

}

}

//fcior:opennesCategory

$list = $xpath->query("//lom:lom/lom:technical/fcior:opennesCategory/lom:value");

$node = $list->item(0);

if ($node != null)

{

$sql = "select category from tbcatopen where id = ".$this->fields['catopenid']->getValue();

$rec = $this->db->query($sql);

$node->nodeValue = $rec->record[0];

}

 

//type

$list = $xpath->query("//lom:lom/lom:educational/lom:learningResourceType/lom:value");

$node = $list->item(0);

if ($node != null)

{

$sql = "select ltype from tbtypes where id = ".$this->fields['typeid']->getValue();

$rec = $this->db->query($sql);

$node->nodeValue = $rec->record[0];

}

 

//interactivitylevel

$list = $xpath->query("//lom:lom/lom:educational/lom:interactivityLevel/lom:value");

$node = $list->item(0);

if ($node != null)

{

$sql = "select level from tbilevels where id = ".$this->fields['interactlevelid']->getValue();

$rec = $this->db->query($sql);

$node->nodeValue = $rec->record[0];

}

 

//education level

$list = $xpath->query("//lom:lom/lom:educational/lom:context/lom:value");

$node = $list->item(0);

$lid = 0;

$level = "";

$clevel = "";

if ($node != null)

{

$sql = "select lid,level,clevel from tbedulevels where id = ".$this->fields['edulevelid']->getValue();

try

{

$rec = $this->db->query($sql);

$clevel = $rec->record[2];

$lid = $rec->record[0];

$level = $rec->record[1];

}

catch (Exception $e)

{

}

$node->nodeValue = $clevel;

}

 

//contact_time

$list = $xpath->query("//lom:lom/lom:educational/lom:typicalLearningTime/lom:duration");

$node = $list->item(0);

if ($node != null)

{

$node->nodeValue = "PT".$this->fields['contacttime']->getValue()."M";

}

 

//edu_level_id

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"educational level\"]]/lom:taxonPath/lom:taxon/lom:id");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $lid;

 

//edu_level

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"educational level\"]]/lom:taxonPath/lom:taxon/lom:entry/lom:string[@language=\"ru\"]");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = iconv('CP1251','UTF-8',$level);

 

//discipline

$discipline =iconv('CP1251','UTF-8',$this->parent_rub->getDiscipline(true));

$fragment = $manifest->createDocumentFragment();

$fragment->appendXML($discipline);

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"discipline\"]]/lom:taxonPath");

$node = $list->item(0);

if ($node != null)

$node->appendChild($fragment);

 

//class

if ($clevel == 'school')

{

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"class\"]]/lom:taxonPath/lom:taxon/lom:entry/lom:string[@language=\"ru\"]");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $this->fields['class']->getValue();

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"class\"]]/lom:taxonPath/lom:taxon/lom:id");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $this->fields['class']->getValue();

}

else

{

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"class\"]]");

$node = $list->item(0);

if ($node != null)

$node->parentNode->removeChild($node);

}

 

//edu_purpose_str

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"educational purpose\"]]/lom:taxonPath/lom:taxon/lom:entry/lom:string[@language=\"ru\"]");

$node = $list->item(0);

$eid = "";

if ($node != null)

{

try

{

$sql = "select purpose,code from tbedupurpose where id = ".$this->fields['edupurposeid']->getValue();

$rec = $this->db->query($sql);

$node->nodeValue = iconv('CP1251','UTF-8',$rec->record[0]);

$eid = $rec->record[1];

}

catch (Exception $e)

{

}

}

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"educational purpose\"]]/lom:taxonPath/lom:taxon/lom:id");

$node = $list->item(0);

if ($node != null)

$node->nodeValue = $eid;

 

//lcharacter

if (($this->fields['edulevelid']->getValue() >= 2) && ($this->fields['edulevelid']->getValue() <= 5))

{

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"learning character\"]]/lom:taxonPath/lom:taxon/lom:entry/lom:string[@language=\"ru\"]");

$node = $list->item(0);

if ($node != null)

{

try

{

$sql = "select lcharacter from tblcharacter where id = ".$this->fields['learningcharid']->getValue();

$rec = $this->db->query($sql);

$node->nodeValue = iconv('CP1251','UTF-8',$rec->record[0]);

}

catch (Exception $e)

{

}

}

$list = $xpath->query("//lom:lom/lom:classification[lom:purpose[lom:value=\"learning character\"]]/lom:taxonPath/lom:taxon/lom:id");

Информация о работе Разработка системы автоматизации функций формирования SCORM совместимых метаданных для информационных ресурсов