
У каждого учебного заведения существует необходимость в составлении учебных планов: в этих документах отражаются цели обучения, объем усваиваемых знаний, методология и задания, которые получают учащиеся в течение учебного семестра. Составляя подобные документы, необходимо удостовериться в том, что каждый из учащихся получает точную и ясную информацию, в особенности, если она касается административных процедур, сроков сдачи экзаменов и т.п. Когда я работал преподавателем в университете, у моих студентов шести разных потоков должна была иметься одинаковая информация о преподавателе, предъявляемых им требованиях и системе оценки результатов. Мне без конца приходилось копировать и вставлять части документов в текстовом редакторе. Зная о том, как легко неправильно вырезать или вставить часть документа по ошибке, я никогда не был уверен в том, что все мои учебные планы содержали всю необходимую информацию, а мои студенты часто жаловались, что они получали устаревшие данные.
Тогда я попробовал конвертировать мой учебный план в формат XML и создать простую систему с единым исходным кодом. Такая система позволила мне легко разделять в документе учебную и административную информацию. Число жалоб от студентов сократилось, а работа с документами стала занимать меньше времени. В этой статье мне хотелось бы поделиться свои методом составления и управления учебными планами, написанными в едином исходном коде. Несмотря на то, что XML совсем несложно освоить, мне бы хотелось больше сконцентрировать внимание не на технике работы с этим языком, а на том, как лучше применять его в работе с учебными планами. Для работы со статьей вам потребуется: браузер MS Internet Explorer (версии 7 или выше); текстовый редактор; базовое знание XML, XSLT, HTML и CSS. При работе со статьей используйте также материалы скачиваемого файла xmledsystem-rus.zip.

Society for Technical Communication (Ассоциация технической коммуникации) определяет единый исходный код как «использование единого текстового кода с целью создания на выходе различных видов документов; процесс создания различных документов на основе текстовой базы данных» (Williams 2003, 321). Ключевой характеристикой документов на основе единого кода является возможность их «многократного использования». Это означает, что, создав и сохранив документ единожды, мы можем при необходимости экспортировать его содержание в различные виды контекстов, интерфейсов и форматов.
Создание «многоразового» контента требует отказа от традиционной линейной или иерархической процедуры написания текстового документа. В процессе написания документа обычным способом, вы движетесь по странице сверху вниз. В случае применения единого кода, используются модули, представляющие собой структуру вложенных элементов. Построение документа происходит как бы "изнутри", путем движения от младших элементов иерархии к старшим.
Должное применение единого исходного кода требует тщательного планирования на ранних стадиях. Как правило, на этапе планирования необходимо привлекать специалистов с навыками технического письма, программирования и юзабилити (анализа системы на пригодность к использованию). В нашем упрощенном случае, построение системы с единым исходным кодом будет включать в себя: ревизию контента (содержания документов); создание контент-модулей; построение структурированной системы модулей.

