ФОРМИРОВАНИЕ БЛОКА ОРГАНИЗАЦИЙ ОБРАЗОВАТЕЛЬНОГО ПАКЕТА НА ОСНОВЕ СТИЛЕВОЙ РАЗМЕТКИ ДОКУМЕНТА 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)