формирование блока организаций образовательного пакета на

advertisement
ФОРМИРОВАНИЕ БЛОКА ОРГАНИЗАЦИЙ ОБРАЗОВАТЕЛЬНОГО
ПАКЕТА НА ОСНОВЕ СТИЛЕВОЙ РАЗМЕТКИ ДОКУМЕНТА
MICROSOFT WORD
Д.А. Кузин
Сургутский государственный университет
В настоящее время в области стандартизации представления информации в
образовательных системах выполнен значительный объем работ. Существует ряд
стандартных спецификаций для представления образовательных объектов. В
сообществе Российского портала открытого образования (РПОО) роль такой
спецификации выполняет «Универсальная модель представления информации в
образовательных системах», в части 3 которой приводится информация о формате
упаковки образовательного пакета.
Общее назначение спецификации – стандартизировать способы обмена
информацией с образовательной информационной системой. В РПОО роль такой
системы выполняет ПО «Виртуальное представительство», которое позволяет
размещать в своей электронной библиотеке ресурсы, имеющие метаописание
(манифест), подготовленное в соответствии с форматом «Универсальной модели» на
языке XML. Сами ресурсы могут являться, например, файлами формата HTML.
Совокупность метаописания и файлов ресурсов и представляет собой образовательный
пакет. Обычно метаописание образовательного пакета состоит из следующих основных
блоков:
 метаданные – общая информация об образовательном ресурсе;
 организации – способы представления структуры образовательного ресурса;
 ресурсы – описание файлов с контентом, входящих в образовательный ресурс