Ревизия контента - это инвентаризация находящихся в наличие материалов и определение процедур дальнейшего производства документов (Rockley 2003, 104-107). Для иллюстрации этого процесса воспользуемся двумя из шести учебных планов, приведенных в качестве примеров для анализа (доступ "syllabus130r.docx" и "syllabus320r.docx" из xmledsystem-rus.zip).
Обратите внимание, что описания курсов (О курсе, Необходимые материалы), задания (отчеты, экзамены, проекты), расписания и некоторые требования являются уникальными для каждого курса в отдельности. Применяя слово «уникальный», я имею в виду, что содержание текста будет касаться исключительно одного из курсов. Наоборот, текст, содержащийся сразу же под заголовком «Задачи курса» одинаков для всех документов, так же, как и текст раздела «Посещаемость, участие и другие требования». Поэтому мы будем называть эти контент-модули «общими».
Карта повторного использования может быть удобным инструментов для концептуализации использования уникального и общего контента. Такая карта представляет собой таблицу, дающую быстрое представление об использовании уникальной и общей информации. В книге Энн Рокли Управление контентом компании (Ann Rockley - Managing Enterprise Content (2003)) можно найти ряд примеров более сложных карт повторного использования, написанных для внутренних корпоративных систем. Карты, с которыми будем работать мы, намного меньше. Однако даже самая простая карта должна давать представление о том, в каких частях документа находится контент. Пусть клетки с буквами «U» обозначают уникальный контент, не повторяющийся в учебных планах разных курсов. Клетки с буквами «S» обозначают общий (shared) контент.
Представленная карта отображает части текста, которые являются общими или уникальными для каждого из двух учебных планов. По ней можно судить, что мы должны обратить внимания на два участка документов с общим содержанием. Остальная информация программ будет индивидуальна для каждого из отдельных курсов. Имейте в виду, что сокращенные учебные планы рассматриваются нами исключительно в качестве примера. В реальности, учебные планы, как правило, содержат намного большее количество разделов с общим контентом.
Имея под рукой карту повторного использования, мы можем приступить к модуляризации содержания документов. Разделяя документ на модули, нужно постоянно принимать во внимание стилистику документа. Учебный план, как правило, имеет следующую структуру и последовательность разделов:
В нашем случае, в качестве наименьшего используемого модуля мы будем принимать абзац внутри раздела. Тем не менее, для других случаев вы можете выбрать более мелкие модули (например, предложения или даже отдельные слова). Поскольку раздел «Правила» обеих программ содержит смесь уникального и общего контента, его мы рассмотрим в качестве примера. Разбивая на модули раздел «Требования» обоих программ, мы будем использовать следующий сценарий:
|
|
|
|---|---|
|
КУРС 130 - Создание и анализ пользовательского интерфейса: Правила |
КУРС 320 XML и единый исходный код: Правила |
|
Посещаемость, участие и другие требования. (Представленные ниже требования действительны для всех курсов). Поскольку речь идет о программе удаленного обучения, ответственность за обучение лежит на самих студентах. В течение семестра у вас будет возможность взаимодействия с другими студентами и преподавателем посредством форумов и других инструментов, доступных через интерфейс e-Сollege. Мы настоятельно рекомендуем Вам пользоваться возможностями взаимного общения. Общение в форумах предполагает соблюдение правил вежливости и этикета. |
|
|
Техническая поддержка (Представленная ниже информация касается только этого курса). Для этого курса вы можете использовать любые аппаратные средства и любое программное обеспечение. Однако мы не располагаем ресурсами технической поддержки компьютеров или используемого ПО. Поскольку мы не имеем возможности знать все особенности используемых компьютеров, на студентах лежит ответственность за корректную конфигурацию системы. Если у вас возникли технические вопросы во время работы в лаборатории на территории кампуса, обратитесь к службе IT или администратору лаборатории, в которой вы работаете. По техническим вопросам работы с сайтом CU-Online/Blackboard связывайтесь со службой поддержки. |
|
|
Оценка проектов (Представленная ниже информация касается только этого курса). Любой проект, за исключением тестов, экзаменов и презентаций, может получить оценку в виде части зачета. «В+» является наиболее высокой оценкой, которую может получить проект. Поэтому, если вы получаете за проект «А-», это отразится негативно на общей оценке, если до этого вы получили наиболее высокий балл. |
|
Для рассматриваемых примеров мы создали рубрикатор структуры модулей, в котором было обозначено, какие части документа являются уникальными для каждого курса, и какие части документа используются в обоих из них.
Если вы не успели сделать этого заранее, загрузите файл xmledsystem-rus.zip и распакуйте его в одну из папок на своем компьютере. Откройте файл callpolicies.xml при помощи Internet Explorer 7, чтобы получить представление о том, как функционирует система. На экране вы должны увидеть следующее изображение:
Теперь откройте файл callpolicies130.xml при помощи текстового редактора. XML-разметка раздела «Правила» учебного плана "Дизайн пользовательского интерфейса" будет выглядеть следующим образом:
На этом этапе не будем останавливаться на коде XSLT и перейдем к анализу структуры документа. Обратите ваше внимание на узел <policies> Вы заметите, что внутри узла помещены две <contents> области. Первый узел <contents> содержит правила, относящиеся к обоим курсам. Этот документ записан в виде внешнего объекта, связанного с файлом courses.dtd:
Сохранение общего контента в виде внешних объектов позволяет ему быть загруженным при помощи XML в другие документы. Ссылку на тот же объект можно найти и в файле callpolicies320.xml:
Файл sharedpolicies.xml выглядит так:
<h2>Посещаемость, участие и другие требования</h2>
<p>(Представленные ниже требования действительны для всех курсов). Поскольку речь идет о программе удаленного обучения, ответственность за обучение лежит на самих студентах. В течение семестра у вас будет возможность взаимодействия с другими студентами и преподавателем посредством форумов и других инструментов, доступных через интерфейс e-Сollege. Мы настоятельно рекомендуем Вам пользоваться возможностями взаимного общения. Общение в форумах предполагает соблюдение правил вежливости и этикета. </p>
Включение ссылки на внешний объект в модуль файла sharedpolicies.xml позволяет отобразить раздел о правилах посещаемости во всех планах обучения, содержащих соответствующую ссылку. Благодаря этому, у нас отпадает необходимость вырезать и вставлять куски текста из одного документа в другой: наличие ссылки на объект превращает эти модули в "многоразовые". Если же правила посещаемости изменятся, нам будет необходимо внести соответствующие корректировки только внутри этого модуля, и тогда они отразятся в учебных планах всех курсов.
Попробуйте внести эти изменения самостоятельно. Обратитесь к разделу о текущих правилах в учебном плане «Дизайн пользовательского интерфейса», который должен выглядеть следующим образом:
Представьте, что ваше учебное заведение приняло новое правило, разрешающее студентам приводить на занятия собак. Вставьте в файл sharedpolicies.xml следующую фразу:
<h2>Собаки в аудиториях</h2>
<p>Принимая во внимание пользу, которые животные могут приносить учащимся, студентам разрешается приводить собак на аудиторные занятия.</p>
Сохраните файл sharedpolicies.xml и перезагрузите страницу «Правила» учебного плана «Дизайн пользовательского интерфейса». Вы должны увидеть следующее:
Теперь добавьте страницу «Правила» в XML и единый исходный код. Вы заметите, что без совершения каких-либо дополнительных действий те же самые изменения отразятся сразу же в остальных 320-ти учебных планах:
Использования внешних объектов DTD – еще одна из техник XML для управления повторно используемым контентом. (Альтернативным способом является использование функций document() в XSLT и схемах). Обратите также внимание на использование основных тэгов HTML в файле sharedpolicies.xml. При использовании небольшого набора тэгов, система может быть распространена даже среди членов преподавательского состава, не владеющих навыками XML. Инструктору могут быть даны указания по применению небольшого числа тэгов, с целью расширения аудитории пользователей системы.
Документ содержит также еще несколько модулей повторно используемого текста, о которых мы не говорили ранее: ссылки на файлы head130.xml и head320.xml. Эти файлы XML позволяют определять содержание раздела html <HEAD> и панели ссылок (linkbar), повторно используемых на каждой странице учебного плана. Так выглядит файл Head130.xml:
<headsection>
<title>130 - Создание и анализ пользовательского интерфейса</title>
</headsection>
- <aboutlink>callabout130.xml</aboutlink>
- <assignmentslink>callassignments130.xml</assignmentslink>
- <policieslink>callpolicies130.xml</policieslink>
- <schedulelink>callschedule130.xml</schedulelink>
- <othercourse>
- <title>320 - XML и единый исходный код</title>
- <link>callabout320.xml</link>
- </othercourse>
Одной из ключевых и зачастую недооцененных составляющих методологии повторного использования контента является разработка логичной структуры файла. Структура файла будет определять взаимосвязи между повторно используемыми и уникальными контент-модулями каждого отдельного курса. Рассматриваемая нами часть системы имеет следующую структуру файла:
Документы обрабатываются встроенным в Internet Explorer 7 XSLT процессором, т.е. при помощи клиентского приложения. Внимательно проверьте содержание файлов XSLT на наличие особых настроек шаблона. Данная версия трансформирует код XSLT в HTML. Общая таблица стилей применяется к этому учебному плану. Обратите внимание, что система повторно использует код XSLT способом, схожим с использованием кода XML. Структура файла компонентов XSLT приведена ниже:
Обладая базовыми знаниями XML и небольшим терпением, вы сможете сами создавать удобные в использовании модульные системы управления учебными планами. Если же вы просто захотите изменить по своему усмотрению содержимое файла xmledsystem-rus.zip, не забудьте сохранить внутри документов все авторские атрибуты и ссылку на мой сайт.