или ссылки на внешние ресурсы.
Примеры составления метаописаний приведены в [1], [2].
Таким образом, при разработке информационного образовательного ресурса
необходимо:
1) подготовить файлы HTML с содержательной частью (контентом);
2) подготовить метаописание на языке XML в соответствии со спецификацией.
Что касается второго пункта, то для его выполнения может быть использована
инструментальная система МЕТА, которая предоставляет удобный графический
интерфейс для заполнения полей метаописания с последующей упаковкой файлов
ресурсов и файла метаописания в zip-архив.
Задача подготовки HTML-контента является более сложной. Несмотря на
большое количество всевозможных визуальных HTML-редакторов, существуют
сложности, которые делают задачу подготовки ресурсов весьма трудоемкой. Для того
чтобы структурировать ресурс в виде иерархической организации «содержание»,
необходимо, чтобы каждый элемент содержания ссылался либо на отдельный HTMLфайл, либо на закладку в соответствующем месте HTML-файла, если он один. В первом
случае при подготовке ресурса приходится разбивать его содержимое на несколько
файлов, что не всегда удобно и не позволяет использовать средства автоматической
нумерации разделов документа и т. д., во втором случае создание закладок и
соответствующих ссылок в блоке организации метаописания потребует кропотливой
ручной работы. В любом случае выполнить такую работу под силу лишь достаточно
квалифицированному специалисту, знакомому с языком HTML.
В этой статье предлагается использовать технологию создания содержательной
структуры документа на основе ее полиграфического представления. В настоящее
время текстовый редактор Microsoft Word известен большинству пользователей и
является стандартным «де-факто». Идея заключается в том, что структура ресурса
может быть задана пользователем при помощи стилевой разметки документа.
Преимуществом такого подхода является то, что пользователь работает с привычным
ему текстовым представлением документа, а не с абстрактной структурой
образовательного пакета, и может использовать все многообразие средств и
инструментов, доступных в текстовом редакторе. Ему необходимо лишь освоить
операции по применению заранее определенных в шаблоне стилей к соответствующим
элементам документа. Так, например, стандартный шаблон документа Word имеет в
своем составе стили для выделения заголовков разных уровней. Достаточно просто
могут быть созданы стили и для других элементов. Проанализировав стилевую
разметку документа, можно сформировать содержание документа. Таким же образом
структура документа может быть занесена в блок организаций метаописания. Блоку
организаций метаописания уделяется здесь большое внимание в силу того, что его
структура и состав непосредственно связаны с содержимым ресурса, который
пользователь создает в текстовом редакторе.
Известно, что редактор Microsoft Word имеет в своем составе средства создания
макрокоманд (макросов), которые представляют собой программы на языке Visual
Basic for Applications (VBA) с возможностью доступа к объектным библиотекам
Windows. Описанная выше задача может быть решена при помощи программы на
языке VBA, которая должна выполнять примерно следующие действия:
1) поиск в документе элементов, имеющих определенный стиль (например, стиль
заголовков 1-го уровня – «Заголовок 1»);
2) формирование закладок (bookmarks) для каждого элемента документа, на
который будет иметься ссылка в блоке организаций метаописания (известно,
что созданные закладки сохраняются и при сохранении документа в HTMLформате);
3) сохранение документа в формате HTML;
4) создание XML-файла будущего метаописания;
5) формирование блока организаций метаописания с указанием ссылок на
созданные ранее закладки;
6) формирование блока ресурсов.
Поскольку блок метаданных не связан непосредственно со структурой ресурса, то
его можно заполнить позднее, например, в среде МЕТА.
Ниже в качестве примера приводится фрагмент программного кода на языке VBA
для выполнения указанных задач. Для работы с XML используется библиотека
Microsoft XML DOM.
' создание XML-документа
Dim xmlDoc As New DOMDocument40
' добавление инструкции
Set
pi
=
xmlDoc.createProcessingInstruction("xml",
"version='1.0'")
xmlDoc.InsertBefore pi, xmlDoc.ChildNodes.Item(0)
' создание корневого элемента манифеста и блока организаций
Set
xmlDoc.documentElement
=
xmlDoc.createElement("manifest")
Set newElem = xmlDoc.createElement("organizations")
xmlDoc.documentElement.appendChild newElem
Set newElem = xmlDoc.createElement("organization")
xmlDoc.documentElement.ChildNodes.Item(0).appendChild
newElem
Set
node
=
xmlDoc.documentElement.ChildNodes.Item(0).ChildNodes.Item(0)
Set newAtt = xmlDoc.createAttribute("identifier")
node.Attributes.setNamedItem newAtt
Set newAtt = xmlDoc.createAttribute("structure")
node.Attributes.setNamedItem newAtt
node.setAttribute "identifier", "123456"
node.setAttribute "structure", "hierarchical"
Set newElem = xmlDoc.createElement("title")
newElem.Text = "Содержание"
node.appendChild newElem
' добавление закладок с именами bm1, bm2 и т. д. ко всем
элементам стиля Заголовок1
n = 0
ActiveDocument.Range.Select
Selection.find.ClearFormatting
Selection.find.Style = ActiveDocument.Styles("Заголовок
1")
' если стиль Заголовок 1 найден
While Selection.find.Execute = True
' создание закладки
ActiveDocument.Bookmarks.Add
Name:="bm"
&
n,
Range:=Selection.Range
' создание элемента организации
Set newElem = xmlDoc.createElement("item")
node.appendChild newElem
' создание идентификатора элемента организации
Set newAtt = xmlDoc.createAttribute("identifier")
node.ChildNodes.Item(n * 2 + 1).Attributes.setNamedItem
newAtt
node.ChildNodes.Item(n
*
2
+
1).setAttribute
"identifier", "item" & n
' создание ссылки элемента организации
Set newAtt = xmlDoc.createAttribute("identifierref")
node.ChildNodes.Item(n * 2 + 1).Attributes.setNamedItem
newAtt
node.ChildNodes.Item(n * 2 + 1).setAttribute
"identifierref", "MyResource#bm" & n
' создание заголовка элемента организации
Set newElem = xmlDoc.createElement("title")
newElem.Text = Selection.Range.Text
node.appendChild newElem
n = n + 1
Wend
' Вывод на экран и сохранение XML-документа
MsgBox xmlDoc.XML
xmlDoc.Save ("imsmanifest1.xml")
Выполнение данного кода в документе, содержащем элементы со стилем
«Заголовок 1», приведет к формированию следующего XML-документа:
<?xml version="1.0"?>
<manifest>
<organizations>
<organization identifier="123456"
structure="hierarchical">
<title>Содержание</title>
<item identifier="item0" identifierref="MyResource0"/>
<title>Глава 1</title>
<item identifier="item1" identifierref="MyResource1"/>
<title>Глава 2</title>
<item identifier="item2" identifierref="MyResource2"/>
<title>Глава 3</title>
</organization>
</organizations>
</manifest>
Приведенный пример не претендует на полноту. Так, например, в нем не показано
формирование блока ресурсов метаописания. Однако пример показывает практическую
возможность создания полнофункциональной инструментальной системы для
разработки и описания образовательных ресурсов на базе тестового редактора MS
Word.
___________________
1. Универсальная модель представления информации в образовательных
системах. Части 1- 3. (электронное издание) (http://www.openet.ru)
2. Открытое образование: стандартизация описания информационных ресурсов –
Лобачев С.Л. – (электронное издание) (http://www.openet.ru)
Download